CTC 教育サービス
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes
本コラムでは、Amazon EKSの魅力や機能について数回にわたって紹介します。第1回目では、コンテナとKubernetesを使用するメリットについて触れていきます。
近年、インターネット向けの不特定多数のユーザにサービスを提供するシステムにおける課題解決のため、「マイクロサービス」と「コンテナ」が注目されています。まず、これらについて見ていきましょう。
システムのアプリケーションの作成形態の一つです。従来のモノリシックな形式のようにシステムに必要な機能を一つの大きなアプリケーションに詰め込むのではなく、機能ごとに個別のアプリケーションとして作成することを特徴としています。インターネット向けの不特定多数のユーザにサービスを提供しているシステムでは、マイクロサービス化によりアプリケーションへの機能追加が迅速に行え、競合他社に先んじて機能追加を行うことで利用者を引き付け、売上向上などを実現することが可能となります。
複数のアプリケーションが1つのサーバで動作する場合、それらのアプリケーションは同じライブラリやランタイムを共有することになります。そのため、あるアプリケーションがライブラリやランタイムのバージョンを更新すると、他のアプリケーションの動作に影響が出る可能性があり、アプリケーションの可用性の低下に繋がります。
この課題解決に有用なソリューションとして「アプリケーションのコンテナ化」があります。コンテナはOS上に作成できるアプリケーションの実行環境で、アプリケーションとアプリケーションが必要なライブラリ・ランタイム・ファイルなどを格納し、独立して実行することができます。
コンテナを使用することで、各アプリケーションが使用するライブラリやランタイムを分離することができるため、あるアプリケーションがライブラリやランタイムのバージョンを更新しても、他のアプリケーションの動作に影響を与えることがありません。その結果、アプリケーションの可用性が向上します。
さらに以下のメリットも享受できます。
これらのメリットにより、迅速な機能追加による利用者数の向上やアクセス急増時でもスムーズにスケーリングすることができ、システムの可用性の向上が実現できます。そのため、インターネット向けの不特定多数のユーザに対してサービスを提供するシステムと非常に親和性が高いソリューションとなっています。
コンテナの課題解決において、Kubernetesは重要な役割を果たしています。利用者数が多いシステムのアプリケーションをコンテナ化した場合、以下のような課題が生じます。
Kubernetesを使用すると、複数のサーバをKubernetesクラスタとして抽象化し、クラスタにコンテナを作成することができます。多数のコンテナでも容易に作成することができるだけでなく、コンテナの自動的な死活監視やスケーリングも行えるため、利用者数が多い場合でもシステムの可用性を向上することができます。
Kubernetesがコンテナへのリソースの割り当てやスケジューリング、自動スケーリングを行うさまが、オーケストラの指揮者が演奏者へのパートの割り当てや音楽のダイナミクスに応じての演奏者への音量の指示を行うのと似ているため、「コンテナのオーケストレーションツール」と呼ばれています。
今回はAmazon EKSの前提として把握する必要がある「マイクロサービス」・「アプリケーションのコンテナ化」・「Kubernetes」について触れました。次回はAmazon EKSの概要について紹介します。
Amazon EKSをもっと学ぶ AWS認定トレーニング Running Containers on Amazon Elastic Kubernetes Service (Amazon EKS) Amazon EKS を使用すると、Kubernetes コントロールプレーンをインストール、運用、保守することなく、AWS で Kubernetes を簡単に実行できます。このコースでは、Amazon EKS を使用した Kubernetes のコンテナ管理とオーケストレーションについて学習します。 コースの詳細・開催スケジュール |
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes