サーバーレス コンピューティング

インフラストラクチャを心配せずに、より早くアプリを作成

サーバーレス コンピューティングの約束

サーバーを管理する時間がゼロで、すべての時間をアプリの作成とデプロイに費やすことができたときのことを想像してみてください。 サーバーレス コンピューティングがそれを実現します。アプリの実行とスケールのために必要なインフラストラクチャを、お客様の代わりにサーバーレス コンピューティングが管理するためです。ビジネス目標に注力してください。インフラストラクチャの管理に必要となるリソースを、アプリを革新していち早く市場に送り出すことに振り分けてください。

サーバーレス コンピューティングとは

サーバーレス コンピューティングは、サーバー、インフラストラクチャ、オペレーティング システムを抽象化したものです。サーバーレス アプリを作成するときに、サーバーのプロビジョニングや管理をする必要がなく、インフラストラクチャに関する懸念を払拭することができます。サーバーレス コンピューティングは、発生するイベントやトリガーにほぼリアルタイムで反応することで、クラウド内で駆動します。完全管理型サービスとして、サーバー管理と容量計画は開発者には表示されず、課金はコードを実行して消費したリソースまたは実時間に基づいて計算されます。

サーバーレスでアプリを作成する理由

Focus on your apps, not on infrastructure

Spare your teams the burden of managing servers. By utilizing fully managed services, you focus on your business logic and avoid administrative tasks. With serverless architecture you simply deploy your code, and it runs with high availability.

柔軟なスケーリングの実現

サーバーレス コンピューティングは、同時実行される関数がゼロから数万に増えても、ワークフローに応じて瞬時に (数秒で) スケールして処理することができ、しかもスケールの構成を必要としません。ほぼリアルタイムでイベントとトリガーに反応します。

使用したリソース分のみ課金

サーバーレス アーキテクチャなら、課金はコードの実行時間分のみ発生します。サーバーレス コンピューティングはイベント ドリブン型であり、イベントによってトリガーされると瞬時にリソースを割り当てます。課金については 1 秒未満の課金で、コード実行中の時間とリソースの分のみ請求されます。

サーバーレスで節約

451 Research の分析をお読みになり、サーバーレス コンピューティングの経済性とメリットをご確認ください。

Microsoft のサーバーレス アプリケーション プラットフォームでの作成

Microsoft Azure でサーバーレス アプリを作成してみませんか。完全サーバーレスのプラットフォームを使用することで、開発の生産性を向上させ、ビジネス目標に集中し、インテリジェントなアプリを作成して、いち早くアプリを市場に送り出すことができます。

開発者の生産性を向上

Visual Studio でのローカル デバッグ、視覚化されたデバッグ履歴、展開スロットなどの機能をご利用いただけます。Microsoft のサーバーレス プラットフォームは、単なる抽象化サーバー インフラストラクチャではなく、開発者の開発効率を最大化するさまざまな機能を提供するサービスです。

シームレスな接続を作成する

さまざまなソースから集めた価値のある機能や補完的な機能を組み合わせて、先進的なアプリを作成できます。Azure Functions のトリガーとバインドのような革新的な機能を使用すれば、さまざまな Azure サービスや外部サービスと簡単に連携でき、Logic Apps を通して Microsoft やサードパーティ サービスに接続する 100 以上のコネクタを使用できます。

インテリジェントなアプリを開発する

お客様のアプリに簡単にインテリジェンスを組み込むことができます。Azure では、アプリ開発者ならどなたでもビルトイン インテリジェンスをご利用いただけます。サーバーレス コードまたはロジックで、Machine LearningCognitive Services を使用できます。

Azure でサーバーレス アプリケーションを開発する

コンピューティング

Azure Functions は、お好きなプログラミング言語で記述したコードを、サーバーについて気にせずに実行できる、イベント ドリブン型のコンピューティング エクスペリエンスです。必要に応じてスケールでき、使用していない分については課金されません。

Storage

Azure Storage は、クラウド アプリケーションの開発者に、耐久性と高可用性を備えた高度にスケーラブルなクラウド ストレージを提供します。クラウド アプリ間のサーバーレスな通信のために、構造化されていないオブジェクト データ、構造化されたデータセット、ファイル ストレージ、キュー ストレージなどを選択できます。

データベース

Azure Cosmos DB は、あらゆるサーバーレス アプリに対応し、高度なスケーラビリティを備える、グローバル分散型のマルチモデル データベース サービスです。完全に管理されたクラウド ベータベースで、キー値、列ファミリ、ドキュメント、グラフなどの複数のデータ モデルをサポートしています。SQL、MongoDB、Table、Gremlin といった人気の API もサポートしています。

セキュリティとアクセス制御

Azure Active Directory は、クラウド ベースの ID とアクセス管理を提供します。このサービスを使用すれば、開発者はリソースへのアクセスを安全性の高い方法で制御し、サーバーレス アプリのユーザーを管理・認証することができます。

クラウド メッセージング

Event Grid は、複数の Azure サービスのイベントやお客様のアプリのイベントにサーバーレス ロジックをつなぐことで、さまざまなアプリケーションのシナリオを実現する、完全管理型イベント ルーティング サービスです。

