Azureのコンテナサービスをより便利に使う管理ツール「AKS(Azure Container Service)」

  • このエントリーをはてなブックマークに追加

Azureのコンテナサービスをより便利に使う管理ツール「AKS」

Azureのコンテナサービスを効率よく利用できる「AKS(Azure Container Service)」

コンテナ型仮想化は、スピーディーに「開発・テスト・運用」のサイクルを回せる開発手法であるDevOpsと、非常に相性のよい技術です。Microsoft Azureでも、もちろんコンテナサービスを活用できますが、その際に省労力で効率よくコンテナサービスを利用するために必要となるのが、コンテナの管理ツールです。

たとえば、コンテナサービスでは、オーケストレーション(システム管理ツール、ミドルウェア、アプリケーションなどを自律的に連携させること)が必要です。Azureでも、そのためのツールを複数用意していますが、無償で利用できるのが「AKS」。これは、デファクトスタンダードとなりつつあるツール「Kubernetes」に特化したサービスです。

コンテナを活用する場合、アプリは複数のコンテナをまたがって動くことが多いもの。その際、複数のホストへのデプロイや、稼働中のアプリの監視などをする必要がありますが、コンテナ型仮想化のデファクトスタンダードであるDockerの実行環境では、ホスト間の連携が難しいのです。

そのようなとき、複数ホストのコンテナのオーケストレーションを実現してくれるのがKubernetesです。特にフェイルオーバーの自己修復機能は「落ちない運用」に大きく寄与してくれることでしょう。

そのほか、稼働中にアプリケーションに新機能を搭載したり、コンテナ化されたアプリケーションを実行中にスケールアップできるなど、さまざまなメリットがあります。Kubernetesに特化したAKSを用いることで、あまりオーケストレーションの知識がなくとも、クラスターの作成や、アプリの開発・デプロイを短時間で速やかに行えるというわけです。

またAzureでは、それ以外のツールも豊富にそろっています。「Draft」「Jenkins」といったツールを活用すれば、既存の便利なサービスのデプロイ、独自アプリのデプロイ、複数コンテナアプリケーションの継続的インテグレーションのセットアップなどを行えます。

Azureがサポートするエンタープライズ的なコンテナサービス

Azureには、構築した環境を、簡単・安全・エンタープライズ的に活用するための技術やサービスもあります。

たとえば「Data Center Operating System(DC/OS)」は、データセンターをあたかも1台のマシンのようにまとめ、その上でコンテナ型仮想化のアプリケーションを運用できる抽象化システムです。

これは、Mesosphere社によってオープンソース化されており、Azureでもサポートされています。AzureでDC/OSを活用することにより、開発者はこれまで以上にサーバー環境の構築時間を減らし、純粋な開発に注力できるようになるでしょう。

また、Dockerが2017年3月に「Docker Enterprise Edition(以下、Docker EE)」というサービスを発表しましたが、その対応プラットフォームにAzureも含まれています。Docker EEでは「Basic」「Standard」「Advanced」と3つのプランを用意し、上位プランではモニタリングやセキュリティに関するサービスを受けられるようになります。

変化の激しいオープンソースソフトウェアの世界で、より開発者やサービス事業者向けの環境を提供してくれるシステムは利用者にとってありがたいものです。

「Mesosphere DC/OS」「Docker Enterprise」をサポートしているAzureなら、エンタープライズ向けのサービスも安心して活用できるでしょう。

AKSに代表される、ニーズに応じたAzureサービス

コンテナ型仮想化は、アプリケーションの開発・移動・実行のためのプラットフォームです。コンテナ型仮想化の活用にあたって大切なことは「コンテナにすることで何をしたいのか」ということです。

Azureには、以下のようなコンテナに関するサービスがそろっており、ニーズに応じた活用が可能です。

AKS
Kubernetes、DC/OS、Dockerを使用してコンテナをスケーリング・調整する

Azure Container Instances
コマンド1つでコンテナを手軽に実行

Azure Container Registry
さまざまなAzureデプロイ間でコンテナイメージの管理が可能

Azure Service Fabric
スケーラブルな分散アプリの構築・運用が可能

Azure App Service
クラウドアプリを素早く作成

Azure Batch
ジョブスケジュール設定とコンピューティング管理が可能

このようにさまざまなサービスを利用できるのはAzureならでは。コンテナ型仮想化を十二分に活用して、開発に注力できる環境を構築してみてはいかがでしょうか。

photo:Thinkstock / Getty Images