はじめに

完了

Azure Pipelines を使用して Docker コンテナーのデプロイを自動化する」で説明されている手順に従うことで、ASP.NET Core アプリケーションを Docker コンテナーとしてビルドして発行するようにリリース パイプラインを拡張し、それを Azure App Service にデプロイできました。 このコンテナーベースのプロジェクトへの移行は、製品チームに多くの利点をもたらしました。 さらに、コンテナー テクノロジの導入により、将来のさまざまな革新的な機会が開かれる可能性を秘めています。

開発組織の規模が拡大するにつれて、組織が提供するソリューションの複雑さも増します。 さまざまな製品やサービスの相互依存の度合いが増すにつれて、特定のアプリケーション内のさまざまなコンポーネントに対して異なる開発と運用の要件が発生します。 アーキテクチャの効率を高める方法の 1 つは、これらのコンポーネントを個別のマイクロサービスにリファクタリングすることです。

マイクロサービスは、自己完結し、特定のビジネス機能を満たすように設計された、独立した小さなサービスです。 コンテナーにより、これらのサービスをビルドしてデプロイするための優れた技術的基盤が提供されますが、使用中のこれらすべてのコンテナーをどのように管理するかという新たな疑問が生じます。

ここで、Kubernetes などのオーケストレーション テクノロジが役立ちます。 Kubernetes は、コンテナー化されたワークロードとサービスを管理するように設計されたプラットフォームです。 これは、さまざまな環境にデプロイ、統合、監視する必要があるコンテナーの数が増えている組織にとって優れた選択肢です。

このモジュールでは、あなたは Tailspin Toys の Web チームに参加して、Azure で Kubernetes を使用する 1 つの方法を調べます。 複数の Docker コンテナーをビルドして発行し、Kubernetes クラスターにデプロイするように、リリース パイプラインを更新する方法を学習します。

このモジュールでは、コンテナー アプリをビルドおよびデプロイするために必要な主要なタスクについて取り上げますが、Azure Pipelines の他のすべての機能も Kubernetes へのコンテナーのデプロイに利用できることを理解しておくことが重要です。 自分の既存のアプリケーションの場合と同様に、テストを統合し、複数のステージを定義し、その他のタスクを実行できます。 ここでは、主要なタスクに集中するために、これらのタスクを省略します。

学習の目的

このモジュールを終了すると、次のことができるようになります。

  • Kubernetes のベネフィットと、どのようなときにそれを使用するかを説明する。
  • Kubernetes クラスターをサポートする Azure リソースを作成する。
  • 複数の Docker コンテナーをビルドして発行し、Kubernetes クラスターにデプロイするように、基本的なリリース パイプラインを更新する。
  • プロジェクトのビルドやデプロイを監視する。

前提条件

このラーニング パスのモジュールは段階的なプロセスになっています。 このシリーズを最初から順を追って進めるには、まず「Azure DevOps の概要」と「Azure DevOps でアプリケーションをビルドする」の学習パスを完了してください。

このラーニング パスを最初から進めるには、「Azure DevOps でアプリケーションをデプロイする」のリンクに移動します。 このモジュールは、「Azure Pipelines を使用して Docker コンテナーのデプロイを自動化する」が終わったところから始まります。

また、このモジュールは、Kubernetes に関する基本的な知識があることを前提としていますが、完了するためにその知識は必要ありません。 このトピックに初めて触れる場合は、最初に「Azure でコンテナーを管理する」のラーニング パスを完了することをお勧めします。

Note

Azure Pipelines では、さまざまな言語とアプリケーションの種類がサポートされています。 このモジュールでは、.NET アプリケーションを使用しますが、ここで学習したパターンを、お気に入りのプログラミング言語とフレームワークを使用する独自のプロジェクトに適用できます。

チーム紹介

前のモジュールで、Tailspin Toys の Space Game Web チームに会いました。 ここでも、このモジュールであなたと協力するために Space Game Web チームが登場します。

Cartoon depiction of Andy.

Andy は開発リーダーです。

Cartoon depiction of Amita.

Amita は QA 担当です。

Cartoon depiction of Tim.

Tim は運用担当です。

Cartoon depiction of Mara.

Mara は加わったばかりの開発者であり、Andy の部下です。

Mara には DevOps の使用経験があります。 彼女は、Azure DevOps を使用するより自動化されたプロセスをチームが採用するのを支援しています。