Service Bus は、プライベートとパブリックのクラウド環境を接続して、分散型かつスケーラブルなクラウド ソリューションの作成を可能にする、完全管理型メッセージ インフラストラクチャです。

ワークフロー オーケストレーション

Logic Apps は、開発者が異なるシステム間で必要になる複雑なグルー コードを記述せずにデータをアプリに簡単に統合できる、サーバーレス ワークフローを提供します。Logic Apps を使用すれば、サーバーレス関数とアプリケーションの API をオーケストレーションして接続することもできます。

API の管理

API Management は、API を任意のスケールで作成、管理、監視、セキュリティ保護するターンキー ソリューションです。

Azure Functions Proxies は、大きな API サーフェスを複数のクライアントに対する 1 つの API として維持しながら複数の関数アプリに分けることによって、マイクロサービス アーキテクチャを作成するサービスです。

分析

Azure Stream Analytics は、ストリーミング データをリアルタイムで分析する完全管理型の分析サービスです。SQL に似たシンプルな宣言型言語でクエリを作成でき、ジョブごとに使用されるプロセスのみが課金対象になります。

Event Hubs は、主にデバイスやセンサーからの少量のデータ入力を処理およびルーティングし、そのデータを保存する際の一括インジェストを簡略化する、完全管理型サービスです。

Intelligence

Azure Bot Service は、テキスト/SMS、Skype、Microsoft Teams、Slack、Office 365、Twitter など人気サービスの複数のチャネルでコンテキストに応じてユーザーとのやりとりができる、インテリジェント サーバーレス ボットを構築するサービスです。

Cognitive Services は、気持ちや感情の検出、視覚認識、音声認識、言語理解、知識および検索といったインテリジェントな各種機能を、簡単にアプリに追加できるサービスです。サーバーレス コードまたはロジック ワークフローを通してこれらのサービスを使用すれば、インテリジェントなアプリを作成するための学習の負担を軽減できます。

開発者ツール

統合開発環境 (IDE)

Visual Studio developer tools for Functions は、Visual Studio 内で完全ローカルのビルド、デバッグ、公開を可能にし、サーバーレス アプリの開発を効率化します。

Visual Studio developer tools for Logic Apps は、Visual Studio 内でロジック アプリのビジュアル デザイン、ビルド、デプロイを可能にします。

継続的インテグレーションと継続的デプロイ

Visual Studio Team Services は、お客様のサーバーレス アプリケーションに、継続的インテグレーションと配信 (CI/CD) のワークフローを構築するお手伝いをします。

監視、ログ記録、診断

Application Insights は、お客様のサーバーレス アプリケーションを監視し、パフォーマンスの異常を検出し、それらの問題を診断する、拡張アプリケーション パフォーマンス管理サービスです。

SDK

Azure SDKs and tools は、オートメーションとスクリプティングに役立つコマンドライン ツールと共に、サーバーレス関数内で使用できる、複数のプラットフォームと言語に対応したリッチ API を提供します。

フレームワーク

Serverless Framework は、サーバーレス アーキテクチャの構築を簡略化する、オープン ソース アプリケーション フレームワークです。Azure Functions のプラグインがサポートされています。

どのようにお客様がサーバーレス コンピューティングを使用しているかを見る

サーバーレス アプリケーションの例

Web アプリケーション アーキテクチャ

Azure Functions ではシングル ページ アプリを使用できます。このアプリでは、Webhook URL を使用して関数を呼び出して、ユーザー データを保存し表示するデータを決定できます。または、関数を呼び出して広告対象を変更し、この関数にユーザー プロファイル情報を渡すなど、単純なカスタマイズを行うこともできます。

IoT back end

たとえば、モノのインターネット (IoT) デバイスから Azure Stream Analytics にメッセージを送信し、このサービスでメッセージを変換する Azure 関数を呼び出すことができます。この関数でデータを処理して、Azure Cosmos DB 内に新たな更新プログラムを作成します。

SaaS 統合

Azure Functions では、SaaS サービスのアクティビティに基づくトリガーが可能です。たとえば、OneDrive にファイルを保存すると、Microsoft Graph API を使用してスプレッドシートを変更する関数がトリガーされ、追加のグラフと計算データを作成できます。

Mobile back end

モバイル バックエンドを、Webhook URL を使用してモバイル クライアントから呼び出される一連の HTTP API とすることができます。たとえば、モバイル アプリケーションでイメージをキャプチャしてから Azure 関数を呼び出して、Blob Storage へのアップロード用のアクセス トークンを取得できます。BLOB へのアップロードで 2 番目の Azure 関数をトリガーして、イメージをモバイルに合わせたサイズに変更できます。

5 分で読めるクイック スタートを参考にして、必要に応じたコードの実行を開始する

5 分で読めるクイック スタートを参考にして、必要に応じたコードの実行を開始する

お客様が開発中のアプリの中で、サーバーレス アーキテクチャの恩恵を受けられそうなものはありますか?

ぜひ今日からサーバーレス プラットフォームで開発を始めてください。