今日のお話
PaaS
2017/11/28 Microsoft Azure 徹底活用フェス 2
PaaS = イノベーションのためのプラットフォーム
PaaSは、今までインフラの管理に充てていた時間を、
イノベーションを起こすための時間に変えるプラットフォームです。
ビジネス
のバリュ
ー
時間
PaaS
IaaS
4 2017/11/28PaaS = 時代の変化に対応するITプラットフォーム
今まで構築・実現が大変だったことをPaaSで簡単に素早く実現
Web サイト
動画配信
ビッグデータ
リアルタイム処理
機械学習
IoT
デジタル マーケティング
O2O マーケティング
ライブ配信
Web サイトを
自在に伸縮
小から大まで著作権保護も備
えた動画配信
HPC, 科学計算
ビッグデータ処理
機械学習で
未来を予測
データをリアルタイム分析
IoT のデータ受信と保存
膨大なログ解析
テレマティクス
PaaS 事例:富士フイルムソフトウエア株式会社
画像共有サービス “Image Works”
でも、うちのチームは
Azure = OSSプラットフォーム
• Linux に代表されるオープンソース (OSS) は、かつては弊社の宿敵といわれていました。
• しかし、いまや世界で一番オープンソースに熱心な企業になりました。
• 弊社は、オープンソースへの貢献、開発・運用環境の提供を積極的に行っています。
2017/11/28 Microsoft Azure 徹底活用フェス 11Azure 上の 40% の VM が Linux
Azure Marketplace から販売されるソフト
ウェアの 60% 以上が Linux ベース
SQL Server for Linux を発表
2,000 を超えるオープン ソース
プロジェクトに参加
もちろん PaaS 基盤も オープン
開発環境
• VS Code は Mac / Linux に対応
• Xamarin は Mac に対応、iOS / Androidも開発可能
PaaS の アプリケーション基盤の言語
• Java / Python / JavaScript / PHP / Ruby を代表とする
様々な言語に対応
PaaS の DB基盤
• DB基盤は MySQL / PostgreSQL
App Service = Webアプリ/API の実行環境
2017/11/28 Microsoft Azure 徹底活用フェス 13
Web Apps
Mobile Apps
Logic Apps
API Apps
Functions
開発環境
• NET, PHP, Python, Node,
Java, Framework インストラー
• リモートデバッグ
• DevOps
• ステージングデプロイのための
サイトスロット
• サイトエクステンションギャラリー
• ブラウザーベースのエディタ
• Kudu
• など
フルマネージド
• スケールアップ、スケールアウト
• オートスケール
• WW のデーターセンター
• OS と Framework
• ロードバランサー
• モニタリング&アラート
• Web ジョブ(WebJobs)
• など
Enterprise
• Enterprise グレードの SLA
• セキュリティとコンプライアンス
• ロールベース アクセスコントロール
• バックアップスケジュール
• カスタムドメイン、SSL証明書
• Azure Active Directory 統合
• オンプレミス統合 VNET統合/
ハイブリッド接続
• App Service Environment
• など
Web Apps の 実行環境
Web Apps(マルチテナント)にはWindows / Linux の実行環境があります。
Web App (on Windows)
✓ マネージドなIISにアプリケーショ
ンをデプロイ
✓ 安全性と柔軟性に優れた開発、
デプロイメント、スケーリング
✓ 選べる言語とフレームワーク
.NET / PHP / Java /
Python / Ruby / Python
Web App on Linux
✓ マネージドなApache / Ubuntu
にアプリをデプロイ
✓ 以下のベースコンテナを選択
• Node.js /.NET Core /
Ruby / PHP
Web App on Linux (Docker)
✓ ユーザーが独自の Docker 形式
コンテナイメージを簡単にデプロイ
✓ Azure PaaSで大規模実行
✓ 自由なイメージで選択肢は無限大
•
Azure Container Registry
•
Docker Hub
マーケットプレイスのテンプレート
Microsoft / パートナ―が提供する多種多様なテンプレートで開発を高速化できます
Web App + MySQL
PHP Empty Web App
Web App On Linux + MySQL
Web App on Linux + PostgreSQL (preview)
Web App + SQL
HTML5 Empty Web App
Web App + PostgreSQL (preview)
Personal Web App
ASP.NET Starter Web App
ASP.NET Empty Web App
Node JS Empty Web App
MediaWiki on Linux Web App (preview)
Express Web App
Joomla on Linux Web App (preview)
WordPress on Linux (preview)
Drupal on Linux Web App with MySQL (preview)
Drupal on Linux Web App with PostgreSQL (preview)
Django + PostgreSQL
Sitecore® Experience Cloud
WordPress
Joomla
App Service = Webアプリ/API の実行環境
Web Apps
Mobile Apps
Logic Apps
API Apps
Functions
開発環境
• NET, PHP, Python, Node,
Java, Framework インストラー
• リモートデバッグ
• DevOps
• ステージングデプロイのための
サイトスロット
• サイトエクステンションギャラリー
• ブラウザーベースのエディタ
• Kudu
• など
フルマネージド
• スケールアップ、スケールアウト
• オートスケール
• WW のデーターセンター
• OS と Framework
• ロードバランサー
• モニタリング&アラート
• Web ジョブ(WebJobs)
• など
Enterprise
• Enterprise グレードの SLA
• セキュリティとコンプライアンス
• ロールベース アクセスコントロール
• バックアップスケジュール
• カスタムドメイン、SSL証明書
• Azure Active Directory 統合
• オンプレミス統合 VNET統合/
ハイブリッド接続
• App Service Environment
• など
Web App
実際の業務に合わせて拡張可能な基幹業務系/顧客向けアプリケーションをデプロイ
今日のお話
今日のお話
PaaS
2017/11/28 Microsoft Azure 徹底活用フェス 20
DevOps
+
つまり何がしたいか = 全部入りがいい
DEMO : Azure DevOps Project
Azure DevOps Project
お好きな Azure アプリケーションをお好きな Azure サービスに 5 分未満で構築
• 一般的なアプリケーション フレームワークに対応したビルトイン サポート
• 自動の完全 CI/CD パイプライン統合
• Application Insights によるビルトインの監視機能
• 好みのプラットフォームに展開
Web Apps
Visual Studio
Team Services
Application
Insights
=
チーム開発におけるCI/CD
アプリケーションにおける問題の
検知、トリアージ、診断
Web Apps= サーバーレス
アプリケーションの実行に必要なサーバーの
セットアップと管理を気にせず開発できる
PaaS
“FaaS”
Function App = サーバーレス
アプリケーションの実行に必要なサーバーの
Function App
イベントドリブンのサーバーレスアーキテクチャで、要求に応じてスケールできます
Function App の活用例
• Webhookを利用したサーバーレスモバイル バックエンド
• ストレージへのファイルアップロードをトリガーに関数を実行
• Azure SQL Database と連携してクエリを実行
Mobile App
2017/11/28 Microsoft Azure 徹底活用フェス 30
iOS
今日のお話
Visual Studio
Visual Studio for Mac
Visual Studio Code
Visual Studio App Center
Visual Studio Team Services
DevOps on Azure
App Services App Services
モバイル開発
求められるモバイルアプリケーション
短いリードタイム
新しいアプリケーションをより
早く配信
常にハイクオリティ
ユーザーにどのバージョンの
アプリケーションでも
心地よく使ってもらう
広範囲のリーチ
新しいデバイスへの
早急な対応
頻繁なアップデート
問題を早期に解決し、アップ
デートを素早く提供
イノベーションフォーカス
最近のモダンアプリに求められるもの
Visual Studio App Center
あらゆることを継続的に
ビルドも
テストも
デプロイも
リリースも
2017/11/28 Microsoft Azure 徹底活用フェス 40Visual Studio App Center
高品質なモバイルアプリを短期間で提供できるように、あらゆるクラウドサービスとライ
フサイクルサービスを統合したサービス
主機能
• アプリケーションのビルド、テスト、配布、監視
• バックエンドのクラウドサービスを簡単に追加
• テストフレームワーク/テストレコーダーを使用したテストの自動化
• テスト結果、スクリーンショット、パフォーマンスの
評価を含む詳細なレポートを取得
対応プラットフォーム
• Swift / Objective-C / Java / Xamarin / React Native など
• デバイスは iOS / Android /macOS が利用可能
クラウド上のテストは”実機” で行われています。
Visual Studio App Center
分単位の継続的インテグレーション
アプリのビルドを何回も短時間で実行
• リモートビルド前提なので、ローカルで
ビルドをする必要がありません
• もちろん、自動テスト・自動ビルド
• 柔軟なプラットフォーム
• OS:iOS / Android / Windows / macOS
• リポジトリ:GitHub、Bitbucket、VSTS
“実機” でクオリティの高いテスト
高品質のアプリを自信をもって提供
• 数千台の実端末でUI テスト自動化
• 柔軟な自動テスト
• Appium、Espresso、XCUITest など
の一般的なフレームワークを使用可能
• 毎回のビルドで詳細な情報を取得
• 追跡レポート / スナップショット / ログ
機能する継続的配信
あらゆる場所に簡単にデプロイ
• 各プラットフォームにアプリを自動配布
• Android、iOS、Windows、macOS
• ベータ テスターとベータ ユーザーなど、
異なるグループに異なるビルドを送信
• 各プラットフォームへのリリースも一貫
• Apple App Store / Google Play /
Microsoft Intune
成長するための継続的なラーニング
洞察に満ちたクラッシュ レポート
クラッシュのグループ化 / 迅速な通知 /
詳細なクラッシュ レポート
リアルタイム分析
アプリのユーザー セッション / 上位のデバイス /
OSバージョン / 動作分析 / イベントトラッカー
Mobile開発パイプライン例
48
Code Repository + Build + Deploy + App Testing
Backlog
Monitor and improve
Beta Testing
Telemetry Collection
Team Services リリース管理 自動化 アプリ稼働 状況把握 ユニットテスト クラウド 負荷テスト ビルド 作成 管理 タスク管理 コード開発Visual Studio
App Center
+
クラウド上に統合開発環境 ( IDE + ALM ) を提供
Application Insights
パフォーマンス監視、強力なアラート機能、使いやすいダッシュボードによって、 アプリケーションの可用性が保たれ、期待通りに動作していることを確認でき ます。問題が発生しているか、またどれくらいの顧客に影響しているかを素 早く判断し、根本原因を分析して、問題を検出し、修正できます。HockeyApp
まとめ
✓サーバーレスな PaaS の App Serviceでインフラを抽象化
✓Application Insights で UXが高いアプリを作成
✓CI/CD の高速な構築は DevOps Project
ありがとうございました。
本書に記載した情報は、本書各項目に関する発行日現在の Microsoft の見解を表明するものです。Microsoftは絶えず変化する市場に対応しなければならないため、ここに記載した情報に対していかなる責務を負うものではなく、提示された 情報の信憑性については保証できません。 本書は情報提供のみを目的としています。 Microsoft は、明示的または暗示的を問わず、本書にいかなる保証も与えるものではありません。 すべての当該著作権法を遵守することはお客様の責務です。Microsoftの書面による明確な許可なく、本書の如何なる部分についても、転載や検索システムへの格納または挿入を行うことは、どのような形式または手段(電子的、機械的、複 写、レコーディング、その他)、および目的であっても禁じられています。これらは著作権保護された権利を制限するものではありません。 Microsoftは、本書の内容を保護する特許、特許出願書、商標、著作権、またはその他の知的財産権を保有する場合があります。Microsoftから書面によるライセンス契約が明確に供給される場合を除いて、本書の提供はこれらの特許、商標、 著作権、またはその他の知的財産へのライセンスを与えるものではありません。
© 2017 Microsoft Corporation. All rights reserved.
Microsoft, Windows, その他本文中に登場した各製品名は、Microsoft Corporation の米国およびその他の国における等力商標または商標です。 その他、記載されている会社名および製品名は、一般に各社の商標です。