この一連のチュートリアルは、Kubernetes と Google Kubernetes Engine(GKE)を初めて使用するデベロッパーを対象としています。このシリーズでは、モノリシック アプリのサンプルである Cymbal Books を、GKE クラスタで実行されるモジュラー化されたコンテナ化アプリに変換する方法を学習します。
このチュートリアル シリーズを開始する前に、Python プログラミングとウェブ アプリケーション開発の経験があると役に立ちます。すべてのコードが提供されているため、自分でコードを記述する必要はありませんが、基本的な Python コードを読み取って理解できると、理解が深まります。また、コマンドラインを使用してコマンドを実行することに慣れている必要があります。Google Cloud、コンテナ化、Kubernetes を初めて使用する場合でも、ご安心ください。こうしたコンセプトはこのシリーズで説明します。
費用
このチュートリアルでは費用は発生しません。ただし、このシリーズの最後のチュートリアルの手順に沿って操作すると、Google Cloud アカウントに料金が発生します。費用が発生するのは、GKE を有効にして Cymbal Books アプリを GKE クラスタにデプロイしたときです。これらの費用には、料金ページで説明されている GKE のクラスタごとの料金と、Compute Engine VM の実行料金が含まれます。
不要な料金が発生しないように、このチュートリアルの完了後に GKE を無効にするか、プロジェクトを削除してください。
アプリをコンテナ化する理由
アプリをコンテナ化する理由について疑問に思われるかもしれません。コンテナ化されたアプリのメリットは次のとおりです。
- 分離: 各コンポーネントは独自のコンテナで独立して実行されます。1 つのコンポーネントの変更や更新が、アプリの他の部分に影響を与えることはありません。
- 拡張性: 需要に応じて個々のコンポーネントをスケーリングできます。アプリの一部で負荷が高い場合は、その部分のみをスケーリングできます。アプリ全体をスケーリングする必要はありません。
- 障害の分離: 1 つのコンポーネントの問題は封じ込められ、他のコンポーネントには影響しません。この分離により、システムの他の部分に影響を与えることなく、問題をデバッグして解決しやすくなります。
- 開発とデプロイの高速化: チームはアプリのさまざまなコンポーネントを同時に作業できます。個別に開発、テスト、デプロイできるため、開発サイクルを短縮できます。
- 効率的なリソース: コンテナはリソース使用量を最適化するため、アプリの実行コストを削減できます。
- 環境間の整合性: 各コンテナは、開発環境、テスト環境、本番環境などのさまざまな環境で同じように実行されます。
このシリーズのチュートリアル
このシリーズは、次の 5 つのチュートリアルで構成されています。
各チュートリアルは前のチュートリアルをベースにしており、アプリのモジュラー化、コンテナ化、デプロイに関する主要なコンセプトとベスト プラクティスを理解するのに役立ちます。このシリーズの最後まで学習すると、GKE で実行されるアプリが完成し、モジュラー化、コンテナ化、Kubernetes の基本をしっかりと理解できるようになります。
始める前に、モノリスを理解するをご覧ください。