【Azure 基礎用語解説】「Azureコンピューティングサービス」
2015.11.05
Azureコンピューティングサービス
Azureコンピューティングサービスとは、Azureを構成する3つの基本コンポーネント(「ファブリック」「ストレージ」「コンピューティング」)の1つであり、Azureのアプリケーションの実行環境――すなわち、サーバー機能を提供するサービスのことです。
Azureでは、複数のハードウェアの上で実行されている仮想環境を統合して一つのリソースプールとして扱っています。
このリソースプールを制御しているのが「ファブリックコントローラ」です。コンピューティングサービスは、このファブリックコントローラがユーザーの要求に従って自動的にリソースを割り当てたものであり、実際にアプリケーションが稼働する仮想サーバーを「インスタンス」と呼びます。
インスタンスの数やサイズ(CPU数、メモリ容量、ストレージ容量)は、柔軟に拡大/縮小することが可能です。具体的には、複数のインスタンスを稼働させるとロードバランサーが自動的に負荷分散する仕組みになっており、負荷に応じてインスタンス数を自動的に増減する自動スケール機能も備えています。
また、Azureコンピューティングサービスには、アプリケーションを実行するための3つのホスティングモデルが用意されています。以下、それぞれのホスティングモデルについての概要を紹介します。
①仮想マシン(Virtual Machines)
「仮想マシン」は、Azure上でWindows ServerやLinuxの仮想マシンを利用するためのホスティングモデルで、いわゆるIaaS(Infrastructure as a Service)のサービスです。オンプレミス環境と同じように、仮想マシン上のOSにミドルウェアやアプリケーションをインストールして利用できる最も自由度の高いサービスです。
仮想マシンでは、利用可能なOSが「イメージ」として提供されています。イメージにはWindows Serverはもちろん、各種Linuxディストリビューションがラインアップされており、マイクロソフトの「SQL Server」やオラクルの「Oracle Database」といったミドルウェアを含むイメージも選択することも可能です。
②App Service
「App Service」は、PaaS(Platform as a Service)に類するサービスであり、Webアプリケーションやモバイルアプリケーションに適したホスティングモデルの総称です。仮想マシンを作成して管理するには特別なスキルと労力が必要になりますが、App Serviceでは仮想マシンを完全にコントロールする必要はありません。
App Serviceは、「Web Apps」、「Mobile Apps」、「API Apps」、「Logic Apps」の4つのタイプで構成されています。
このうちWeb Appsは、Webサイトの構築・展開・管理を効率化(あるいはスピードアップ)できるサービスです。ユーザーは「.NET」、「Java」、「PHP」、「NodeJS」、「Python」などの中から、好みの開発言語・開発環境を使用してWebアプリケーションを作成することが可能です。
また、Mobile Appsは、iOS、Android、Windowsに対応したモバイルアプリケーションに対してバックエンドサーバー機能を提供します。ここで提供される機能には、複数のデバイスに対してサーバー側からプッシュ通知する機能やソーシャルメディア(Facebook、Twitter、Google)と統合できるシングルサインオン機能などが含まれています。
③Cloud Services
「Cloud Services」は、上述した仮想マシンとApp Serviceの中間に位置するPaaSです。App Serviceと同じく拡張性の高いWebアプリケーションが開発・実行できるだけでなく、サーバーに対するリモートアクセスや起動時に実行するスタートアップタスクの構成・設定など、App Serviceよりもサーバーを細かく制御することが可能です。
photo:Thinkstock / Getty Images