現在、マイクロサービスは、回復性優れ、単独でのデプロイが可能で、迅速に展開できるスケーラブルなクラウド アプリケーションを構築するための一般的なアーキテクチャ スタイルになっています。 しかし、このマイクロサービスを、単なる業界用語に留めないためには、アプリケーションを設計および構築するのためのさまざまなアプローチが必要です。
この一連の記事では、Azure でマイクロサービス アーキテクチャを構築する方法について説明します。 取り上げるトピックは次のとおりです。
前提条件
これらの記事を読む前に、まず以下をご覧ください。
- マイクロサービス アーキテクチャの概要。 マイクロサービスのメリットと課題のほか、このスタイルのアーキテクチャを使用する場面について確認します。
- ドメイン分析を使用したマイクロサービスのモデル化。 マイクロサービスをモデル化するためのドメイン駆動のアプローチについて学習します。
リファレンス実装
マイクロサービス アーキテクチャのベスト プラクティスを説明するために、ドローン配送アプリケーションというリファレンス実装を作成しました。 この実装は、Azure Kubernetes Service (AKS) を使用して Kubernetes 上で動作します。 リファレンス実装は GitHub にあります。
このアーキテクチャの Visio ファイルをダウンロードします。
シナリオ
Fabrikam, Inc. は、ドローン配送サービスを開始しようとしています。 同社は、ドローン機団を管理しています。 企業がサービスに登録すると、ユーザーは、ドローンで商品を集荷して配送するように依頼できます。 顧客が集荷のスケジュールを設定すると、バックエンド システムによってドローンが割り当てられ、推定配送時刻がユーザーに通知されます。 配送中、ETA は常時更新され、顧客はドローンの場所を追跡できます。
このソリューションは、航空宇宙および航空機業界に最適です。
このシナリオには、かなり複雑なドメインが含まれます。 ビジネスに関する懸念事項には、ドローンのスケジュール設定、荷物の追跡、ユーザー アカウントの管理、履歴データの保存と分析などもあります。 さらに、Fabrikam が求めているのは、迅速に市場に出し、迅速に反復して、新機能を追加することです。 アプリケーションは、高いサービス レベル目標 (SLO) に基づいてクラウド スケールで動作する必要があります。 また、Fabrikam は、システムの部分ごとに、データ ストレージとクエリの要件がまったく異なることを予期しています。 Fabrikam はこれらをすべて考慮した結果、ドローン配送アプリケーションにマイクロサービス アーキテクチャを選択します。
Note
マイクロサービス アーキテクチャと他のアーキテクチャ スタイルのどちらを選択するかについては、「Azure アプリケーション アーキテクチャ ガイド」を参照してください。
このリファレンス実装では、Azure Kubernetes Service (AKS) で Kubernetes を使用しています。 ただし、高いレベルでのアーキテクチャの決定と課題の多くは、すべてのコンテナー オーケストレーターに当てはまります。