paas devops - msdnshared.blob.core.windows.net ·...

45

Upload: others

Post on 03-Sep-2019

0 views

Category:

Documents


0 download

TRANSCRIPT

今日のお話

PaaS

2017/11/28 Microsoft Azure 徹底活用フェス 2

DevOps

PaaS = イノベーションのためのプラットフォームPaaSは、今までインフラの管理に充てていた時間を、

イノベーションを起こすための時間に変えるプラットフォームです。

ビジ

ネス

のバ

リュ

時間

PaaS

IaaS

42017/11/28

PaaS = 時代の変化に対応するITプラットフォーム

5

今まで構築・実現が大変だったことをPaaSで簡単に素早く実現

2017/11/28 Microsoft Azure 徹底活用フェス 7

Web サイト 動画配信 ビッグデータ リアルタイム処理 機械学習 IoT

デジタル マーケティング

O2O マーケティング

ライブ配信

Web サイトを自在に伸縮

小から大まで著作権保護も備えた動画配信

ビッグデータ処理HPC, 科学計算

機械学習で未来を予測

データをリアルタイム分析 IoT のデータ受信と保存

膨大なログ解析 テレマティクス

PaaS 事例:富士フイルムソフトウエア株式会社

画像共有サービス “Image Works”

2017/11/28 Microsoft Azure 徹底活用フェス 9

でも、うちのチームは

LINUXがメインだし・・・

2017/11/28 Microsoft Azure 徹底活用フェス 10

Azure = OSSプラットフォーム• Linux に代表されるオープンソース (OSS) は、かつては弊社の宿敵といわれていました。

• しかし、いまや世界で一番オープンソースに熱心な企業になりました。

• 弊社は、オープンソースへの貢献、開発・運用環境の提供を積極的に行っています。

2017/11/28 Microsoft Azure 徹底活用フェス 11

Azure 上の 40% の VM が Linux

Azure Marketplace から販売されるソフトウェアの 60% 以上が Linux ベース

SQL Server for Linux を発表

2,000 を超えるオープン ソースプロジェクトに参加

12

もちろん PaaS 基盤も オープン

開発環境• VS Code は Mac / Linux に対応

• Xamarin は Mac に対応、iOS / Androidも開発可能

PaaS の アプリケーション基盤の言語• Java / Python / JavaScript / PHP / Ruby を代表とする

様々な言語に対応

PaaS の DB基盤• DB基盤は MySQL / PostgreSQL

• Cosmos DB(地球規模分散DB) は MongoDB互換

App Service = Webアプリ/API の実行環境

2017/11/28 Microsoft Azure 徹底活用フェス 13

Web Apps Mobile Apps FunctionsLogic Apps API Apps

開発環境• 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 の実行環境があります。

2017/11/28 Microsoft Azure 徹底活用フェス 15

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

CakePHP

App Service = Webアプリ/API の実行環境

2017/11/28 Microsoft Azure 徹底活用フェス 17

Web Apps Mobile Apps FunctionsLogic Apps API Apps

開発環境• 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

実際の業務に合わせて拡張可能な基幹業務系/顧客向けアプリケーションをデプロイ

2017/11/28 Microsoft Azure 徹底活用フェス 1818

今日のお話

PaaS

2017/11/28 Microsoft Azure 徹底活用フェス 19

DevOps

今日のお話

PaaS

2017/11/28 Microsoft Azure 徹底活用フェス 20

DevOps+

つまり何がしたいか = 全部入りがいい

PaaS 基盤 + DevOps + モニタリング基盤

2017/11/28 Microsoft Azure 徹底活用フェス 21

DEMO : Azure DevOps Project

2017/11/28 Microsoft Azure 徹底活用フェス 22

Azure DevOps Project

お好きな Azure アプリケーションをお好きな Azure サービスに 5 分未満で構築

• 一般的なアプリケーション フレームワークに対応したビルトイン サポート

• 自動の完全 CI/CD パイプライン統合

• Application Insights によるビルトインの監視機能

• 好みのプラットフォームに展開

2017/11/28 Microsoft Azure 徹底活用フェス 23

Web AppsVisual Studio Team Services

ApplicationInsights=

チーム開発におけるCI/CD アプリケーションにおける問題の検知、トリアージ、診断

+ +

Web Apps= サーバーレスアプリケーションの実行に必要なサーバーのセットアップと管理を気にせず開発できるPaaS

2017/11/28 Microsoft Azure 徹底活用フェス 24

“FaaS”

“Function as a Service”

2017/11/28 Microsoft Azure 徹底活用フェス 25

2017/11/28 Microsoft Azure 徹底活用フェス 26

Function App = サーバーレスアプリケーションの実行に必要なサーバーのセットアップと管理を気にせず開発できるFaaS

2017/11/28 Microsoft Azure 徹底活用フェス 27

Function App

イベントドリブンのサーバーレスアーキテクチャで、要求に応じてスケールできます

2017/11/28 Microsoft Azure 徹底活用フェス 2828

Function App の活用例

•Webhookを利用したサーバーレスモバイル バックエンド

•ストレージへのファイルアップロードをトリガーに関数を実行

• Azure SQL Database と連携してクエリを実行

2017/11/28 Microsoft Azure 徹底活用フェス 2929

Mobile App

2017/11/28 Microsoft Azure 徹底活用フェス 30

iOS

API App Logic App

今日のお話

PaaS

2017/11/28 Microsoft Azure 徹底活用フェス 31

DevOpsDevOps

Visual Studio

Visual Studio for Mac

Visual Studio Code

Visual Studio App Center

Visual Studio Team Services

モバイル開発

2017/11/28 Microsoft Azure 徹底活用フェス 36

