Author: softcompdev2
-
フロントエンドのリプレース(Vue.jsで実装)
現在のフロントエンドは JavaScript、jQuery とレガシーな技術スタックでコードが書かれています。 そこで、Vue.js を用いてモダンな技術スタックでコードをリプレースします。 開発タスク レビュー機能のフロントエンドをVue.jsで開発 で開発した以下の画面を、Vue.jsで実装してください。 一旦、PHPのコードを置き換えるのではなく、/resources/views/front 配下に vue.js 用の新しいファイルを作成して実装してください。 期待する成果 レビュー機能のフロントエンドが vue.js で書かれていること
-
フロントエンドのリプレース(Vue.js + LaravelでシンプルなSPAを構築)
現在のフロントエンドは JavaScript、jQuery とレガシーな技術スタックでコードが書かれています。 そこで、Vue.js を用いてモダンな技術スタックでコードをリプレースします。 開発タスク Vue.js + LaravelでシンプルなSPAを構築 https://qiita.com/minato-naka/items/2d2def4d66ec88dc3ca2#laravelui%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB を参考に、laravel/ui、laravel/ui vueをインストールして、Vue.js + LaravelでシンプルなSPAを構築してください。 期待する成果 LaravelのプロジェクトにVue.jsをインストールしてSPAが構築できている状態
-
セキュリティテストの実施
品質保証として、セキュリティテストを実施することになりました。Javaのアプリケーションに脆弱性が存在し対策がされているか検証します。 今回、セキュリティ診断ツール「OWASP ZAP(オワスプ・ザップ)」を用いて、Webアプリケーションの脆弱性をチェックします。 タスク内容 OWASP ZAPの導入 OWASP ZAP の導入手順は下記を参照してください。 https://cybersecurity-jp.com/column/67851 https://qiita.com/Pell/items/0c0cd6f013476aecf253 期待される成果 OWASP ZAPの実施レポート(キャプチャでOK)上記、成果物が完成したら、レビュー依頼を行ってください。
-
開発環境構築
ヒント 以下の前提知識が必要となります。わからない技術がある場合、事前に調べてから取り組んでください。 リポジトリの作成 https://github.com/dotlife-dev/lxp-practical-project/tree/main/drone を自身のリポジトリに fork してください。 https://github.com/dotlife-dev/lxp-practical-project/tree/main/drone に対して commit や merge request などは絶対にしないでください。 リポジトリのクーロン $ git clone {{ リポジトリURL }} で自身の環境にリポジトリをクーロンしてください。 ローカル環境 README に記載されている方法でローカル環境を構築してください。 https://github.com/dotlife-dev/lxp-practical-project/blob/main/drone/README.md http://localhost:8080/ をブラウザで立ち上げて、画面が表示されると環境構築完了です。 これから、このJavaのアプリケーションのインフラ構築をおこなっていただきます。
-
デプロイ環境の構築(ECS)
開発タスク 基本編では、AWS App Runner を用いてインフラ環境を構築しました。ここでは、AWSにインフラを構築、AWS Fargate を使用して Amazon ECS に Java マイクロサービスをデプロイしてください。ドローンベンチャー企業の生産部品の在庫管理システムのAWS構成図を示します。 デプロイ手順 https://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/deploy-java-microservices-on-amazon-ecs-using-amazon-ecr-and-aws-fargate.html を参照して、AWSにインフラを構築、AWS Fargate を使用して Amazon ECS に Java マイクロサービスをデプロイしてください。 期待する成果 AWS Fargate を使用して Amazon ECS に Java マイクロサービスがデプロイできていること。
-
インフラ構築手順書の作成
これまで、サーバー、データベース、ネットワークの構築、セキュリティの設定、デプロイ環境の構築、ロギングとモニタリングの設定、インフラコスト管理の設定のタスクを実施していただきました。クライアント企業に納品する設計資料として、インフラ構築手順書を作成してください。 開発タスク インフラ構築手順書 サーバー、データベース、ネットワークの構築、セキュリティの設定、デプロイ環境の構築、ロギングとモニタリングの設定、インフラコスト管理の設定をドキュメントにまとめてください。 期待する成果 インフラ構築手順書上記、成果物が完成したら、レビュー依頼を行ってください。 参考 https://dev.classmethod.jp/articles/non-97-operation-manual/
-
インフラコスト管理の設定
非機能要件に「インフラコストの最適化:インフラのコストを最適化することによりサービスの持続可能性を高めること」とあり、こちらをAWSで実現してください。 開発タスク AWS利用費の監視 サービス運用中、多くのユーザーが利用します。AWSの利用状況を監視するために、AWS Billing and Cost Management を利用します。詳しくはAWS公式ページを参照してください。 https://docs.aws.amazon.com/ja_jp/cost-management/latest/userguide/what-is-costmanagement.html Cost Explorer でレポーティング 「請求とコスト管理」 > 「コスト分析とレポート」 > 「Cost Explorer」でレポートを作成、保存してください。 その際、サービス、リージョンで絞り込んでください。 データは、レポートとしてCSVで出力できます。 予算超過アラート AWSの予算を設定して、予算超過のタイミングで管理者にメールでアラートを通知してください。 「請求とコスト管理」 > 「予算」 でアラートを設定してください。 ※今回は100円など少額にしてください。実務では顧客から予算をヒアリングして設定します。 予算は利用想定ユーザー数などから計算します。 期待する成果 Cost Explorer でコストを監視、顧客からの要望があればレポート・CSVデータで出力できること。 予算超過したら管理者にアラートがメールで通知されること。
-
ロギングとモニタリングの設定
非機能要件に「ログと監査:システムへのアクセス、変更、操作などのアクティビティをログとして記録し、適切に監査可能な形式で保持すること」とあり、こちらをAWSで実現してください。 開発タスク CloudWatch による利用ログの監視 過度な利用やサーバー・データベースの負荷を監視するために CloudWatch でモリタリング、必要に応じてアラートを通知してください。 ECSやAurora/RDSなどのログは、左メニューの「ロググループ」で確認できます。CloudWacth の詳細は下記動画を参照ください。 CloudWatch のダッシュボード作成 CloudWatch でメトリクスの監視ダッシュボードを作成してください。 ダッシュボードの作成方法はAWSの公式ホームページを参照してください。 https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/create_dashboard.html ダッシュボードは、システムリソースメトリクスについてはウィジェットにしてください。 ダッシュボードにあるとよいものは、 次にログに関する情報もダッシュボードに掲載してください。Cloudwatch logsのクエリを使って、例えばエラーログの数を集計できます。 CloudTrail での監査 CloudTrail で特定ユーザーの利用ログをモニタリングしてください。 期待する成果 CloudWatch のダッシュボード画面が制作できていること。 ダッシュボードには、ECRやRDS/Auroraのデータベースのメトリクスが表示されていること。
-
サーバー、データベース、ネットワークの構築、セキュリティの設定
開発タスク 先程、ドローンベンチャー企業の生産部品の在庫管理システムのAWS構成図を示しました。このアーキテクチャに従い、AWSにインフラを構築、AWS Fargate を使用して Amazon ECS に Java マイクロサービスをデプロイしてください。 構築するAWSサービス ※ データベースとして、RDS / Aurora の PostgreSQL を用いますが、今回は運営側ですでに構築したAuroraに利用するため、このタスクで構築する必要はありません。https://github.com/dotlife-dev/lxp-practical-project/blob/main/drone/dev/src/main/resources/application.properties にアクセス情報を記載しています。 構築手順 https://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/deploy-java-microservices-on-amazon-ecs-using-amazon-ecr-and-aws-fargate.html を参照して、AWSにインフラを構築、AWS Fargate を使用して Amazon ECS に Java マイクロサービスをデプロイしてください。 ツール 期待する成果 Java マイクロサービスをデプロイするために、AWS Fargate を使用した Amazon ECS が構築できていること。 VPCなど必要なネットワーク設定ができていること。