- はじめに
本記事では、サーバーレスとは何かということについて説明した後、Azure でサーバーレスを実現するためのサービスとしてAzure Functions と Azure Logic Apps を紹介します。
2. サーバーレスとは
サーバーレスとは「サーバーレスアーキテクチャ」のことで、一定のサーバー容量を設定して運用するのではなく、使用するときに必要なだけのリソースを動的に設定してシステムを構築するテクノロジのことを指します。Webサービスを運用していくには、それらを提供するためのサーバーが必要です。サービスを絶えず提供するためにはサーバーは常に可動しておく必要がありました。また、このサーバーの運用、保守をするためにはある程度のインフラの知識を持った人物が管理を行うことが必要でした。
しかし、サーバーレスではサービスに必要なリソースを稼働時に動的に自動で設定して、運用することができます。これにより開発者はこれまで必要だったサーバーの管理から開放され、よりビジネスロジックに重点をおいた開発ができるようになります。また、サーバーはクラウド上でシステムが稼働した分だけ請求されるため、待機時間が長いシステムでは運用コストを抑えることができます。つまりサーバーレスとは、サーバーが必要なくなるのではなく、サーバーの管理が必要なくなるということを意味しています。
3. Azureでサーバーレスを実現するには
一般的に、サーバーレスを実現するには各クラウドベンダが提供するFaaS(Function as a Servise)と呼ばれるサービスを利用します。AzureではAzure Functions と Azure Logic AppsがFaaSとして提供されています。Azure Functions では、小規模のプログラムを関数として組み合わせてスクリプトを実行することができるサービスです。開発者が記述するのは関数の部分のみであるため、設計やサービスに集中して取り組む事ができます。言語はC#やPythonなど、様々な言語に対応しています。Azure Logic Appsは、「コネクタ」と呼ばれるすでに出来上がった部品を組み合わせることで、コードを書くことなくスクリプトが実行できるサービスです。コネクタは2019年4月時点で190以上存在します。
https://azure.microsoft.com/ja-jp/services/functions/
https://azure.microsoft.com/ja-jp/services/logic-apps/
まとめ
本記事では、サーバーレスについて説明した後、Azureでサーバーレスアーキテクチャを実現できるツールとしてAzure Functions と Azure Logic Appsを紹介しました。