ポイントを速習!「Azureの基礎(AZ900)」をみんなで学ぶ 第7回
コンテナーやサーバーレスも簡単に扱えるクラウドサービスのメリット
「Azure VM」などAzureの幅広いコンピューティングサービスを知る
2020年09月15日 08時00分更新
コンテナー:Azure Container Instances
Azure Container InstancesはAzureで提供されているPaaSサービスの1つで、コンテナーをホストすることができます。コンテナーとは、アプリケーションとその実行環境(ミドルウェア、ライブラリなど)のファイル群をひとまとめにパッケージしたもので、「Docker」などのコンテナーエンジンの上で動作します。
仮想マシンとの大きな違いは、そこに“OS(ゲストOS)が含まれているかどうか”です。下の図のように、仮想マシン(イメージ)にはゲストOSが含まれますが、コンテナーはホストOSを共有して動作する仕組みなのでゲストOSは存在しません。そのため起動や処理が高速で、メモリなどのリソース消費が少なく、イメージファイルも小さいため移動が容易という特徴を持ちます。
さらにゲストOSが存在しないので、仮想マシンのようにゲストOSに更新プログラムを適用するメンテナンス作業も不要です。これに加えて、Azure Container Instancesの場合はホストOSのメンテナンスもAzure側で行ってくれます。そのため、こうしたメンテナンスの手間を省いてアプリ開発やサービス運用に注力することができます。
Webアプリ実行環境:Azure App Service
Azureで提供されているPaaSサービスの1つで、Webアプリケーションをホストすることができます。.NET、.NET Core、Node.js、Java、Python、PHPといった主要な開発言語のランタイム(実行環境)をサポートしており、WebアプリをAzure上で構築する際によく用いられます。本連載でも第2回でご紹介しました。
仮想マシンやコンテナーと違い、Azure App ServiceではミドルウェアやWebサーバーまで、Azureが運用とメンテナンスを行ってくれます。そのため、Webアプリケーションを開発し提供するうえで、インフラ管理にかかる作業負荷を最小限に抑えることができます。
サーバーレス:Azure Functions
Azureで提供されているPaaSサービスの1つで、イベントドリブンなアプリ(Function:関数)をホストすることができます。イベントドリブンとは、たとえば「HTTPリクエストが来た」「所定のストレージにファイルが追加された」「指定時刻になった」といったイベントが起きたときに、あらかじめデプロイしておいたアプリが自動的に動作を開始する仕組みです。
従来ならば、こうした仕組みを作るためには常時サーバーを起動させて、イベントの発生を監視する仕組みから用意しなければなりませんでした。サーバーレスコンピューティングではその必要をなくし、アプリ開発者はトリガーとなるイベント(アプリを自動実行する条件)を指定するだけで済みます。これが「サーバーレス」という名前の由来です。
もちろん、「サーバーレス」と言っても実際にアプリが実行されるのはサーバー上です。ただし、そのサーバーやOS、実行環境などは完全にAzure側で管理されており、大量の処理を行う場合のスケールアウトなども自動的に行わるため、ユーザーはサーバーを意識する必要がありません。また、「アプリの実行時間(秒単位)×メモリ使用量」で利用料金を計算するプランも用意されており、短時間で処理が終了する簡単なアプリをホストする場合にはコストが節約できます。
この連載の記事
-
第13回
TECH
Azureのセキュリティで知っておきたいこと、対策の基礎【後編】 -
第12回
TECH
Azureのセキュリティで知っておきたいこと、対策の基礎【前編】 -
第11回
TECH
Azureの利用コストを管理、予測して支出を最適化する -
第10回
TECH
Azureの基本的なネットワークサービスを理解する【後編】 -
第9回
TECH
Azureの基本的なネットワークサービスを理解する【前編】 -
第8回
TECH
Azureのストレージサービスを理解し「SQL Database」に触れてみる -
第6回
TECH
Azureの主な管理ツールを知り、リソースを管理する【後編】 -
第5回
TECH
Azureの主な管理ツールを知り、リソースを管理する【前編】 -
第4回
TECH
Azureのインフラ構成とサービス可用性を高める仕組み -
第3回
TECH
Azureの代表的なサービスを知る/使ってみる【後編】 - この連載の一覧へ