(レポート) ARC340: マルチテナントアプリケーションのデプロイモデル #reinvent
マルチテナントのアプリケーションインフラをAWSでいかにして構築するか、というところに興味を持っていたのでセッションを聞きに行ってきました。 スピーカーはMatt Tavis、AWSのPrincipal Solutions Architectです。
スライド
概要
マルチテナントアプリケーションのアーキテクチャを4つに分類していました。
- Retro(The first pattern)
- テナントごとにアプリケーションスタック(EC2,ELB等)を作成する : テナント数だけEC2が必要になる
- 採用するべきタイミング
- パッケージソフト等のブラックボックスソフトウェアを利用する時
- テナントごとにOSの設定などを変更しなければならない時
- 課題
- コスト、リソース管理
- 近代的なクラウドアーキテクチャではない!
- The bridge
- Retroモデルから近代的アーキテクチャへの過渡期
- コンテナ化を進めることで効率的なリソース利用をする
- 採用すべきタイミング
- レトロなアーキテクチャからSOA/microservicesへの転換をする時
- モノリシックなアプリケーションの中に近代的なアーキテクチャを組み込む時 - 課題
- 変更管理を複数のコンテナに行う必要がある
- The pool
- 全てのリソースは同じ扱いをされる。
- シェアードナッシングモデルの採用
- 採用するべきタイミング
- 新しいアプリケーションの開発時は、常に意識すべき
- サービスに対する主導権を握っている時
- 課題
- 状態やデータのlocalityの排除
- デプロイを通じて状態を変化させること
- The Serverless
- イベントドリブンのアーキテクチャ
- 管理対象のサーバを減らし、AWSのマネージドサービスを有効活用する
- 採用するべきタイxxxxミング
- IoT,バッチ処理、モバイルアプリのバックエンド等
- 非同期処理中心のアプリケーション
- 課題
- デバッギング
- 状態遷移の激しいシステムのモニタリング
また、それぞれのシステムの間でのリクエストハンドリングの違いなどの比もありましたが、そちらはスライドに非常に分かりやすくまとまっていましたのでスライドの後半を参考にして頂ければと思います。
まとめ
印象的だったのは、ECSやLambdaといった昨年のre:Inventで新しく発表されたサービスがアーキテクチャにふんだんに盛り込まれている部分です。この1年間の新サービスでAWSのアーキテクチャも新しく生まれ変わっているんだな、ということを改めて実感しました。今から1年後、どんなアーキテクチャがスタンダードになっているか、楽しみですね。