Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Azure App Service Overview

3,470 views

Published on

Azure App Serviceの概要。Web App、Web App for Containersを中心に、Web App Botや、Functions、Logic Appsにも触れる。周辺のAzure MonitorやAzure Security Centerも簡単に紹介。日常、Microsoftのパートナーの皆様への説明の際に使用しているスライド。

Published in: Technology
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Azure App Service Overview

  1. 1. Azure Azure App Service 概要 福原 毅 日本マイクロソフト株式会社 パートナー事業本部 パートナー ソリューション プロフェッショナル 2019年2月8日
  2. 2. Hidden Slide ご注意: このスライドは、Azure App Serviceの概要を説明するために作成したものです。 なおスライドに記載された内容は、作成日時点の情報です。製品リリース予定やサービス仕様 等の情報は予告なく変更される場合があります。必要に応じて、 https://docs.microsoft.com/ja-jp/azure/ を参照し、サービスの詳細、および最新情報をご確認 ください。 資料中の参考価格は対象製品・サービスのみの価格例であり、実際の構成により他製品・ サービスの費用も別途必要となる場合があります。実構成にあわせて詳細価格の見積を取得 し、ご確認ください。 日付 版 備考 2019年2月8日 Version 1.0 公開初版 !
  3. 3. はじめに Azure App Serviceの概要 • コードをAzureに持ち込む – Web Apps • コードをAzureに持ち込む – Web App on Linux • コンテナーをAzureに持ち込む – Web App for Containers • ボット – Web App Bot • サーバー レス – Functions Apps / Logic Apps App Serviceの事例 まとめ Appendix: 今後の理解促進のために 内容
  4. 4. Azureとは Microsoft Azureは、ビジネス上の課題への対応 を支援するために絶えず拡大を続けるクラウド サー ビスの集合体です。世界規模の巨大なネットワー クに対し、お気に入りのツールやフレームワークを 使ってアプリケーションを自在に構築、管理、 デプロイすることができます。
  5. 5. Azureでは、100以上のサービスを提供中 Microsoft Azure のすべてのサービス 一覧 = https://azure.microsoft.com/ja-jp/services/ Azure Datacenter Infrastructure Azure Backup Site Recovery Azure Monitor Azure Policy Azure Bluepirnts Log Analytics Azure Migrate Databox Family Compute Storage Networking Linux Virtual Machine Compute / Containers Web / Mobile DevOps / Developer Container Instance Functions Service Fabric Integration IoT Data Services Service Bus Event Grid Logic Apps API Management Management Platform as a Services ( PaaS ) Security Infrastructure as a Services ( IaaS ) Disk Storage Managed Disks Windows Virtual Machines Express Route Load Balancer Azure Firewall Virtual WAN Network Watcher Virtual Network VPN Gateway Media Services Content Delivery Network Media / CDN Cognitive Services IoT Hub Stream Analytics Role- based access control Azure Digital Twins Time Series Insights IoT Central IoT Edge Bot Services SQL Data Warehouse Azure Databricks HDInsight AI Machine Learning Studio Machine Learning Service Azure Search Analytics Data Lake Storage Gen2 Mobile Apps Web Apps Logic Apps API Apps Notification Hubs SignalR Service Application Insights Lab Services Azure DevOps SDK SQL Database Data Factory Database for MySQL Cosmos DB Database for PostgreSQL Database for MariaDB Database Migration Service Azure Cache for Redis Azure AD Key Vault Security Center DDoS Protection Multi-Factor Authentication Azure ATP Azure AD for Domain Services Azure AD B2C Cost Management Video Indexer Content Protection Kubernetes Service SQL Data Warehouse Table Storage
  6. 6. Azure コンピューティング サービス の選択肢 Virtual Machine / Virtual Machine Scale Sets (VMSS) Azure (Public Cloud) Azure Stack (Private Cloud) Virtual Machine Extensions Kubernetes、SCALR、RightScale, Mesos、Swarm Service Fabric (Mesh) App Service Web Apps Mobile Apps Apprenda、Cloud Foundry Jelastic、Marathon、OpenShift インフラ IaaS / IaaS+ 汎用コンピュー ティング PaaS 用途特化型 コンピューティング PaaS クラスター オーケ ストレーション API Apps Function Apps
  7. 7. データセンターの “変革” ハイブリッド クラウドの戦略 物理サーバー と仮想マシン クラウドでは ないオンプレ ミス レガシー IT 現行のIT ハイブリッド 再ホスト リタイア/塩漬 俊 敏 性 実装の選択肢 パブリック クラウド / Azure Stackによる プライベートクラウド 大規模な仮想化 によるプライベート クラウド Windows Server 2016 / 2019 Hyper-V System Center 2016 / 2019 SQL Server 2017 SaaS: Microsoft Dynamics 365, Office 365 PaaS: Microsoft Azure / Azure Stack IaaS: Microsoft Azure / Azure Stack 対象となるクラウド基盤 モダナイゼーション 置き換え 8
  8. 8. 政府情報システムにおけるクラウドサービスの利用に係る基本方針 2018年(平成30年)6月7日 - 各府省情報化統括責任者(CIO)連絡会議決定 9 (P7より抜粋)
  9. 9. (ご参考資料) 政府情報システムにおけるクラウド サービスの利用に係る基本方針 10 https://cio.go.jp/guides
  10. 10. 政府情報システムにおけるクラウドサービスの利用に係る基本方針 2018年(平成30年)6月7日 - 各府省情報化統括責任者(CIO)連絡会議決定 日閣議決定)及び「デジタル・ガバメント推進方針」(平成 29年5月30日高度情報通信ネットワーク社会推進戦略本 部・官民データ活用推進戦略会議決定)では、クラウド・バ イ・デフォルト原則、すなわち、政府情報システムを整備する 際に、クラウドサービスの利用を第一候補とすることとされ、 「デジタル・ガバメント実行計画」(平成30年1月16日e ガバ メント閣僚会議決定)において、「政府情報システムにおけ るクラウド・ バイ・デフォルトの基本的な考え方、各種クラウド (パブリッククラウド、プ ライベートクラウド等)の特徴、クラウ ド利用における留意点等を整理する」 こととされたところであ る。 このため、本方針では、クラウド・バイ・デフォルト原則を具 体化し、各府省が、効果的なクラウドサービスを採用し、かつ、 クラウドサービスを効果的に利用するに当たり、クラウドサービス 利用検討フェーズ注記)に係る基本的な考え方を示すものであ る。 1.1 背景と目的 (P1より抜粋) 近年、急速に進化し発展したクラウドサービスは、正しい選 択を行えば、コスト削減に加えて、情報システムの迅速な整 備、柔軟なリソースの増減、自動化された運用による高度な 信頼性、災害対策、テレワーク環境の実現等に寄与する可 能性が大きく、政府情報システムにおいても、クラウドサービス を利用することで様々な課題が解決されることが期待される。 しかしながら、これまで政府では、情報セキュリティや移行 リスクへの漠然とした不安、不十分な事実認識等から、クラ ウドサービスの利用に前向きでなかった側面が否定できない。 一方、多方面にわたり、クラウドサービスの利用が増加してき ている。 このような状況において、「世界最先端IT国家創造宣 言・官民データ活用 推進基本計画」(平成 29 年 5 月 30 11
  11. 11. 政府情報システムにおけるクラウドサービスの利用に係る基本方針 2018年(平成30年)6月7日 - 各府省情報化統括責任者(CIO)連絡会議決定 3.1 クラウドサービスの利用検討プロセス (P6 より抜粋) クラウドサービスの利用に係る検討は、その対象 となるサービス・業務及び 取り扱う情報を明確化 した上で、クラウドサービスの利用メリットを最大化 並びに開発の規模及び経費の最小化の観点によ り、表 3-1 のプロセスで評価検討するものとする。 その結果、いずれのクラウドサービスもその利用が 著しく 困難である場合、又はいずれのクラウドサー ビスの利用メリットがなく、かつ、 クラウドサービスに よる経費面の優位性も認められない場合のみオン プレミス とする。 2.1 クラウド・バイ・デフォルト原則 (P4より抜 粋) 政府情報システムは、クラウド・バイ・デフォルト 原則、すなわち、クラウドサービスの利用を第一候 補として、その検討を行うものとする。その際、「3. 1クラウドサービスの利用検討プロセス」に基づき、 情報システム化の対象となるサービス・業務、取扱 う情報等を明確化した上で、メリット、開発 の規 模及び経費等を基に、検討するものとする。 なお、 本プロセスは、技術の進展や選択肢となる新たな クラウドサービスの出現に応じて、各利用検討の内 容や順序は、適宜見直しを行うものとする。 12
  12. 12. PaaS (Platform as a Service) の考え方 アプリケーション データ 実行環境 ミドルウェア OS 仮想化 サーバー ストレージ ネットワーク 責任範囲 On Prem IaaS PaaS Saa S 顧客 Microsoft ビジネス価値 時間 PaaS Iaa S 75~80% IT 時間コストの削減 50% 迅速なサービスデリバリ
  13. 13. クラウド移行戦略全体像 クラウドにそのまま 再展開します • CAPEX の削減 • データセンター スペースの 解放 • 短期間でのクラウドの 投資回収 IaaS クラウドの利点を高めるために最小 限の変更を加えます • より迅速かつ短期間での更新 • コードの移植性 • クラウドの効率化 (リソース、スピード、コスト) コンテナー PaaS アプリケーションからサービスへと実質的に 変更/分解します • アプリのスケールと俊敏性 • 新しいクラウド機能の導入を簡素 化 • テクノロジ スタックの 混合環境 PaaS サーバーレス マイクロサービス クラウド ネイティブなアプローチで新しいコー ドを作成します • イノベーションの加速 • アプリ作成期間の短縮 • 運用コストの削減 説明 推進要因 テクノロジ
  14. 14. アプリケーション最適化モデル 既存のアプリケーション (オンプレミス) クラウド最適化 PaaS クラウド ネイティブ PaaS (マイクロサービス とサーバーレス) クラウド インフラストラクチャー対応 VMs マネージド サービス オンプレミス 移行 / 再ホスト クラウド向けに設計された新規のコード Azure PaaS ( コンテナ化されたマイクロサービス + サーバーレス コンピューティング + マネージド サービス )+ コンテナー IaaS (Infrastructure as a Service) モダナイゼーション コードの変更は最小限 クラウド環境が基本。検討事項: ネットワーク、ハイブリッド クラウド、IDと認証、コスト コントロールと運用モデル Azure Azure
  15. 15. 一貫性があり、包括的なハイブリッド クラウド環境 Azure services Azure Stack 開発 プラットフォーム Azure セキュリティ と運用管理 Azure セキュリティ と運用管理 セキュリティと 運用管理 Azure データ サービス SQL Server, MySQL, PostgreSQL, NoSQL データ プラットフォーム Azure DevOps Server Azure DevOps DevOps Windows Server Active Directory Azure Active Directory ID
  16. 16. アプリ、データ、インフラストラクチャにわたるAzure の最新イノベーション
  17. 17. Web Appsの基本 Azure App Service 概要 – コードをAzureに持ち込む Web Apps の基本 .NETアプリケーションの移行 アプリケーションの展開 ネットワーク 監視 Azure Security Center
  18. 18. 20 重くのしかかる運用コスト 本当に必要なことに十分な時間がとれていますか? 例えば顧客体験の向上とか 災害対策(DR)、冗長化対策、高負荷対策、 CI/CD、セキュリティ対策 ITトレンドの変化、人材不足
  19. 19. 21 App Service とは クラウドアプリを作成/ホストするための PaaS 仮想マシン (IaaS )と比較して… 実行環境が提供されるので開発に集中することができる。 • 環境構築作業の軽減 • インフラ部分の管理が不要 • 仮想マシンよりも安価
  20. 20. 22 Azure App Service End-to-end のアプリケーション PaaS プラットフォーム App Service
  21. 21. Azure App Serviceのメリット • NET, PHP, Python, Node, Java, Framework インストラー • リモートデバッグ • DevOps • ステージングデプロイのためのサイ トスロット • サイトエクステンションギャラリー • ブラウザーベースのエディタ • Kudu • など Web Apps / Bot Mobile Apps API Apps Functions • スケールアップ、スケールアウト • オートスケール • WW のデーターセンター • OS と Framework • ロードバランサー • モニタリング&アラート • Web ジョブ(WebJobs) • など • Enterprise グレードの SLA • セキュリティとコンプライアンス • ロールベースアクセスコントロール • バックアップスケジュール • カスタムドメイン、SSL証明書 • Azure Active Directory 統合 • オンプレミス統合 VNET統合/ハ イブリッド接続 • App Service Environment • など Logic Apps
  22. 22. トラフィックなどのワークロードに応じるスケール機能。さらに、自動スケール。 スロット機能を使って、ブルーグリーンデプロイメント。 Azure App Service の PaaS ならではの機能 朝 昼 夜 システム 負荷 OFF OFF OFFOFF ¥ ¥ 起動時間のみ課金 スライダーのような UI でインスタンス数を変更 https://helloappsvc.azurewebsites.net https://helloappsvc-staging.azurewebsites.net App ver1 App ver2 App Service Plan
  23. 23. Web Apps Web アプリケーションを作成してデプロイ OS デプロイランタイム CMS その他 FTP
  24. 24. Web Apps のランタイム .NET Framework v3.5 ~ 4.7 .NET Core 1.0 ~ 2.1 PHP 5.6 ~ 7.2 PHP 5.6 ~ 7.2 Node.js v6.9.1 (環境変数で指定) Node.js v4.4 ~ 10.10 Java 7 ~ 8 Java Tomcat 8.5 (JRE 8) Tomcat 9.0 (JRE 8) Java SE (JRE 8) WildFly 14 (JRE 8) Python 2.7 ~ 3.4 Python 2.7 ~ 3.7 (Preview) Ruby 2.3 ランタイム
  25. 25. Demo App Service – Web Apps
  26. 26. Web Appのプラン https://azure.microsoft.com/ja-jp/pricing/details/app-service/plans/
  27. 27. App Service の価格 https://azure.microsoft.com/ja-jp/pricing/details/app-service/
  28. 28. Demo Screen Shot App Service – Mobile Apps
  29. 29. デプロイスロット ステージング環境の作成と管理 複数のステージング環境を準備可能 AB テスト 自動スワップ(※) プレビューでのスワップ (※) スワップ前のカスタムウォームアップ(※) (※) Linux 上の Web アプリではサポートされていません デプロイ スロットの推奨事項
  30. 30. https://docs.microsoft.com/ja-jp/azure/architecture/ Azure アーキテクチャ センター
  31. 31. 39 Azure アーキテクチャ センター App Service Webアプリケーション https://docs.microsoft.com/ja-jp/azure/architecture/reference-architectures/#web-applications
  32. 32. Webアプリケーション: 基本
  33. 33. .NETアプリケーションの移行 Azure App Service 概要 – コードをAzureに持ち込む Web Apps の基本 .NETアプリケーションの移行 アプリケーションの展開 ネットワーク 監視 Azure Security Center
  34. 34. 僅か数クリックでASP.NET Webサイトをアセスメント Azure App Serviceへの移行準備の内容を識別し、以下のIISサーバーの情報をスキャン • IISサーバー上で実行されているWebサイト • それぞれのサイトのアプリケーションと 仮想ディレクトリの構成 • サイトが利用しているアプリケーションプールと、 それらの設定内容 • そのサイトが利用している HTTPとHTTPSのバインド • web.configのデータベースの定義と、 connectionStringの属性 http://aka.ms/appservicemigration App Serviceへの移行: App Service Migration Assistance
  35. 35. Demo Screenshot App Service Assessment Assistance
  36. 36. 互換性チェックリスト - .NETアプリが移行可能か? リファクタリングが必要かどうかは、以下のチェックリストを確認 .NET Web アプリまたはサービスを Azure App Service に移行する際の考慮事項: https://go.microsoft.com/fwlink/?linkid=862532 チェックリスト 80 (Http) もしくは443 (Https)ポートへのバインドの確認 匿名とフォーム認証をサポートしているか。AADもしくはADFS + VPNによるWindows認証か。 GAC (Global Assembly Cache) を利用していないこと 1サイト当たり、1アプリケーションプールか IIS7以降のスキーマに準拠しているか COM/COM+ コンポーネントを利用していないか 物理ディレクトリを参照していないか。ファイルアクセスの代替はBlobストレージを利用 オンプレミスリソースへのアクセル検証は、移行や変更が必要かもしれない SQL Server, Oracle, MySQL データベース ISAPI Filters DLL(s)は、web.configを使って登録、ローカルへ展開する
  37. 37. 互換性チェックに失敗した場合、どうするか? リファクタリングできますか? いいえ なぜ? GAC (Global Assembly Cache)やカスタムMSI、より多くの.NET Framework APIが必要です。 推奨事項: Service Fabric上の、Windows コンテナの利用を検討 近い将来: App Service上の、Windowsコンテナ – パブリック プレビュー なぜ? 高い拡張性や分離性を必要とする、もしくは、多くのメモリーを消費します。 推奨事項: App Service Environments (Premium Service) の利用を検討
  38. 38. App Serviceへの移行: Visual Studioの利用 • 既存のWebアプリを開く • アプリケーションを実行 • Azure Web appを作成 完了すると、既存のWebアプリを展開したAzure Web Appと、App Service プランを含むリソース グループ作成 できます。 Azure SQL インスタンスへこのアプリを接続する方法を学 べる選択肢も提示されます。 http://Aka.ms/aspmigrate
  39. 39. クラウドへの移行パターン 既存のASP.NET Webアプリ、APIやWCFサービスをAzureでホストする クラウドインフラ対応 クラウドへ最適化 クラウドへ最適化されたコンテナー IaaS (Azure Windows Virtual Machine) PaaS (Azure App Service) Windows Containers (Service Fabric/mesh, AKS/ACI, VM with Windows Containers, Web App for Containers) ✓ 設計変更や、新しいコードは不要 ✓ 最小限の工数で迅速に移行 ✓ オンプレミスと同様の展開モデル ✓ インフラストラクチャの運用が不要 ✓ 高い可用性、スケーリングとセキュリティを提供 ✓ 複数バージョンの.NETをサポート ✓ CI/CDによる自動展開可能 ✓ 詳細な監視、診断とデバッグ ✓ 再設計(re-architect)は不要で最小限のコード、 もしくは、構成設定の変更のみ ✓ 自己完結のコンテナにより、展開の改善と DevOpsの俊敏性 ✓ CI/CDによる自動展開可能 ✓ オーケストレーターにより、高い可用性とスケーラビ リティを提供 ✓ Dockerコンテナーにより、アプリケーションの可搬 性と、マルチ クラウド対応 x 更新プログラム適用やアップグレードは手作業 x スケーリングや可用性の仕組みも手作業 x 全てのアプリがサポートされるわけではない。 x コードのリファクタリングが必要になる場合がある x コンテナーに関する学習障壁 適切なAzure ホスティング オプションの選択: https://docs.microsoft.com/ja-jp/dotnet/azure/dotnet-howto-choose-migration
  40. 40. .NETアプリの推奨 Azure サービス Azure Virtual Machines (VMs) Azure Container Instances (ACI) Azure App Service Azure Kubernetes Service (AKS/ACS) Azure Service Fabric Azure Functions Azure Batch Webアプリ (モノリシック アーキテクチャ) N階層アプリ (疎結合な サービス) クラウド ネイティブ (マイクロサービス アーキテクチャ) バッチ / ジョブ (バックグラウンド タスク) アプリケーション アーキテクチャ 既存.NET Webアプリの Azureサービスへ の移行先 推奨 Azure イベントドリブン を推奨 アプリケーションの バックグラウンドタスク で推奨 大規模 バッチで 推奨 推奨 推奨 推奨 推奨 可能 推奨
  41. 41. いつ、Azure App Serviceを使うのか? 適切なAzureホスティング オプションの選択 https://docs.microsoft.com/ja-jp/dotnet/azure/dotnet-howto-choose-migration Azure App Service for Containers (Public Preview)
  42. 42. アプリケーションの展開 Azure App Service 概要 – コードをAzureに持ち込む Web Apps の基本 .NETアプリケーションの移行 アプリケーションの展開 ネットワーク 監視 Azure Security Center
  43. 43. 53 アプリケーションのデプロイ さまざまな方法でデプロイが可能 Azure CLI FTP Git (GitHub, ローカル/外部) Azure DevOps (Repos) BitBucket OneDrive DropBox 開発ツール (Visual Studio ) デプロイ FTP
  44. 44. デプロイ センター で、App Serviceのアクセスを許可 GitHubの承認画面 OneDriveの承認画面
  45. 45. Visual Studio Codeを使った、Web Appへの展開
  46. 46. https://docs.microsoft.com/ja-jp/azure/app-service/app-service-web-get-started-java
  47. 47. Azure DevOps Projectsの利用 5分以下で、どんなAzureアプリ でも、どんなAzureサービス上に でもビルド • 一般的なアプリケーションフレームワークを標 準でサポート • CI/CDパイプライン全体を、自動で統合 • Application Insightsによる、標準の監視 • 展開先プラットフォームは自由に選択 https://azure.microsoft.com/ja- jp/features/devops-projects/ Azure DevOps Projects は、 .NET core, ASP.NET, Node.js, Java, Python, もしくは PHP アプリケーションのための Azureリソース作成と、継続的統合(CI)と 継続的配置(CD)のパイプラインの構成のための簡便なUIを提供
  48. 48. 作られるもの App Service Plan Web App for Containers Azure Container Registry Application Insights Azure DevOps • Git Repository • Project • Build (CI) • Release (CD) Azure DevOps Project 事前に必要なもの  Visual Studio Account  無料版でOK e.g. Visual Studio Dev Essentials
  49. 49. 雛形は GitHub 上に存在 https://github.com/Microsoft/devops-project-samples
  50. 50. Azure DevOps概要 旧 Visual Studio Team Services: VSTS 実績のあるアジャイル ツールを使用 してより迅速にユーザーに価値をも たらし、チームの垣根を越えて作業 を計画、追跡したり、作業に関す る相談をしたりできます。 あらゆる言語、プラットフォーム、クラウド に対応した CI/CD を使用して、ビルド、 テスト、デプロイできます。GitHub や他 の Git プロバイダーに接続し、継続的に デプロイすることもできます。 クラウドでホストされた容量無制限 のプライベート Git リポジトリを入手 し、プル要求と高度なファイル管理 により、優れたコードを協力してビル ドできます。 手動の探索的テスト ツールを使 用することで、テストと公開を自 信を持って行うことができます。 パッケージを作成、ホストしたら、チーム で共有し、ワンクリックで CI/CD パイプ ラインに成果物を追加できます。 Azure Boards Azure ReposAzure Pipelines Azure Test Plans Azure Artifacts https://azure.com/devops ➔
  51. 51. App Service プランの特徴を利用したブランチモデル 一つのプランで(同じ価格で)複数アプリケーションを配置できる -stage -dev
  52. 52. コンテナーを使用した DevOps; CI/CD pipeline https://docs.microsoft.com/ja-jp/azure/architecture/example-scenario/apps/devops- dotnet-webapp
  53. 53. ネットワーク Azure App Service 概要 – コードをAzureに持ち込む Web Apps の基本 .NETアプリケーションの移行 アプリケーションの展開 ネットワーク 監視 Azure Security Center
  54. 54. App Service からオンプレミスへの接続
  55. 55. 要件に合わせたApp Serviceの提供形態 クラウド上へ数秒でAPIアプリ、 Mobileアプリ、もしくはWebアプリを 作成。あなたのアプリケーションのコー ドを実行するためのインフラを提供 ネットワーク分離、より高いスケール、 およびローカルvNETへのセキュアな接 続を提供する、専用のクラウド環境 クラウドの革新を、オンプレミスのインフ ラへ拡張。Azure Stack上のApp Serviceは、Azure Appサービスのパ ワーを、あなたのデータセンターへ提供
  56. 56. コンプライアンス準拠とネットワーク分離に対応するASE アプリを利用するユーザーへのアクセスを ロックダウン 高いアプリケーションセキュリティのための、 Web Application Firewall 仮想デバイス Traffic Managerが負荷を地理分散 地理分散したILB ASE Azure Virtual Network ILB App Service Environment Web apps WAF Azure Virtual Network API apps App Service Environment Web apps ILB WAF
  57. 57. App ServiceのプライベートIPサポート (2019年に提供予定) 2018年9月のMicrosoft Igniteでの発表: ASEでなくても、Internet接 続を遮断。 App Service Internet Azure Virtual Network Your app is only accessible from a private address in a selected Azure Virtual Network. It is not in public DNS nor is accessible directly from the internet. ExpressRoute On Premises
  58. 58. App Service: IP 制限 アプリへのアクセスを許可されている IP アドレスの許可/拒否リストを定義 • Linux / Container 含む、 全てのApp Service プランで利用可能 • さらに、Application Gateway で 経路を限定することが可能 (Link:docs)
  59. 59. App Service: 受信/送信IPアドレス マルチテナント環境であるため、ネットワークインフラが共有される Azure App Service における受信 IP アドレスと送信 IP アドレス 基盤が同じ、Azure Functions でも同様の考慮をする 送信IPアドレスはプロパティ or CLI で確認可能
  60. 60. 監視 Azure App Service 概要 – コードをAzureに持ち込む Web Apps の基本 .NETアプリケーションの移行 アプリケーションの展開 ネットワーク 監視 Azure Security Center
  61. 61. Diagnose and solve problems – 問題の診断と解決 https://github.com/Azure/Azure-WebApps- Support-Center https://qiita.com/superriver/items/b2a1e140 3ba9b163d648
  62. 62. 74 Web App for Containers のログ 診断ログの有効化 & az webapp log tail Azure Portal から有効化 Azure CLI で log tail az webapp log tail -n your_web_app_name -g your_resource_group_name
  63. 63. コンテナへ SSH して調査 https://(AppName).scm.azurewebsites.net/webssh/host https://docs.microsoft.com/ja-jp/azure/app- service/containers/app-service-linux-ssh-support
  64. 64. パフォーマンステスト App Service メニューから操作可能 実体は、Azure DevOps の Test > Load Test
  65. 65. 監視 Azure Monitorのブランド変更 今後も継続されます。 エージェントやソリューションなど、Log Analytics の一部と見なされていた他の機能は、Azure Monitor の 機能に変更されます。 機能は、Azure portal のエクスペリエンスに 加えられる機能の改善以外に変更点はありません。 Operations Management Suite ブランドの廃止 Operations Management Suite (OMS) は、ライセンス目的で以 下の Azure 管理サービスをバンドルしたものです。 • Application Insights • Azure Automation • Azure Backup • Log Analytics • Site Recovery これらのサービスに新しい価格設定が導入されました。新規のお客様 は OMS バンドルを入手できなくなりました。 前述の Azure Monitor への統合を除いて、OMS の一部だったサービスは変更されていません。 監視サービスを Azure Monitor への統合 Log Analytics と Application Insights は、Azure リソースとハイブ リッド環境を監視する単一の統合エクスペリエンスを提供するために Azure Monitor に統合されました。 これらのサービスから削除された 機能はありません。機能を失ったり妥協したりすることなく、これまでと 同じシナリオを実行できます。 これらの各サービスのドキュメントは、Azure Monitor の単一のコンテン ツ セットに統合されています。 そのため、特定の監視シナリオに関する すべてのコンテンツを 1 つの場所で見つけることができます。複数のコン テンツ セットを参照する必要はありません。 統合サービスの進化に 伴って、今後もコンテンツの統合を進める予定です。 Log Analytics の再定義 Log Analytics は、Azure の管理において中心的役割を果たします。 たとえば、さまざまなソースからテレメトリなどのデータを収集します。また、 アプリケーションやリソースの運用に欠かせない分析情報を得る手段と してクエリ言語や分析エンジンを備えていることも、そうした役割の 1 つです。 この重要な役割は、Azure Monitor の機能として https://docs.microsoft.com/ja-jp/azure/azure-monitor/azure-monitor-rebrand
  66. 66. Azure Monitorによる統合監視 Metrics Logs Application Containers VM Monitoring Solutions Insights Dashboards Views Power BI Workbooks Visualize Metrics Explorer Log Analytics Analyze Alerts Autoscale Respond Event Hubs Ingest & Export APIs Logic Apps Integrate Azure Monitor Custom Sources Application Operating System Azure Resources Azure Subscription Azure Tenant
  67. 67. 82 監視: Azure Monitor
  68. 68. 83 監視: Azure Monitor: リソースグループ全体の可視化
  69. 69. 84 監視: Azure Monitor Application InsightsによるEnd-to-Endの診断 NEW!
  70. 70. Application Insights の有効化 Azure Portal
  71. 71. Application Insights – Node.js の場合 https://docs.microsoft.com/ja-jp/azure/application-insights/app-insights-platforms "dependencies": { "applicationinsights": "^1.0.0" } const appInsights = require('applicationinsights'); appInsights.setup(); appInsights.start();
  72. 72. Application Insights - メトリックスエクスプローラー
  73. 73. 88 監視: Azure Monitor Log Analyticsによる詳細なクエリ
  74. 74. Azure Security Center Azure App Service 概要 – コードをAzureに持ち込む Web Apps の基本 .NETアプリケーションの移行 アプリケーションの展開 ネットワーク 監視 Azure Security Center
  75. 75. セキュリティ: Azure Security Center https://blogs.msdn.microsoft.com/azuresecurity/2016/10/31/how-does-azure-security-center-help-microsoft-it/ • • • 90
  76. 76. 93 セキュリティ: Azure Security Center Just In Time VMアクセス 93
  77. 77. 94 セキュリティ: Azure Security Center セキュリティ プレイブック 94
  78. 78. Web App on Linux Azure App Service 概要 – コードをAzureに持ち込む Web Apps on Linux Web App for Containers Web App Bot ( Bot Service ) Functions / Logic Apps
  79. 79. 2012/06 Azure Websites, first preview version 2013/06 Azure Websites, GA 2015/03 App Service にサービス統合&名称変更 Azure Websites は、Azure Web Apps へ Mobile Apps, API Apps, Logic Apps は public preview 2016/10 App Service on Linux, first preview version Node.js, PHP support からスタート 2017/09 App Service on Linux, GA App Service の歴史
  80. 80. 98 2013 年 Web App (Windows ベース環境) が GA Linux ベースの環境は、2017 年 App Service on Linux が GA サポートされている言語 : Node.js、PHP、.NET Core、Ruby (バージョンに制限がある) アプリケーションに必要なランタイムが組み込みイメージでサポー トされていない場合は、独自の Docker イメージを作成して Web App for Containers にデプロイする方法があります。 Web App on Linux
  81. 81. Demo App Service – Web Apps on Linux
  82. 82. GitHub: https://github.com/azure-app-service DockerHub: https://hub.docker.com/u/appsvc/ Tips: Web App on Linux の組み込みイメージ Dockerfile を確認可能
  83. 83. 105 Azure ポータルでできる機能のみが表示 仮想ネットワーク統合、サイト拡張機能などの機能は、まだ利用不可 Web App for Containers をWindows版Web Apps が含まれてい るリソース グループに作成する場合は、既存の App Service プランとは 別のリソース グループに App Service プランを作成する必要あり Web App on Linux の制限事項
  84. 84. 106 Web App on Linux の制限事項 Windows と Linux の混在 同一リージョン、同一リソースグループ内に、 Windows と Linux の App Service Plan が混在できない NG • 01-rg - App Service Plan Windows - Japan East • 01-rg - App Service Plan Linux - Japan East OK • 01-rg - App Service Plan Windows - Japan East • 01-rg - App Service Plan Linux - Japan West OK • 01-rg - App Service Plan Windows - Japan East • 02-rg - App Service Plan Linux - Japan East
  85. 85. Diagnose and solve problems – 問題の診断と解決 Web App for Containers では、 いまのところ以下の3つに対応 • Web App Down • Web App Slow • Container Initialization https://github.com/Azure/Azure-WebApps-Support-Center https://qiita.com/superriver/items/b2a1e1403ba9b163d648
  86. 86. Web App for Containers Azure App Service 概要 – コンテナーをAzureに持ち込む Web Apps on Linux Web App for Containers Web App Bot ( Bot Service ) Functions / Logic Apps
  87. 87. 110 Web App for Containers コードを Azure に持込み コンテナーを Azure に持込み + Web App for ContainersWeb App
  88. 88. Why Containers ? – Write-once, Run-anywhere ‘Write-once, Run-anywhere’ マイクロサービス アーキテクチャ対応 Dev/Test の効率化 確実な Production 環境の配置 Developer Community の成長 アプリケーションのポータビリティ 開発, QA, 運用環境の標準化 OS やインフラ環境の抽象化 リソース配分の最適化 高速起動、スケーラビリティの確保 DevOps Developers Operations
  89. 89. Docker Containers クラウドからオンプレミスまで どこでも実行可能な高速で軽量な アプリケーション / サービスの 配置, 運用, 管理, 自動化のための技術 コンテナー型のアプリ仮想化技術 • ネットワークやリソースを分離 • 高速かつオーバーヘッドの少ない配置展開 • オープンソース WindowsLinux
  90. 90. 仮想マシンと Docker コンテナー Docker コンテナー仮想マシン インフラストラクチャー インフラストラクチャー ホストOS ハイバーバイザー ゲスト OS バイナリ/ライブラリ アプリ 1 ゲスト OS アプリ 2 ゲスト OS アプリ 3 アプリ/サービス 1 コンテナー エンジン OS + コンテナー レベルで、ネットワーク分離 + コンテナー レベルで、リソース制限 バイナリ/ライブラリ バイナリ/ライブラリ バイナリ/ライブラリ バイナリ/ライブラリ バイナリ/ライブラリ アプリ/サービス 2
  91. 91. Docker Container Registry の選択肢 イメージのソース • Azure Container Registry • Docker Hub • プライベートレジストリ イメージとオプションのタグ  e.g. nginx
  92. 92. Demo App Service – Web App for Containers
  93. 93. Azure Container Registry 全てのコンテナーイメージをサポート イメージをネットワーク上、近いDCへ • 何度もビルド、何度もデプロイ 多くの Azure サービスと連携 • Web App for Containers だけではない • Azure Kubernetes Service • Service Fabric • Azure Container Instance
  94. 94. Azure Container Registryの価格 https://azure.microsoft.com/ja- jp/pricing/details/container-registry/
  95. 95. アプリをDockerコンテナ化してフルマネージドサービス(Web App for Containers / Azure DB for MySQL)へ移行 Container Web App for Containers VM PHP App + Apache2 VM PHP App + Apache2 Container PHP App + Apache2 VM VM ① ② ③ アプリのDockerコンテナ化 Azure PaaSでフルマネージド化
  96. 96. Azure PaaSでフルマネージド化した構成例 Docker Container Web App for Containers アプリ + Web/Appサーバ • 必要なものは全てコンテナイメージ化されたコンテナ インスタンスをWeb Appで走らせる • Web Appの特徴 • フルマネージド • 高速なプロビジョニング • オートスケール • 豊富な運用管理+DevOps機能 • 既存のドライバ、ライブラリと完全互換でそれまで同様 の使い方が可能 • Azure DB for MySQLの特徴 • フルマネージドデータベース • 標準冗長化+自動フェイルオーバー • ダウンタイム無し scale up/down可 • 自動バックアップ/Point in time recovery可能
  97. 97. アプリをコンテナ化し、Web App for Containerへ移行する流れ ローカル PC Container Registry • 開発、ビルド、テスト • コンテナイメージ作成 コンテナイメージを Registryにプッシュ Web Appが コンテナイメーを Registryからプル https://hub.docker.com/ 展開スロット • 開発 • ステージング • 本番
  98. 98. Azure Data Services オンプレ RDBMS 連動 ETL PaaS RDB IaaS + RDB PaaS NoSQL https://azure.microsoft.com/ja-jp/product-categories/databases/ Azure Database for MariaDB Azure SQL Database Managed Instance
  99. 99. データベース移行のためのツールとサービス データベース移行のための支援ツールと PaaS サービス 移行の検討・計画 移行実施 • 充実したアセスメント • 機能に対しての推奨事項の提示 https://www.microsoft.com/en- us/download/confirmation.aspx?id=53595 • MS / 非 MS 製品をソースとして サポート • スケールと信頼性 • Enterprise レベルのセキュリティ https://azure.microsoft.com/ja- jp/services/database-migration/
  100. 100. Data Migration Assistant アップグレードアドバイザーの後継 移行先として SQL Server、 SQL Server On Azure VM、Azure SQL Database に対応 2 種類の機能を提供 移行のアセスメント サイドバイサイドのデータベース移行 SQL Server 2012 以降(on Azure VM) Azure SQL Database / Managed Instance SQL Server 2005 以降 移行元 移行先
  101. 101. 125 Azure Database Migration Service 複数のデータベースソースから Azure への移行を最小限のダウンタイムで実現するPaaS サービス Data Migration Assistant による、オンプレミスSQL Serverのアセスメント機能 データベース移行のプロセス監視 サポートされているターゲット Azure SQL Database Azure SQL Database Managed Instance 以前のバージョンの SQL Server オンプレミス Azure Database Migration Service Azure SQL Database Azure SQL Logical Server SQL Database Managed Instance サイト間接続 /ExpressRoute ➀ スクリプトによるスキーマ生成 ➁ 一括コピー VNET 間接続 専用サブネット 共有フォルダー *.bak ファイル ➀ バックアップ *.bak ファイル ➂ 復元 ➁ アップロード
  102. 102. Azure Database Migration Service サポートされる移行シナリオ https://docs.microsoft.com/ja-jp/azure/dms/resource-scenario-status より抜粋
  103. 103. Azure App Service の Windows コンテナ サポート パブリック プレビュー中 Windows Server Core ベースのイメージ で、コンテナ化された.NETアプリをホスト Nano サーバーベースのイメージで、コンテ ナ化された.NET Coreアプリをホスト Windows コンテナーへのアプリの展開に ついて、高い生産性を提供 コンテナーがサンドボックスとなり、カスタム コールのインストールが可能となり、コンテナー を使っていないときにはAPIコールをブロック Announcing the public preview of Windows Container Support in Azure App Service https://azure.microsoft.com/en-us/blog/announcing-the-public-preview-of-windows-container-support-in-azure-app-service/
  104. 104. Visual Studio (Windows) Visual Studio for Mac Visual Studio Code (クロスプラットフォーム) Support for: - Docker - Windows コンテナー - Docker - Linux コンテナー - マルチコンテナーのアプリケーション デバッグ による、 既存アプリのコンテナ化
  105. 105. Dockerレジストリ経由で、Azureのコンテナーへ展開例 docker pull PC 上の開発環境 Windows 10 以降のDocker for Windows コンテナー上の アプリケーション コンテナー上の Database Docker engine と Docker CLI ローカルの Docker イメージ レポジトリー docker push Container Registry Docker Hub もしくは Azure Container Registry docker-compose build or docker build 展開先の選択肢 Azure Container Instances (ACI) Azure VM Windows Server 2016/2019 Docker Engine Azure App Service (Windows Containers対応はプレビュー) Azure Kubernetes Service (Windows Containers対応はプレビュー) Service Fabric (Mesh or cluster) (Service Fabric meshはプレビュー)
  106. 106. Azure App Service for Containers (Windows Containersサポート) PC上の開発環境 Windows 10 Docker for Windows Windows Server Core Container上の ASP.NET (.NET Framework) Windows Server Core Container上の SQL Server Docker engine and Docker CLI ローカルの Docker イメージ レポジトリー docker push Docker Registry Docker Hub もしくは Azure Container Registry docker-compose build or docker build New! (パブリック プレビュー) Windows Containers PaaS スケールアウト コンテナー Azure SQL Databas (*) Visual Studio Tooling coming soon for App Service and Windows Containers https://azure.microsoft.com/en-us/blog/announcing-the-public-preview-of-windows-container-support-in-azure-app-service/ Azure App Service for Windows コンテナ (プレビュー) への展開
  107. 107. クラウドへの移行パターン 既存のASP.NET Webアプリ、APIやWCFサービスをAzureでホストする クラウドインフラ対応 クラウドへ最適化 クラウドへ最適化されたコンテナー IaaS (Azure Windows Virtual Machine) PaaS (Azure App Service) Windows Containers (Service Fabric/mesh, AKS/ACI, VM with Windows Containers, Web App for Containers) ✓ 設計変更や、新しいコードは不要 ✓ 最小限の工数で迅速に移行 ✓ オンプレミスと同様の展開モデル ✓ インフラストラクチャの運用が不要 ✓ 高い可用性、スケーリングとセキュリティを提供 ✓ 複数バージョンの.NETをサポート ✓ CI/CDによる自動展開可能 ✓ 詳細な監視、診断とデバッグ ✓ 再設計(re-architect)は不要で最小限のコード、 もしくは、構成設定の変更のみ ✓ 自己完結のコンテナにより、展開の改善と DevOpsの俊敏性 ✓ CI/CDによる自動展開可能 ✓ オーケストレーターにより、高い可用性とスケーラビ リティを提供 ✓ Dockerコンテナーにより、アプリケーションの可搬 性と、マルチ クラウド対応 x 更新プログラム適用やアップグレードは手作業 x スケーリングや可用性の仕組みも手作業 x 全てのアプリがサポートされるわけではない。 x コードのリファクタリングが必要になる場合がある x コンテナーに関する学習障壁 適切なAzure ホスティング オプションの選択: https://docs.microsoft.com/ja-jp/dotnet/azure/dotnet-howto-choose-migration
  108. 108. Web App for Containers で “できない” こと 必読! Things You Should Know: Web Apps and Linux • VM のようにコンテナへ直接、docker exec -it (ImageName) /bin/bash できない => コンテナで SSH プロセスを実行することでポータルから SSH 可能 • ファイル永続化する場合は、/home 配下へ。それ以外は再起動で無くなってしまう。 => 拡張機能などは、すべて Dockerfile でインストールし、コンテナ内へ。 • 複数のポートを公開することができない。外部公開ポートは1つだけ。 • 複数コンテナ(docker-compose)に対応していない。 => Public Preview で、docker-compose と kubernetes に対応。 => 使い分けとして、オーケストレーションが必要な場合は、Azure Container Service (AKS) を 検討する。
  109. 109. https://docs.microsoft.com/azure/app-service/ Azure Web Apps のドキュメント - チュートリアル
  110. 110. CI/CDパイプラインを使いビルドと展開を自動化 開発環境 繰り返し 1. Build, CI 3. Azure DevOps コーディング、 実行、 デバッグ Application code repo (SCC) Code Push 2. git push Docker Hub もしくは Azure Container RegistryDocker registry docker push Custom Image 5. 展開先の選択肢 Azure Container Instances (ACI) Azure VM Windows Server 2016/2019 Docker Engine Azure App Service (Windows Containers対応はプレビュー) Azure Kubernetes Service KUBERNETES (Windows Containers対応はプレビュー) Service Fabric (Mesh or cluster) (Service Fabric meshはプレビュー) CD, deploy 4. Azure DevOps (*) SQL Serverのコンテナーは、開発/テスト環境向けです。 本番環境では、Azure SQL Databaseのような高可用性システムへ移行してください。 (*) (*)
  111. 111. コンテナーを使用した DevOps; CI/CD pipeline https://docs.microsoft.com/ja-jp/azure/architecture/example-scenario/apps/devops- dotnet-webapp
  112. 112. Build Utility Deploy Tool Azure Pipelineで使えるタスクの例
  113. 113. Web App Bot ( Bot Service ) Azure App Service 概要 – ボット Web Apps on Linux Web App for Containers Web App Bot ( Bot Service ) Functions / Logic Apps
  114. 114. Conversation as a Platform
  115. 115. Microsoft Bot Framework BOT アプリを容易に作成するフレームワーク ダイアログ形式の コミュニケーションを実装 (C#, Node.js) BOT アプリをメッセージング サービスに接続 Bing, Cortana などから利 用できるディレクトリに登録
  116. 116. Cognitive Services QnA Maker 質問&回答リスト and/or FAQ ページからBotを自動作成 https://www.qnamaker.ai/
  117. 117. 10分で Q & A チャット ボットを構築、管理、デプロイ QnA Maker は、質疑応答のための REST APIを提供します。ボット作成のプラットフォーム、Azure Bot Service を組み合わせることで、簡単に Q & A 対応するボットを作成することができます。 チュートリアル: Azure Bot Service v3によるQnA ボットの作成 https://docs.microsoft.com/ja-jp/azure/cognitive-services/qnamaker/tutorials/create-qna-bot
  118. 118. Postmanを使用してナレッジ ベースから回答を取得するhttps://docs.microsoft.com/ja-jp/azure/cognitive-services/qnamaker/quickstarts/get-answer-from-kb-using-postman
  119. 119. ユーザーは、あなたが期待する事を言わない 部屋を探しています。 私は家を探しています。3-4の部屋があって、毎月2万円から5万円くらいで 管理できる庭があって、品川から電車で45分、その最寄り駅から 徒歩10分圏内で、そこから徒歩5分以内にジムがある部屋を探しています。
  120. 120. ボット導入は、ボットを賢くすることが目的ではない ナビゲーションをして、ボットに何ができるか、ユーザーに見つけてもらう ボット導入の目的は、時間の節約 ようこそ! 何かお役 に立つ事はありま すか? Events Stages Amenities どのイベントに興味 がありますか? Music Comedy Film Laser Dome Spectacles Theater どの音楽が好きですか? “Star Trek”
  121. 121. Bot はテキスト以外 の表示もできる
  122. 122. 可能な限りの情報を提示 思考 表現手段
  123. 123. Microsoft Cognitive Services 画像/ビデオの 読解/顔識別/ 感情判別/OCR 話者識別 音声⇔テキスト 文章解析 文意文脈理解 Web/学術情報 ビックデータ解析 Bing による検索
  124. 124. 159 Cognitive Servicesの例: Face APIs https://azure.microsoft.com/ja-jp/services/cognitive-services/face/ 判定 "faceRectangle": {"width": 193, "height": 193, "left": 326, "top": 204} … 説明要素 "attributes": { "age": 42, "gender": "male", "headPose": { "roll": "8.2", "yaw": "-37.8", "pitch": "0.0" }} グルーピング 認証 Jasper Williams
  125. 125. 可能な限りの情報を提示 思考 表現手段
  126. 126. 会話を補助するダイアログの例 こんにちは。○○株式会社の□□と申します。 本日△△さんと11:00からお約束しております。 Intent: MTG Entities CompanyName:○○株式会社 VisitorName: □□ RequesterName: △△ MeetingDateTime: Today, 11:00 □□様、お待ちしておりました。 ××番の会議室までお越しください。
  127. 127. http://www.headwaters.co.jp/news/pepper/SynApps.html Cognitive Services 事例: 顔認識による Pepper 応対
  128. 128. Challenge • チャットボットとの対話イン ターフェイスを採用し、旅 行前から旅行中までトータ ルなサポートを実現 Solution • 独自アプリへチャットボッ トUIを実装 • Microsoft Bot FrameworkとLUISを導 入することでリードタイム 短縮 Benefits ・あいまいな表現による検索を可能にし、行きたい場 所を簡単にみつけることができる ・ボットによる通知機能で旅行中のやり残しも防げる ・観光情報・地図・チャットすべてが英語表記になり、 外国人観光客の利用も可能 旅行前から旅行中までをチャットボットがサポート! 日英対応の、新しい観光ガイドブックアプリ 「鎌倉NAVITIMEトラベル」
  129. 129. 株式会社ナビタイムジャパン 様 Travel Bot のシステム概略 ( Azure Bot Service 事例 ) https://customers.microsoft.com/ja-jp/story/navitime
  130. 130. 165 Azure Search QnA Makerは、バックエンドでAzure Searchを利用 Search-as-a-Service。検索に関する知識がなくても、アプリに検索機 能を実装可能 1. アプリに検索機能を実装可能 2. インデックス型の全文検索が可能 3. REST API で検索可能 4. SQL データベース / Cosmos DB / Blob ストレージ / Table ストレージはクロール可能 5. データの参照先として使用すれば、データベースの負荷を低減できる
  131. 131. Challenge • 電話による問い合わせは年間 200 万 件、しかも約半数は夏場の 3 か月に 集中しており、負荷分散が急務 • 空調機の故障診断は情報量が多く時 間がかかるため好きなタイミングに自分 で調べられる方法を望まれるお客様も 増加 • コール センターの運用を効率化しながら、 顧客満足度も高めたい Solution • 適切な回答へと誘導できる AI として 自然言語処理 AI を導入 • 1 ステップずつ手順を確認・理解しな がら故障かどうかを判断できるチャッ ト ボットの導入 • フリー ワードを切り口とした上で、関 連性が高い故障診断のフローに落と し込み、会話を進めながら診断を進 めていくアプローチで、故障診断に適 用 Benefits •従来の FAQ に比べ診断途中での離 脱率を低下 •チャット ボットの導入後、サポート サイ トのリニューアルとの相乗効果もあり、 Web での修理受付の利用率が 2 倍 以上に 人工知能(AI)を活用した自動応答チャットで どこでも素早くお問い合わせ可能 AI 故障診断サービス
  132. 132. ダイキン工業株式会社様: 故障診断にチャット ボットを導入、自動で素早く対応することで顧客満足の向上へ https://customers.microsoft.com/ja-jp/story/daikin-bot-framework-azure-luis-app-sql-database-jp-japan
  133. 133. Web App Bot ( Azure Bot Service ) Bot 構築に必要な技術 会話の入出力 自然言語処理 回答 DB ログ DB
  134. 134. Web App Bots ( Azure Bot Service ) と QnA Makerのまとめ チャット ボットのメリット • クライアント アプリケーションを問わない Azure Cognitive Services - QnA Makerのメ リット • 簡便なユーザーインターフェイスにより、コンテンツの追 加や再学習などの継続的なメンテナンスを、エンドユー ザーに任せられる • REST API により、どのようなアプリケーションからも利 用可能 Azure Bot Serviceのメリット • Bot Connector により、様々なチャットアプリケーショ ンと簡単に接続 • Node と C# をサポートする Bot Builder SDKにより、 ボットを容易に拡張 LUIS※ C# LUIS※
  135. 135. Function / Logic Apps Azure App Service 概要 – サーバー レス Web Apps on Linux Web App for Containers Web App Bot ( Bot Service ) Functions / Logic Apps
  136. 136. アプリケーション最適化モデル 既存のアプリケーション (オンプレミス) クラウド最適化 PaaS クラウド ネイティブ PaaS (マイクロサービス とサーバーレス) クラウド インフラストラクチャー対応 VMs マネージド サービス オンプレミス 移行 / 再ホスト クラウド向けに設計された新規のコード Azure PaaS ( コンテナ化されたマイクロサービス + サーバーレス コンピューティング + マネージド サービス )+ コンテナー IaaS (Infrastructure as a Service) モダナイゼーション コードの変更は最小限 クラウド環境が基本。検討事項: ネットワーク、ハイブリッド クラウド、IDと認証、コスト コントロールと運用モデル Azure Azure
  137. 137. • マイクロサービスで構築した環境の実行基盤として、コンテナ技術の親和性が高い • クラウド利用の場合は、サーバー保有 の必要がないサーバーレスの選択肢も モノリシックからマイクロサービスへ Serverless Containers Monolithic Frontend Middle tier Backend Microservice 1 Microservice 2 Microservice 3 Microservice 4 Function 1 Function 2 Function 3 Function 4 Function 5 Function 6 Function 7 Function 8 Function 9 Function 10 • Azure Functions • Logic Apps • Web App for Containers • Azure Container Instances • Azure Kubernetes Service • Azure Service Fabric
  138. 138. インフラの効率化から、アプリケーションのイノベーションへビジネス価値 時間 効率 イノベーション PaaS IaaS サーバーレス 466% return on investment $5.91M net present value 80% IT time saved 50% faster service deployment Statistics based on five-year, risk-adjusted figures for a composite organization constructed from aggregated interviews with eight Microsoft Azure IaaS customers. Source: “The Total Economic Impact Of Microsoft Azure PaaS,” a commissioned study conducted by Forrester Consulting, June 2016
  139. 139. サーバーレス: 迅速にアプリケーションを構築
  140. 140. Azureのサーバーレス アプリケーション プラットフォーム
  141. 141. Azure Functions (サーバーレス) を利用して新しいアプリを構築
  142. 142. Azure Functions イベント ドリブン型のサーバーレス コンピューティング Code Event と DataFunctions Azure Functions でサポートされている言語 https://docs.microsoft.com/ja-jp/azure/azure-functions/supported-languages サポート言語 C# Java Script F# Preview (2.x) Java 試験段階 (1.x) Python TypeScript バッチ (.cmd、.bat) Bash PowerShell
  143. 143. Functions のトリガーとバインド 型 トリガー 入力 出力 Blob Storage x x x Cosmos DB x x x Event Hubs x x x 外部ファイル x x 外部テーブル x x HTTP x x Microsoft Graph Excel テーブル x x Microsoft Graph OneDrive ファイル x x Microsoft Graph Outlook メール x Microsoft Graph Events x x x Microsoft Graph Auth トークン x Mobile Apps x Notification Hubs x Queue Storage x x SendGrid x Service Bus x x Table Storage x x Timer x Twillio x Webhook x x Azure Functions でトリガーとバインドの概念 https://docs.microsoft.com/ja-jp/azure/azure-functions/functions-triggers-bindings
  144. 144. Azure Logic App 繋げる&オーケストレートする ( しかもコードレスで ) コネクターとしてのLogic App • 将来のAPIを中心に疎結合された システム間の連携を強く意識 • オンプレ、ハイブリッド、クラウドアプリ 間の連携を容易に実現可能にする
  145. 145. Azure Logic App 豊富なコネクター
  146. 146. Azure Logic App オーケストレート:ワークフローデザイナー
  147. 147. App Service の事例 Jet.com 様 ドミノピザ 様 富士フィルムソフトウェア株式会社 様 アサヒビール株式会社 様
  148. 148. 186 Azure PaaSを活用したJet.com構成例 在庫更新処理: ブラックフライデー、サイバーマンデーなど 高トラフィック時でもサービス品質を低下させない ① フロントエンドをトラフィック に応じてオートスケール • Azure Web App ② 迅速な在庫データの更新 と変更データのバックエン ドへの同期 • Cosmos DB • Azure Search
  149. 149. フロントエンド – Azure Web App メトリックの値と条件を元にしたオートスケール Application Insights リソースを選択 してカスタムメトリックに ここでは: 最小1, 最大10, 規定2
  150. 150. 188 リファレンス アーキテクチャ Web アプリケーションハイパフォーマンス&スケーラブル構成 Azure Web Appフロント Web JobsとQueue Storage でバックグラウンドタスク実行 Redis CacheとCDNで コンテンツキャッシュ SQL DBと Cosmos DBに データストア Azure Searchとの連携 https://docs.microsoft.com/azure/architecture/reference-architectures/app-service-web-app/scalable-web-app
  151. 151. Domino’s Pizza
  152. 152. ドミノピザ:これまで抱えていた問題 リージョンごとに分離されたシステム リージョン1 ストア アプリ1 リージョン2 ストア アプリ 2 リージョン3 ストア アプリ 3 システムのスケールをリージョンごとに 設定する必要があった データの設定、メンテナンスもリージョ ンごとに個別 オーストラリア EU 日本
  153. 153. Azure PaaSを活用したドミノピザ構成例 世界中のお客様に対して、ピーク時間でもレスポンシブで高い可用性(99.99%) でサービスを提供
  154. 154. User#1 (Location: Australia) User#2 (Location: Germany) Traffic Manager Traffic Manager 発信元の地理的な場所に基づい てユーザーを地理的に近いリージョ ンに優先的にルーティング Azure Web App フロントエンドをトラフィックに応じて オートスケール Cosmos DB グローバルに読み込み・書き込みを 低いレイテンシーで実現した 分散データベース
  155. 155. Traffic Managerによるルーティング設定 Traffic ManagerのGeographicルーティングモードにより発信元の地理的な 場所に基づいてユーザーを地理的に近いリージョンに優先的にルーティング
  156. 156. 194 リファレンス アーキテクチャ Traffic Managerによるルー ティング Azure Web Appフロント SQL Database と Cosmos DB の Geo レプリケーション Azure Searchは各リージョン で個別に立てる https://docs.microsoft.com/ja-jp/azure/architecture/reference- architectures/app-service-web-app/multi-region Web アプリケーションの複数リージョン構成
  157. 157. Azure eコマースソリューションページ: https://azure.microsoft.com/ja-jp/solutions/ecommerce/ Azureリファレンスアーキテクチャ - Web アプリ: https://docs.microsoft.com/ja-jp/azure/architecture/reference- architectures/#web-applications App Services Best Practices for Large Scale Applications: https://www.youtube.com/watch?v=HxpgiYc-F_k Jet.com事例: https://www.microsoft.com/ja-jp/casestudies/jetcom.aspx 参考URL
  158. 158. 富士フイルムソフトウェア株式会社様 IMAGE WORKS の例 App Service + Cosmos DB + Azure Searchの構成事例 https://customers.microsoft.com/ja-jp/story/ffs-fujifilm
  159. 159. Challenge • 機能別に複数システムを 構築した結果、営業担当者の 入力業務が煩雑化 • 「サイロ化」したシステムが 業務効率を悪化 Solution • 既存業務に適合できる柔軟性を重 視し、18 年にわたって使い続けられ てきた複数の営業基幹システムのモ ダナイゼーションを Microsoft Azure で実現 • 既存業務システムをそのまま活かし つつ、PaaS 機能を積極的に活用し た SoE と緩やかに連携 Benefits •多様なサービスを提供している Azure で 柔軟な機能選択を実現。 段階的なシステムの成長が可能に。既存 システムをそのまま活かしつつ最新技術を 活用したシステムに 再構成 •投資額やリスクを抑制しながら、 営業担当者の利便性を大幅に 高めることに成功 既存システムに柔軟に機能を「ちょい足し」 開発期間 4 か月で今まで数時間かかっていた業務を わずか数十分にまで短縮
  160. 160. 198 アサヒビール株式会社 様: 既存営業基幹システムを活かしながら Azure PaaSによるモダナイゼーションを実施 https://customers.microsoft.com/ja-jp/story/asahibeer-manufacturing-azure-app-functions-cosmos-expressroute-jp-japan
  161. 161. まとめ
  162. 162. 201 Azure App Service End-to-end のアプリケーション PaaS プラットフォーム App Service
  163. 163. アプリケーション最適化モデル 既存のアプリケーション (オンプレミス) クラウド最適化 PaaS クラウド ネイティブ PaaS (マイクロサービス とサーバーレス) クラウド インフラストラクチャー対応 VMs マネージド サービス オンプレミス 移行 / 再ホスト クラウド向けに設計された新規のコード Azure PaaS ( コンテナ化されたマイクロサービス + サーバーレス コンピューティング + マネージド サービス )+ コンテナー IaaS (Infrastructure as a Service) モダナイゼーション コードの変更は最小限 クラウド環境が基本。検討事項: ネットワーク、ハイブリッド クラウド、IDと認証、コスト コントロールと運用モデル Azure Azure
  164. 164. 今後の理解促進のために アーキテクチャ センター オンデマンド ウェビナー 自習書
  165. 165. アーキテクチャ センター > シナリオ例 https://docs.microsoft.com/ja-jp/azure/architecture/example-scenario/ 今後の理解促進のために Azure Functions x Cognitive Service: 画像分類 コンテナーを使用したDevOps: CI/CD e-commerce フロントエンド APIベースのアーキテクチャ Azure Searchを使用した検索エンジン
  166. 166. Azure Functions x Cognitive Service: 画像の分類 https://docs.microsoft.com/ja-jp/azure/architecture/example-scenario/ai/intelligent-apps-image-processing
  167. 167. コンテナーを使用した DevOps; CI/CD pipeline https://docs.microsoft.com/ja-jp/azure/architecture/example-scenario/apps/devops-with-aks
  168. 168. コンテナーを使用した DevOps: CI/CD pipeline https://docs.microsoft.com/ja-jp/azure/architecture/example-scenario/apps/devops-dotnet-webapp
  169. 169. e-commerce フロントエンド https://docs.microsoft.com/ja-jp/azure/architecture/example-scenario/apps/ecommerce-scenario
  170. 170. API ベースのアーキテクチャ https://docs.microsoft.com/ja-jp/azure/architecture/example-scenario/apps/apim-api-scenario
  171. 171. Azure Search を使用した検索エンジン https://docs.microsoft.com/ja-jp/azure/architecture/example-scenario/apps/apim-api-scenario
  172. 172. オンデマンド ウェビナー 今後の理解促進のために
  173. 173. Azure ウェビナー オンデマンド WebinarLive Webinar 登録 https://aka.ms/azurejp-live-webinar https://aka.ms/azurejp-ondemand-webinar
  174. 174. iOS/Android アプリ開発の必須機能をご紹介! Visual Studio App Center で始めるモバイルアプリ高速開発の基礎と実践 ついに上陸!PaaS の最新兵器、ご紹介 (App Service on Linux & Azure Database for PostgreSQL/MySQL) Web App for Containers 概要と実戦投入への準備 (2018/2/8版) Web App for Containers 概要と実戦投入への準備 -実践編- (2018/3/27版) Web App for Containers + Cosmos DBで コンテナ対応した MEANアプリを作ろう! オンデマンド ウェビナー: App Service App ServiceApp Service 第1回 Azure App Service での .NET Core および SQL Database の Web アプリの作成 第 2 回 Azure App Service での .NET および SQL Database の Web アプリの作成 進化する Web ~ Progressive Web Apps の実装と応用~ Web サーバー管理者のための Azure App Service 再入門 Azure PaaS を活用したモダン E コマースソリューションの構築方法 - App Service から Azure Search まで PaaS 機能をご紹介 - Xamarin と Cognitive Services、そして Visual Studio App Center が実現する Intelligent Mobile App
  175. 175. オンデマンド ウェビナー: Azure Data Services Azure Data Services (Cosmos DB / SQL DB) 実録! Cosmos DB でのチャットサービス稼働 ~MongoDB API 編~ クラウドネイティブなアプリケーションを実現する「Azure Cosmos DB」のキホンと使いドコロ SQL Server 2008 EOS 直前 ! まだ間に合う SQL Server 移行 (クラウド編) Managed Instance 徹底攻略 Azure Database for MySQL / PostgreSQLを使っ てアプリケーション開発に注力しませんか? Azure Database for MySQL/MariaDB/PostgreSQL 入門 何が違う?Azure SQL Database for MySQL/PostgreSQL/MariaDB ついに上陸!PaaS の最新兵器、ご紹介 (App Service on Linux & Azure Database for PostgreSQL/MySQL) Azure Data Services (OSS)
  176. 176. Azure上でのコンテナ利用パターン紹介 Microsoft Azureで動くコンテナ技術の紹介と活用 方法 ~Azure WebApp/Azure Container Service(K8S)/Container Registry/RedHat OpenShift/Pivotal Cloud Foundry~ きっちり“コンテナ”を理解しよう 一挙紹介! Kubernetes on Azureで実現する快 適なマイクロサービス環境 ~ Microsoft Build 2018 での発表内容をお届け~ オンデマンド ウェビナー: コンテナ ContainerContainer Connect(); 徹底解説シリーズ!~ Kubernetes 編 ~ コンテナ・オーケストレーションの世界にもサーバレス がやってくる Web App for Containers 概要と実戦投入への準 備(2018/2/8版) Web App for Containers 概要と実戦投入への準 備 -実践編-(2018/3/27版) Web App for Containers + Cosmos DBで コンテ ナ対応したMEANアプリを作ろう! 短期モバイルアプリ開発に不可欠な ”コンテナ活用” 最新事例と始め方
  177. 177. オンデマンド ウェビナー: サーバーレス、その他 Serverless DMM プラットフォームの人気ゲームタイトルの開発会 社と解説する、コネクテッドゲーム向けの Azure PaaS & サーバーレス活用法 入門編 インフラ構築不要!Azure で作る Web アプ リケーション 本格化するサーバーレス コンピューティングと Azure Functions の進化 Azure Functions&Logic App ではじめるサーバレス アプリケーション: 入門編 Azure Functions&Logic App ではじめるサーバレス アプリケーション: 応用編 高速!高精度!Azure Search はじめの一歩 GA目前! これから始める Chatbot 構築 ~ Microsoft Bot Framework 基礎編 Microsoft Bot Framework と Cognitive Services LUIS で実現する 自然言語解析チャットボットの構築 Bot Framework ではじめるチャットボット開発 Node.jsとBot FrameworkでChat Botをつくってみよ う! その他 (Search / Bot )
  178. 178. OpenShift on Azureで始めるDevOps (最新版 2018/5/8) Azureハイブリッドクラウドの本当の価値を引き出す PaaSの活用 ~Pivotal Cloud Foundry on Azure & Azure Stackがもたらすメリット オンデマンド ウェビナー: DevOps関連 DevOps (OSS)DevOps Connect(); 徹底解説シリーズ!~ Azure DevOps + GitHub 編 ~ 大好評!Azure DevOps Projects 最新情報 解説 Azure DevOps Project ~Visual Studio Team Services / Team Foundation Server で自 動化をしたい方にお勧めです~ Azure でモダンな共同開発環境をつくろう!開発環 境としての Azure 活用のポイント
  179. 179. Azure PaaSをより活用したい場合 【mstep online】 Microsoft Azure PaaSアプリ開発 (2018 年 6 月) https://note.microsoft.com/JA-PRM-WBNR-FY18-06JUN-21-msteponlineMicrosoftAzurePaaS20186-MPW0005636_Registration.html コースの目標 • Microsoft Azure が提供する主要な PaaS サービスを把握し、システム構築に必要な サービスを選択できる • Microsoft Azure App Service を利用したアプリの開発方法を習得する • Microsoft Azure の様々なデータ サービスにデータを保存する方法を習得する • Visual Studio Team Service を利用したソースコード管理と、デプロイメント方法を習得する • Application Insight を利用したアプリケーションの監視方法を習得する [アジェンダ] 第 1 章 Microsoft Azureサービス概要 第 2 章 データとストレージへのアクセス 第 3 章 Visual Studioを利用したMicrosoft Azureアプリの開発 第 4 章 Microsoft AzureとDevOps 参 考 Microsoft Azure IoT Suite
  180. 180. 自習書 今後の理解促進のために
  181. 181. 自習書 https://www.microsoft.com/ja-jp/cloud-platform/azure-site-usage
  182. 182. © 2019 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

×