AWSは、昨年11月のre:Invent 2021でAWS Migration Hub Refactor Spacesのプレビュー版を初導入した。AWS Migration Hubの新機能である。現在、当パブリッククラウドプロバイダーは、Migration Hub機能の一般提供を発表した。
AWS Migration Hub Refactor Spacesは、AWSのマイクロサービスへの増分アプリケーションリファクタリングの出発点である。これは、段階的なリファクタリングのためにAWSインフラストラクチャを構築、運用する際の分化されていない重労働を減らす役に立つ。
アプリケーションをマイクロサービスに進化させたり、マイクロサービスで記述された新機能を使って既存のアプリケーションを拡張したりする場合、開発者はRefactor Spacesを使うことができる。これにより、リファクタリングがシンプルになる。
• リファクタリング環境のセットアップにかかる時間を短縮する。
• モノリスのリファクタリングの複雑さを軽減する。そのために、新たなマイクロサービスとして機能を抽出することを繰り返し、トラフィックを古いものから新しいものに再ルーティングする(Strangler Figパターンを使用)。
• 柔軟なルーティング制御、分離、集中管理により、既存のアプリとマイクロサービスの管理を単一のアプリケーションとしてシンプルにする。
• 開発チームがテクノロジーとデプロイメントの独立性を実現し、加速するのを支援する。そのためにアプリの変更中の開発、管理、運用をシンプルにする。
出典: https://aws.amazon.com/migration-hub/features/?nc=sn&loc=2#Incremental_app_refactoring
Amazonウェブサービスの主任開発者のSébastien Stormacq氏は、ニュースブログの投稿でRefactor Spacesがどのように役立つかを述べている。
AWS Migration Hub Refactor Spacesは、私にとって手間のかかる作業をしてくれます。まず、ネットワークインフラストラクチャを構築して、複数のAWSアカウント間で接続できるようにします。次に、API呼び出しをレガシーアプリケーションからルーティングするメカニズムを作成、管理します。
AWS Transit Gateway、AWS Resource Access Manager、仮想プライベートクラウドのオーケストレーションを行うことで、Refactor Spaces環境により、クロスアカウントネットワーキング(VPC)がシンプルになる。AWSアカウントを接続して、個別のAWSアカウントの独立性を維持しながら、古いサービスと新しいサービスが通信できるようにする。
さらに、Refactor Spacesは、インクリメンタルリファクタリングのためにStrangler Figパターンをシミュレートする。Refactor Spacesアプリケーションは、Amazon API Gateway、Network Load Balancer、リソースベースのAWS Identity and Access Management(IAM)ポリシーを調整し、開発者が外部のHTTPエンドポイントに目に見えない形で新しいサービスを追加できるようにする。また、トラフィックを新しいサービスに段階的にルーティングできる。これにより、基盤となるアーキテクチャの変更がアプリケーションのユーザの目に触れないようにできる。
現在、AWS Migration Hub Refactor Spacesは、10のAWSリージョン(米国東部[北バージニア]、米国西部[オレゴン]、米国東部[オハイオ]、アジア太平洋[シンガポール]、アジア太平洋[シドニー]、アジア太平洋[東京]に存在する。ヨーロッパ[アイルランド]、ヨーロッパ[フランクフルト]、ヨーロッパ[ロンドン]、ヨーロッパ[ストックホルム])などで間もなく登場する。そして、顧客は、リファクタリング環境の実行時間、Refactor SpacesへのAPIリクエスト、プロビジョニングされたリソースに関連するコストに基づいて課金される。価格詳細については、価格ページをご覧ください。