求められるモバイルアプリケーション

37

短いリードタイム

新しいアプリケーションをより早く配信

常にハイクオリティ

ユーザーにどのバージョンのアプリケーションでも心地よく使ってもらう

広範囲のリーチ

新しいデバイスへの早急な対応

頻繁なアップデート

問題を早期に解決し、アップデートを素早く提供

イノベーションフォーカス

最近のモダンアプリに求められるもの

38

モバイル端末の種類の増加

39

Visual Studio App Center

あらゆることを継続的に

ビルドも

テストも

デプロイも

リリースも

2017/11/28 Microsoft Azure 徹底活用フェス 40

Visual Studio App Center

高品質なモバイルアプリを短期間で提供できるように、あらゆるクラウドサービスとライフサイクルサービスを統合したサービス

主機能

• アプリケーションのビルド、テスト、配布、監視

• バックエンドのクラウドサービスを簡単に追加

• テストフレームワーク/テストレコーダーを使用したテストの自動化

• テスト結果、スクリーンショット、パフォーマンスの評価を含む詳細なレポートを取得

対応プラットフォーム

• Swift / Objective-C / Java / Xamarin / React Native など

• デバイスは iOS / Android /macOS が利用可能

2017/11/28 Microsoft Azure 徹底活用フェス 41

クラウド上のテストは”実機” で行われています。https://youtu.be/PQMBCoVIABI?t=3448

2017/11/28 Microsoft Azure 徹底活用フェス 42

Visual Studio App Centerリモートでテストをせよ!

2017/11/28 Microsoft Azure 徹底活用フェス 43

分単位の継続的インテグレーション

アプリのビルドを何回も短時間で実行

• リモートビルド前提なので、ローカルで

ビルドをする必要がありません

• もちろん、自動テスト・自動ビルド

• 柔軟なプラットフォーム

• OS:iOS / Android / Windows / macOS

• リポジトリ:GitHub、Bitbucket、VSTS

2017/11/28 Microsoft Azure 徹底活用フェス 44

“実機” でクオリティの高いテスト

高品質のアプリを自信をもって提供

• 数千台の実端末でUI テスト自動化

• 柔軟な自動テスト

• Appium、Espresso、XCUITest など

の一般的なフレームワークを使用可能

• 毎回のビルドで詳細な情報を取得

• 追跡レポート / スナップショット / ログ

2017/11/28 Microsoft Azure 徹底活用フェス 45

機能する継続的配信

あらゆる場所に簡単にデプロイ

• 各プラットフォームにアプリを自動配布

• Android、iOS、Windows、macOS

• ベータ テスターとベータ ユーザーなど、

異なるグループに異なるビルドを送信

• 各プラットフォームへのリリースも一貫

• Apple App Store / Google Play /

Microsoft Intune

2017/11/28 Microsoft Azure 徹底活用フェス 46

成長するための継続的なラーニング

洞察に満ちたクラッシュ レポート

クラッシュのグループ化 / 迅速な通知 /

詳細なクラッシュ レポート

2017/11/28 Microsoft Azure 徹底活用フェス 47

リアルタイム分析

アプリのユーザー セッション / 上位のデバイス /

OSバージョン / 動作分析 / イベントトラッカー

Mobile開発パイプライン例

48

Code Repository + Build + Deploy + App Testing

Backlog

Monitor and improve

Beta Testing

Telemetry Collection

Team Services

リリース管理自動化

アプリ稼働状況把握

ユニットテストクラウド 負荷テストビルド 作成 管理

タスク管理

コード開発

Visual StudioApp Center

+

クラウド上に統合開発環境 ( IDE + ALM ) を提供

Application Insights

パフォーマンス監視、強力なアラート機能、使いやすいダッシュボードによって、アプリケーションの可用性が保たれ、期待通りに動作していることを確認できます。問題が発生しているか、またどれくらいの顧客に影響しているかを素早く判断し、根本原因を分析して、問題を検出し、修正できます。

HockeyApp

まとめ

✓サーバーレスな PaaS の App Serviceでインフラを抽象化

✓Application Insights で UXが高いアプリを作成

✓CI/CD の高速な構築は DevOps Project

✓モバイル開発の砦は Visual Studio App Center

2017/11/28 Microsoft Azure 徹底活用フェス 49

ありがとうございました。

2017/11/28 Microsoft Azure 徹底活用フェス 50

本書に記載した情報は、本書各項目に関する発行日現在の Microsoft の見解を表明するものです。Microsoftは絶えず変化する市場に対応しなければならないため、ここに記載した情報に対していかなる責務を負うものではなく、提示された

情報の信憑性については保証できません。

本書は情報提供のみを目的としています。 Microsoft は、明示的または暗示的を問わず、本書にいかなる保証も与えるものではありません。

すべての当該著作権法を遵守することはお客様の責務です。Microsoftの書面による明確な許可なく、本書の如何なる部分についても、転載や検索システムへの格納または挿入を行うことは、どのような形式または手段(電子的、機械的、複

写、レコーディング、その他)、および目的であっても禁じられています。これらは著作権保護された権利を制限するものではありません。

Microsoftは、本書の内容を保護する特許、特許出願書、商標、著作権、またはその他の知的財産権を保有する場合があります。Microsoftから書面によるライセンス契約が明確に供給される場合を除いて、本書の提供はこれらの特許、商標、

著作権、またはその他の知的財産へのライセンスを与えるものではありません。

© 2017 Microsoft Corporation. All rights reserved.

Microsoft, Windows, その他本文中に登場した各製品名は、Microsoft Corporation の米国およびその他の国における等力商標または商標です。

その他、記載されている会社名および製品名は、一般に各社の商標です。