.NET アプリケーションを最新化する

Azure App Service
Azure Database Migration service
Azure DevOps
Azure SQL データベース

ソリューションのアイデア

このアーティクルはソリューションのアイデアです。 このコンテンツにさらに多くの情報 (想定されるユース ケース、代替サービス、実装に関する考慮事項、価格ガイダンスなど) の掲載をご希望の方は、GitHub のフィードバックでお知らせください。

最新の Web アプリケーションは、これまで以上に高いユーザーの期待と高まる需要に応える必要があります。 組織は、レガシ .NET アプリケーションを Azure に移行することで、アプリの強固なセキュリティ、柔軟性、需要の急増に対応するスケーラビリティを確保し、世界中のどこからでもアプリを利用できるようにすることが可能になります。

考えられるユース ケース

どの組織でもこのシナリオを利用できますが、小売業界では最も一般的です。

アーキテクチャ

アプリが Azure に移行されると、WCF/REST サービス アプリがアプリをポイントします。データベースを評価し、移行し、2 つの Web アプリをプロビジョニングして、それらのアプリをデプロイします。

次の注釈では、移行プロセスについて説明します。

データフロー

  1. Azure で Azure SQL Database インスタンスをプロビジョニングします。 アプリの Web サイトが Azure に移行されると、WCF/REST サービス アプリはこのインスタンスを参照します。
  2. Database Migration Assistant を使用してデータベースを評価し、Database Migration Service を使用してデータベースを移行します。
  3. 2 つの Web アプリをプロビジョニングします。
  4. Azure DevOps をセットアップします。新しい Azure DevOps プロジェクトを作成し、GitHub リポジトリをインポートします。
  5. Web 層 Web アプリ、WCF/REST サービス Web アプリ、SQL インスタンスが通信できるように、接続文字列を構成します。
  6. アプリを作成するためのビルド パイプラインとリリース パイプラインを設定し、2 つの Web アプリにデプロイします。

コンポーネント

  • Azure App Service は、Web アプリケーション、REST API、およびモバイル バックエンドをホストするための HTTP ベースのサービスです。 ここで示すように、継続的なデプロイなど、DevOps 機能を利用できます。
  • Azure SQL Database: クラウド向けに構築されたフル マネージドのインテリジェントなリレーショナル データベース サービスです。 SQL Database を使用すると、最新のクラウド アプリケーションのための、高可用性かつ高パフォーマンスのデータ ストレージ層を作成できます。
  • Azure DevOps: チームによる作業の計画、コード開発での共同作業、アプリケーションのビルドとデプロイをサポートする開発者サービスを提供します。
  • Database Migration Service: ダウンタイムを最小限に抑えながら、複数のデータベース ソースから Azure にシームレスに移行できます。

ソリューションの詳細

このシナリオでは、グローバルなオンライン小売企業が、顧客のニーズの変化により、既存の .NET アプリケーションを最新化する必要があります。 効率と機敏性を高め、規模を拡大し、コストを削減するために、Web およびモバイル アプリケーションをクラウドに移行します。 ここでは、アーキテクチャ案として、Azure App Service と Azure SQL Database を使用して Web アプリを構築、デプロイ、スケーリングするフル マネージド プラットフォームを示します。

この会社では、アプリのデータ層に、動的スケーラビリティ、組み込みのインテリジェンスの最適化、グローバルなスケーラビリティと可用性を提供する Azure SQL Database を選択しました。 Azure Database Migration Service を利用して、オンプレミスのデータベースを Azure SQL に移行しました。 アプリ層には、Azure App Service を選択しました。これは、Visual Studio を使用してわずかな構成変更だけでアプリをデプロイできる PaaS サービスです。 同社は 2 つの Web アプリをデプロイすることにしました。1 つは、顧客向けのフロントエンド Web サイト用です。もう 1 つは、フロントエンド アプリとデータベースの両方と通信し、ビジネス ロジックを処理する WCF (Windows Communication Framework) または REST サービス アプリです。

このプロセスに従うことで、顧客は Web アプリを使用してオンライン小売カタログに接続できるようになります。 ロード バランサーは、アプリケーションのアップタイムを改善するために、トラフィックが増加している間、自動的にスケーリングします。 製品の在庫と価格は、次のように Azure SQL Database に照会され、取得されます。

  1. 顧客がフロントエンド Web アプリを使用して、オンライン カタログに接続します。
  2. Azure App Service により、セキュリティと自動管理が提供されます。 Azure DevOps からの継続的なデプロイなど、DevOps 機能も使用できます。
  3. 製品の在庫と価格が Azure SQL Database に照会され、取得されます。

次の手順

  • この例で使用されている移行プロセスの詳細を確認します。
  • Azure SQL Database と Azure App Service を使用して .NET アプリケーションを強化した Stackify の事例を確認します。
  • オンプレミスの SQL ワークロードを Azure に移行する方法を確認します。
  • Azure App Service を使用する開発者向けのラーニング パスとトレーニング モジュールを参照します。