
説明

仮想ネットワーク内に展開されるAzureコンピューティングサービス、つまり仮想マシン(IaaS)とクラウドサービス(PaaS)は、プライベートピアリングドメインを介して接続できます。プライベートピアリングドメインは、Microsoft Azureへのコアネットワークの信頼できる拡張機能と見なされます。
Azure Storage、SQLデータベース、Webサイトなどのサービスは、パブリックIPアドレスで提供されます。パブリックピアリングルーティングドメインを介して、クラウドサービスのVIPを含むパブリックIPアドレスでホストされているサービスにプライベートに接続できます。パブリックピアリングドメインをDMZに接続し、インターネット経由で接続することなく、WANからパブリックIPアドレスのすべてのAzureサービスに接続できます。
参照:
https://docs.microsoft.com/en-us/azure/expressroute/expressroute-circuit-peerings
トピック4、ケーススタディ5
ケーススタディ
バックグラウンド
Best For You Organics Companyは、複数の場所にあるグローバルなレストランフランチャイズです。同社は、ユーザーエクスペリエンスとベンダーの統合を強化したいと考えています。同社は、自動化されたモバイル注文および配信サービスの実装を計画しています。
Best For You Organicsは、URL https://www.bestforyouorganics.comでAzure Webアプリをホストしています。ユーザーはWebアプリを使用して、レストランの場所、メニュー項目、栄養情報、および会社情報を閲覧できます。
同社は、クロスプラットフォームモバイルアプリを開発および展開しました。
必要条件
チャットボット
Bot Builder SDKとLanguage Understanding Intelligence Service(LUIS)を使用してチャットボットを開発する必要があります。チャットボットは、ユーザーが集荷または配達のために食べ物を注文できるようにする必要があります。
チャットボットは次の要件を満たしている必要があります。
* Bot Frameworkコネクタを使用して、チャットボットが安全であることを確認します。
*ユーザーがテキストと音声を使用してチャットボットと対話できるように、自然言語処理と音声認識を使用します。処理はサーバーベースでなければなりません。
*地元のレストランでのプロモーションについてユーザーに警告します。
*音声を使用して、ユーザーが配達または集荷の注文を行えるようにします。
*アクションボタンを含むグラフィカルインターフェイスを表示して、サインイン時にユーザーに挨拶します。
*チャットボットグリーティングインターフェイスは、次の例のフォーマットと一致する必要があります。

ベンダーAPI
ベンダーは、Azure API ManagementがホストするAPIを使用して、レストランの在庫および配達サービスの更新を受け取り、提供します。各ベンダーは独自のサブスクリプションを使用して、各APIにアクセスします。
APIは次の条件を満たす必要があります。
* APIの使用は、ベンダーごとに1時間あたり5,000コールおよび50,000キロバイトの帯域幅を超えてはなりません。
*ベンダーがコール数または帯域幅制限に近づいている場合、APIはベンダーへの電子メール通知をトリガーする必要があります。
* APIは、コールレートを1分あたり100コールに制限することにより、サブスクリプションごとにAPI使用の急増を防ぐ必要があります。
* Inventory APIは、ASP.NET CoreとNode.jsを使用して作成する必要があります。
* APIを更新して、Azure SQL Databaseオブジェクトへのインターフェイスを提供し、コードを使用して管理する必要があります。
* Azure Webアプリから呼び出された場合、Azure Active Directory(Azure AD)でOAuth 2.0プロトコルを使用して、Delivery APIを保護する必要があります。 Delivery ADとWebアプリをAzure ADに登録します。 WebアプリでOAuth 2.0を有効にします。
*配信APIは、1つのトランザクションでProductsテーブル、Vendorトランザクションテーブル、Billingテーブルを更新する必要があります。
Best For You Organics Companyのアーキテクチャチームは、Azureへの予想される展開を示す次の図を作成しました。

建築
課題
配信API
Delivery APIは次の例外を断続的にスローします。
「System.Data.Entity.Core.EntityCommandExecutionException:コマンド定義の実行中にエラーが発生しました。詳細については内部例外を参照してください。-> System.Data.SqlClient.SqlException:サーバー(プロバイダー:セッションプロバイダー、エラー:19
-物理接続は使用できません)」
チャットボットの挨拶
チャットボットの挨拶には、ユーザーの名前は表示されません。チャットボットをローカルでデバッグする必要があります。
言語処理
ユーザーは、顧客がイタリアの名前を使用した料理を注文しようとすると、ボットが理解できないと報告しています。
アプリコード
アプリファイルの関連部分を以下に示します。行番号は参照用にのみ含まれており、所属する特定のファイルを示す2文字のプレフィックスが含まれています。
