目的
- コンテナ技術というものについて学習する
- コンテナ関連のAWSサービスについて学ぶ
- コースで学んだ内容を本ブログにて、箇条書きで残しておくこと
本題
コンテナとは?
-
アプリケーションとその実行環境を1つにまとめあげる技術のこと
-
レガシーアプリケーションの課題を解決することができる
・長いリリースサイクル
・運用上の問題
・繰り返し発生するバグ -
マイクロサービスを使用してアプリケーションをコンポーネント(部品)化する
マイクロサービスとは
- 各機能を独立させることで、継続的インテグレーションと継続的デプロイ(CI/CD)を容易にする思想
マイクロサービスの課題
- 個別のサービスとAPIの数が増えることで、管理/監視が複雑になる
- 企業レベルが提供するサービスとなると、運用の変更に大幅な時間あかかる
コンテナオーケストレーションとは
- アプリケーションを大規模に展開できるように、コンテナネットワークと管理を自動化するプロセス
AWSコンテナサービス環境
オーケストレーション
- ECS、EKS
コンピューティング
- EC2、Fargate
イメージレジストリ
- ECR
ECSのユースケース
- AWSだけを便利に使いたい
- 運用しやすいコンテナ技術を使いたい
EKSのユースケース
- k8sに関する知見がある
- オープンソースソフトウェアを好むAWSのお客様に最適
感想
-
必ずしもマイクロサービスが良いとは言えない点に驚いた。(モノシリックサービスは無くなるべくだと思い込んでいた…)
-
便利な技術ではあるが、既存のモノシリックシステムに採用するとなると、一筋縄では行かないんだなとしみじみと思いました。