ホワイトペーパー : モノリスからマイクロサービスへの移行
Google Cloud Japan Team
Google はこのほど、アプリケーションの移行に関するホワイトペーパー シリーズの第 2 弾として、『Taking the Cloud-Native Approach with Microservices』(マイクロサービスによるクラウド ネイティブなアプローチ)を公開しました。今回は、“lift-and-shift” から “move-and-improve” へと 1 段ギアを上げます。初回のホワイトペーパーをまだご覧になっていない方は、こちらの投稿記事をお読みになり、ホワイトペーパーをダウンロードすることをお勧めします。
今回のホワイトペーパーでは、モノリスとマイクロサービスという 2 種類のアプリケーション アーキテクチャを取り上げます。
モノリスには、スケーリングが難しい、問題個所をほかの部分から切り離しにくい、デプロイが煩雑で時間がかかる、特定のテクノロジー スタックに長期間縛られる、などの欠点があります。これに対してマイクロサービスは、明確で狭義の関数と API による小規模なサービスとしてアプリケーションがモジュール化されるため、モノリスよりもアジャイルで、障害に対して弾力的に対応でき、しかもスケーラブルです。
ホワイトペーパーでは一例として、Java と Microsoft .NET の開発コミュニティでよく知られている、電子商取引の PetShop というリファレンス インプリメンテーションを取り上げ、モノリスをマイクロサービスに解体していくプロセスを細かく説明しています。
具体的には、異なる物理ティアにデプロイされるか否かにかかわらず、典型的なウェブ アプリケーションに見られるプレゼンテーション、ビジネス ロジック、データ アクセスの 3 つのレイヤに注目します。
また、実際のユース ケースに基づいたモデリングを推進する DDD(ドメイン駆動設計)の考え方を紹介します。最も単純な形の DDD は、部門かビジネス プロセスのレベルに基づいてビジネス ドメインを機能チャンクに分割し、ビジネス ドメインと問題領域の両方を理解しやすくするとともにアプリケーションで解決しやすい形にします。
ぜひホワイトペーパー(英語)と GitHub リポジトリをダウンロードし、PetShop リファレンス インプリメンテーションの解体方法を学んで、そのマイクロサービス版を作ってみてください。ご自身のモノリスを解体、再構築するための第一歩を踏み出すことができるでしょう。
* この投稿は米国時間 1 月 18 日、Product Marketing Manager である Bryan Nairn によって投稿されたもの(投稿はこちら)の抄訳です。
- By Bryan Nairn, Product Marketing Manager