コンピューティング サービスを使用してモバイル バックエンド コンポーネントを構築する
すべてのモバイル アプリケーションには、データ ストレージ、ビジネス ロジック、セキュリティを担当するバックエンドが必要です。 バックエンド コードをホストおよび実行するためのインフラストラクチャを管理するには、複数のサーバーのサイズ設定、プロビジョニング、スケーリングが必要です。 また、OS の更新プログラムと関連するハードウェアを管理し、セキュリティパッチを適用する必要があります。 次に、これらのインフラストラクチャ コンポーネントのパフォーマンス、可用性、フォールト トレランスをすべて監視する必要があります。
サーバーレス アーキテクチャは、管理するサーバーがなく、管理する OS や関連ソフトウェアまたはハードウェア更新プログラムがないため、この種のシナリオに便利です。 サーバーレス アーキテクチャにより、開発者の時間とコストが節約されます。つまり、市場投入までの時間が短縮され、アプリケーションの構築に集中するエネルギーが節約されます。
コンピューティングの利点
- サーバーの抽象化は、ホスティング、修正プログラムの適用、セキュリティについて心配する必要がないことを意味します。これにより、コードのみに集中できます。
- 即時かつ効率的なスケーリングにより、必要なスケールでリソースが自動的またはオンデマンドでプロビジョニングされます。
- 高可用性とフォールト トレランス。
- マイクロ課金により、コードが実際に実行されている場合にのみ課金されます。
- コードは、任意の言語で記述されたクラウドで実行されます。
モバイル アプリでサーバーレス コンピューティング機能を有効にするには、次のサービスを使用します。
Azure Functions
Azure Functionsは、サーバーを気にすることなく、任意のプログラミング言語で記述されたコードを実行するために使用できるイベントドリブンコンピューティングエクスペリエンスです。 アプリケーションやインフラストラクチャを管理して実行する必要はありません。 関数はオンデマンドでスケーリングされ、コードの実行時間に対してのみ料金が支払われます。 Azure Functions は、モバイル アプリケーション用の API を実装するための優れた方法です。 これらは実装と保守が簡単で、HTTP 経由でアクセスできます。
Azure Functionsの主な機能
- トリガーとバインドを使用して、関数がいつ呼び出され、どのデータに接続されるかを定義できる、イベントドリブンでスケーラブルです。
- Functions は NuGet と NPM をサポートしているため、独自の依存関係を持ち込むため、お気に入りのライブラリを使用できます。
- MICROSOFT ENTRA ID、Facebook、Google、Twitter、Microsoft アカウントなどの OAuth プロバイダーで HTTP によってトリガーされる関数を保護できるように、統合セキュリティ。
- さまざまな Azure サービス とサービスとしてのソフトウェア (SaaS) オファリングとの統合が簡素化されました。
- Azure portalで関数をコーディングしたり、継続的インテグレーションを設定したり、GitHub、Azure DevOps Services、その他のサポートされている開発ツールを使用してコードをデプロイしたりするための柔軟な開発。
- Functions ランタイムはオープンソースされ、GitHub で使用できます。
- 好みのエディターまたは使いやすい Web インターフェイスを使用して、統合ツールと組み込みの DevOps 機能を使用して監視することで、ローカルでコーディング、テスト、デバッグできる強化された開発エクスペリエンス。
- C#、Node.js、Java、JavaScript、Python など、さまざまなプログラミング言語と開発用ホスティング オプション。
- 従量課金制の価格モデルは、コードの実行に費やされた時間に対してのみ支払うことを意味します。
Azure Functions参照
Azure App Service
Azure App Serviceを使用すると、インフラストラクチャを管理することなく、任意のプログラミング言語で Web アプリと RESTful API を構築してホストできます。 自動スケーリングと高可用性を提供し、Windows と Linux の両方をサポートし、GitHub、Azure DevOps、または任意の Git リポジトリからの自動デプロイを可能にします。
Azure App Serviceの主な機能
- ASP.NET、ASP.NET Core、Java、Ruby、Node.js、PHP、Python に対する複数の言語とフレームワークのサポート。 PowerShell やその他のスクリプトや実行可能ファイルをバックグラウンド サービスとして実行することもできます。
- Azure DevOps、GitHub、BitBucket、Docker Hub、またはAzure Container Registryを使用した継続的インテグレーションとデプロイによる DevOps の最適化。 Azure PowerShellまたはクロスプラットフォーム コマンド ライン インターフェイス (CLI) を使用して、App Serviceでアプリを管理します。
- 手動または自動でスケールアップまたはスケールアウトするための高可用性を備えたグローバル スケール。
- SaaS プラットフォームとオンプレミス データにConnectionsして、SAP などのエンタープライズ システム用の 50 を超えるコネクタ、Salesforce などの SaaS サービス、Facebookなどのインターネット サービスから選択できます。 ハイブリッド接続と Azure Virtual Networks を使用してオンプレミスのデータにアクセスします。
- Azure App Serviceは ISO、SOC、PCI に準拠しています。 Google、Facebook、Twitter、Microsoft などのソーシャル メディアのMicrosoft Entra IDまたはサインインを使用してユーザーを認証します。 IP アドレス制限を作成し、サービス ID を管理します。
- WordPress、Joomla、Drupal など、Azure Marketplaceの広範なアプリケーション テンプレートの一覧から選択できるアプリケーション テンプレート。
- Visual Studio と Visual Studio の専用ツールの統合により、作成、デプロイ、デバッグの作業が効率化されます。
Azure App Service参照
Azure Kubernetes Service
Azure Kubernetes Service (AKS) は、ホストされている Kubernetes 環境を管理します。 AKS を使用すると、コンテナー オーケストレーションの専門知識がなくても、コンテナー化されたアプリケーションを迅速かつ簡単にデプロイおよび管理できます。 また、継続的な運用とメンテナンスの負担をなくします。 AKS では、アプリケーションをオフラインにすることなく、必要に応じてリソースのプロビジョニング、アップグレード、スケーリングを行います。
Azure Kubernetes Serviceの主な機能
- 既存のアプリケーションをコンテナーに簡単に移行し、AKS 内で実行できます。
- マイクロサービス ベースのアプリケーションのデプロイと管理を簡略化します。
- AKS 用の DevOps をセキュリティで保護し、速度とセキュリティのバランスを取り、大規模にコードをより迅速に提供します。
- AKS とAzure Container Instancesを使用して、数秒で開始するContainer Instances内にポッドをプロビジョニングすることで、簡単にスケーリングできます。
- オンデマンドで IoT デバイスをデプロイおよび管理します。
- TensorFlow や KubeFlow などのツールを使用して機械学習モデルをトレーニングします。
Azure Kubernetes Service参照
Azure Container Instances
Azure Container Instancesは、単純なアプリケーション、タスクの自動化、ビルド ジョブなど、分離されたコンテナーで動作できるあらゆるシナリオに適したソリューションです。 VM を管理せずにアプリを迅速に開発できます。
Azure Container Instancesの主な機能
- vm のプロビジョニングと管理を必要とせずに、Container Instancesが数秒で Azure でコンテナーを起動できるため、起動時間が短縮されます。
- パブリック IP 接続とカスタム DNS 名。
- アプリケーションが VM 内のコンテナーと同じように分離されていることを保証するハイパーバイザー レベルのセキュリティ。
- CPU コアとメモリの正確な仕様を許可することで、最適な使用率を実現するカスタム サイズ。 支払額は、その要求内容に基づいて秒単位で課金されるので、実際のニーズに応じて支出をきめ細やかに調整することができます。
- 状態を取得して永続化する永続ストレージ。 Container Instancesでは、Azure Files共有を直接マウントできます。
- 同じ API でスケジュールされた Linux コンテナーと Windows コンテナー。