支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡


マイクロソフト社が提供するクラウドプラットフォーム「Azure」。 今回はAzureでDockerを利用する場合に考えるべきことや料金についてご紹介いたします。

Azureとは?

Azureとはマイクロソフト社が提供する「クラウドプラットフォーム」のことです。 仮想マシンをクラウド上に作成・利用したり、仮想マシンのOS事態をマイクロソフト社が管理してもらうサービスなどを提供しています。 世界に55もの拠点があり、膨大なサーバが設置されています。また、強力なWANバックボーンを持っているため、国内外を問わず多くの方が利用されています。

また、Azureには大きく分けて2種類のサービスがあります。

Azure IaaS

「Azure IaaS」とは仮想マシンをクラウド上にインターネット経由で作成、利用するサービスです。 「IaaS」とは『Infrastructure as a Service 』の略称になります。 サービスの内容としては、仮想化レイヤーより下のサーバーやストレージ、ネットワークといったインフラストラクチャをマイクロソフト社が管理する機能が含まれています。

Azure PaaS

「Azure PaaS」もAzure Iaasと同様に仮想マシンをクラウド上にインターネット経由で作成、利用するサービスです。 「PaaS」とは『Platform as a Service』の略称になります。 Azure Iaasと異なる点としては、Azure Iaasがインフラストラクチャをマイクロソフト社が管理するのに対し、 Azure PaaSはインフラストラクチャに加え、Webアプリケーション開発のライフサイクルに対応するように、 ミドルウェアや開発ツールビジネスインテリジェンスサービス、データベース管理サービスなどがサービスに加わります。

Dockerとは?

「Docker」とは「コンテナー型仮想技術」とも呼ばれるアプリケーションの構築・展開・実行が可能なオープンプラットフォームのことを指します。PaaSやIaaSに続く新たなクラウド技術であると注目が集まっています。 現在ではCoreOSやRed Hat Enterprise Linux Atomic HostのようにDockerのホスト用OSに特化した軽量OSなども提供され始めています。 コンテナー型仮想技術の特徴は「OSの仮想化」ともいわれる発想の異なる仮想化です。コンテナー型仮想技術ではホストOSの上に同じOS上で動作する独立した区画を作成し、それをユーザーに提供するというつくりになっています。 この区画はまるで独立した専用OS環境であるかのように動作します。 コンテナー型仮想技術のメリットはハードウェア資源を仮想化せずに活用することで、ハードウェア仮想化と比較して高速で動作することです。 複数のOSを動作させたい際には不向きですが、コンテナごとにOSを起動するようなことがないためOS用のディスク領域も不要で、ホストOS以外のOS起動プロセスも必要ありません。

AzureのDoker機能について

AzureでDocker機能を利用したい場合におすすめできるサービスが「Kubernetes」です。Kubernetes は大規模分散開発環境において少人数でコンテナーアプリケーションの管理を目的としたオーケストレーションツールです。 KubernetesはGoolge社で利用されているBorgというクラスター管理システムのアーキテクチャーをもとに開発されました。現在ではLinux Foundationのもとで管理されています。 Kubernetesの主な機能は以下の通りです。

・複数サーバーでのコンテナー管理

・コンテナーのデプロイ

・コンテナー間のネットワーク管理

・コンテナーの負荷分散

・コンテナーの監視

・コンテナーのアップデート

・障害発生時の自動復旧

コンテナーオーケストレーションを利用したい場合ハードウェアやネットワークの知識が必要となります。それだけではなくコンテナーオーケストレーションや管理ツールの使用方法やシステム運用、障害対応などのインフラ技術に関する知識も必要になります。 さらに、大規模なクラスターを管理するためにインフラ全般の知識や運用経験、高度なソフトウェア開発の知識まで必要となってきます。そのためKubernetesを利用する場合には「Azure Kubernetes Service」のようなコンテナーマネージドサービスを利用するといいでしょう。 Azure Kubernetes Serviceはクラウド上にKubernetesのクラスターを作成運用できるサービスであり、ビルドツールやCI/CDパイプラインを作成するサービスやIDEやエディタとの統合など、開発者向けの機能を充実させています。

Azure Dokerの料金について

AzureでDoker機能を利用する場合に発生する料金についてですが、ここでは「Azure Kubernetes Service」を使用することを前提にご紹介いたします。 Azure Kubernetes Serviceの使用料金ですが、以下の内容によって変動します。

ノードのスペック

管理ディスクの種類やサイズ、台数

SLAで保証されている稼働率

利用するサポートの種類(開発者用・Standard・Professional Direct)

プログラムやプラン

まとめ

今回はDockerとは何なのかやAzure利用する場合のサービス、利用時の料金についてご紹介しましたが、いかがでしたでしょうか? Dockerは他のクラウドサービスと比べて少し特殊なつくりをしていますが、うまく利用できれば、限られたリソースを有効に利用できる技術であると感じました。 この記事を読んでくださった方に少しでもAzureやDockerの魅力が伝わったら幸いです。