この記事では「Azureのコンピューティングサービス」についてお話しします。
想定読者や本記事の読み方は以下となります。
取り上げている題材
- Microsoft AzureのAZ-900の試験内容についての解説をしています。
想定読者
- これからAZ-900の試験を受けようとしている方。
- Azureの基礎を学ぼうとしている方。
この記事の読み方
- 赤字のアンダーラインは、AZ-900に合格する上で重要なポイントになるので覚える必要がある内容になります。
- 厳密性に欠ける記載が一部ありますが「まずはイメージして理解する」ことを優先して記載しています。
では、解説をはじめます。
Azureコンピューティングサービス
まずコンピューティングサービスとは、アプリケーションなどのプログラムを処理するのに必要となるコンピュータの機能(処理機能)を提供するサービスのことです。
アプリケーションを動かすためにはサーバが必要になりますよね。コンピューティングサービスとは、このサーバの機能を提供してくれるサービスのことを言います。
Azureの代表的なコンピューティングサービスには次のものがあります。
- 仮想マシン
- 仮想マシンスケールセット
- App Services
- Functions
- コンテナーサービス
仮想マシン
仮想マシンの説明は以下の通りです。
仮想マシン
仮想マシンはVM(Virtual Machine)と略されることもある。
上記の説明と併せて、仮想マシンは「IaaS」のモデルとなる点も覚えておいてください。
IaaSの説明で使用した図を少し掘り下げて、仮想マシンの説明をしていきます。
まず、仮想化とは「1つの物理サーバ上に複数の仮想環境を作ること」を言います。それぞれの仮想環境は論理的に独立していて相互にアクセスすることはできません。また、仮想化を実現するには「専用のソフトウェア=仮想化ソフトウェア」が必要になります。
これらを踏まえて仮想マシンを図示したものが上図になります。つまり、仮想マシンとは「OS(ゲストOS)を実行するための仮想環境」を提供するサービスになります。
またIaaSモデルなので、「ハードウェア~仮想化ソフトウェア」までをクラウド事業者が管理し、「ゲストOSからデータ」までをユーザが管理するという責任分界点になっています。
仮想マシンスケールセット
仮想マシンスケールセットの説明は以下の通りです。
仮想マシンスケールセット
仮想マシンへのアクセスが増えて負荷が高くなった場合は「仮想マシンを増やす」、逆にアクセスが減って負荷が低くなった場合は「仮想マシンを減らす」というように、スケールアウトやスケールインを自動で行ってくれるサービスとなります。
App Service
App Serviceの説明は以下の通りです。
App Service
上記の説明と併せて、App Serviceは「PaaS」のモデルとなる点も覚えておいてください。
ここでもPaaSの説明時の図を使って補足します。
App ServiceはPaaSもでるとなるため、「ハードウェア~ミドルウェア」までをクラウド事業者が管理し、「アプリケーション~データ」までをユーザが管理するという責任分界点になっています。
App Serviceの用途としては、例えば「自分たちが開発したWebアプリケーションを提供したい」という場合、提供したいのはWebアプリケーションだけなのでWebアプリケーションさえ動けば「ハードウェア~ミドルウェア」は極端な話何でもよいということになります。
このようなケースでは、App Serviceを使うことで「アプリケーション開発に集中できる=ハードウェア~ミドルウェアまで用意する手間や時間がかからない」というメリットを受けることができます。
Functions
Functionsの説明は以下の通りです。
Functions
サーバレスのサービスとなる。
App Serviceと同じような考えで、「プログラムだけを動かしたい=ハードウェア~ミドルウェアまでを準備する手間を省きたい」という場合に使用できるのがFunctionsとなります。
また「ハードウェア~ミドルウェア」のようにサーバを構築・管理する必要がない(意識する必要がない)仕組みのことを「サーバレス」と呼びます。
なので、Functionsはサーバレスのサービスとなる点も押さえておいてください。
コンテナーサービス
コンテナサービスも、仮想マシンと同じように仮想環境を提供するサービスとなります。
仮想マシンが「OS(ゲストOS)を実行できる仮想環境」を提供するサービスであるのに対して、コンテナーサービスは「アプリケーションを実行できる仮想環境(コンテナ)」を提供するサービスというイメージになります。
図で表すと次のようになります。
上図の通り、仮想マシンとの違いは「OS(ゲストOS)が存在しない」という点になります。そのためコンテナーサービスは仮想マシンと比べて「動作が軽い(軽量)」という特徴があります。
Azureにおける代表的なコンテナーサービスには次のものがあります。
Azure Container Instance
Azure Kubernates Service
両者ともにコンテナーの実行環境を提供する点は同じですが、Azure Kubernates Serviceは複数サーバにまたがるなど数多くのコンテナーを管理するための機能を提供してくれます。
おわりに
「Azureのコンピューティングサービス」についての解説は以上となります。
多くのサービス名が出てきたので覚えきれない方が多いと思いますが、1つずつでもよいので着実にこなしていきましょう。
本記事を読んでいただきありがとうございました。