サーバーレス Functions のアーキテクチャの設計
サーバーレス アーキテクチャは、実行する必要のあるインフラストラクチャのコードを抽象化することにより、クラウド プラットフォームを純粋なクラウドネイティブ コードに進化させます。 Azure Functions は関数をサポートするサーバーレス コンピューティング オプションです。関数とは、1 つの処理を実行する小さいコードです。
Functions アプリケーションでサーバーレス アーキテクチャを使用する利点は次のとおりです。
- Azure インフラストラクチャでは、アプリケーションで大規模に実行し続ける必要がある最新のすべてのサーバーが自動的に提供されます。
- コンピューティング リソースは動的に割り当てられ、弾力的な需要に対応するために瞬時に自動スケーリングされます。 サーバーが必要な場合にのみ実行されるため、サーバーレスは "サーバーなし" ではなく "サーバーが少ない" ことを意味します。
- マイクロ課金では、コードの実行に使用されるコンピューティング リソースと期間に対してのみ課金されるため、コストが節約されます。
- 関数バインドを使用すると、さまざまな Azure サービスやサードパーティ サービスへの宣言型アクセスが提供されるため、統合が効率化されます。
関数はイベント ドリブンです。 HTTP Web 要求、メッセージ、スケジュール、データ変更などの外部イベントによって関数コードがトリガーされます。 Functions アプリケーションでは、トリガーのコードは記述せず、トリガーへの応答のコードのみを記述します。 記述のしきいが低くなるため、開発者はメッセージングなどのインフラストラクチャの問題を処理するコードの記述に煩わされることなく、ビジネス ロジックに焦点を合わせることができます。
Azure Functions は、Azure と Azure Stack のマネージド サービスです。 オープンソースの Functions ランタイムは、Kubernetes、Azure IoT Edge、オンプレミス、その他のクラウドなど、多くの環境で動作します。
サーバーレスおよび Functions では、アプリケーションを構築するための新しい考え方と新しいアプローチが必要です。 これらがすべての問題に対して適切なソリューションであるとは限りません。 サーバーレス Functions のシナリオの例については、参照用アーキテクチャに関するページを参照してください。
実装手順
Azure Functions でサーバーレス テクノロジを正常に実装するには、次の操作が必要です。
-
アーキテクトと技術的意思決定者 (TDM) が、必要に応じて、アプリケーション評価を実行し、テクニカル ワークショップとトレーニングを実施またはこれに参加し、概念実証 (POC) またはパイロット プロジェクトを実行し、アーキテクチャ デザイン セッションを実施します。
-
開発者が、サーバーレス Functions アプリ開発のパターンとプラクティスを実装し、DevOps パイプラインを構成し、サイト信頼性エンジニアリング (SRE) のベスト プラクティスを採用します。
-
IT プロフェッショナルが、ホスティング構成を特定し、インフラストラクチャのプロビジョニングの自動化によって将来のスケーラビリティに対応し、事業継続とディザスター リカバリーの計画によって可用性を維持します。
-
セキュリティの専門家が、Azure Functions のセキュリティの要点を処理し、ホスティングのセットアップをセキュリティで保護し、アプリケーションのセキュリティ ガイダンスを提供します。
関連リソース
- サーバーレス テクノロジの詳細については、Azure サーバーレスのドキュメントを参照してください。
- Azure Functions の詳細については、Azure Functions のドキュメントを参照してください。
- コンピューティング テクノロジの選択については、「アプリケーションの Azure コンピューティング サービスを選択する」を参照してください。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示