デプロイメントの計画
モノリシック・アプリケーションをマイクロサービス・アーキテクチャに変換するには、モノリス・アプリケーションをdockerイメージとしてコンテナ化してから、そのイメージをGitHub、GitLab、Bitbucketなどの任意のソース・コード・リポジトリで使用できるようにします。
- モノリシック・アプリケーションのコンテナを作成します
Bitbucket、GitHub、Gitlabなどのソース・コード・ライブラリにアプリケーションのコードを格納した後、ソース・コードをローカル・マシンにダウンロードします。
ダウンロードが完了したら、Dockerコマンドを発行してDockerイメージを作成します。Dockerイメージが作成されたら、Oracle Cloud Infrastructure Registry (OCIR)にリポジトリを作成し、認証資格証明を使用してDockerプッシュ・コマンドを発行し、イメージをOCIRに格納します。
- コンテナにモノリシック・アプリケーションをデプロイします
Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE)クラスタを作成し、OCIRにプッシュしたDockerイメージをKubernetesクラスタにデプロイします。アプリケーション・ロード・バランサを作成して、トラフィックをポート80にルーティングし、リクエストを分散します。次のアーキテクチャはコンテナ化されていますが、各コンテナにすべてのサービスがあるため、単体です。
- モノリシック・アプリケーションの解消
エンド・ユーザーがリクエストを行い、ロードがロード・バランサによって分散され、それに応じてRESTコールがルーティングされます。次の図では、各サービス・プロセスまたはアプリケーション・プロセスを分離して、各コンテナで独立して実行しています。たとえば、認証サービスは、ユーザー・サービスおよび分析サービスと同様に独自のコンテナで実行されます。これらのサービスは完全に分離されており、現在の要件に基づいて個別に更新または変更できます。
- マイクロサービスのデプロイ
この最後のステップでは、マイクロサービスをデプロイし、アプリケーションのトラフィックをモノリシック・アプリケーション・インスタンスから安全に遷移します。
- マイクロサービスを起動し、それぞれのURLを更新して受信トラフィックを切り替えます。
- ロード・バランサを調整して、トラフィックを更新されたURLにルーティングします。
- 最後に、モノリシック・アプリケーション・インスタンスを停止します。受信するトラフィックとリクエストを監視および監視し、アプリケーションが新しい環境で正常に動作していることを確認します。