[microsoft tech summit 2017] マイクロサービスだけじゃない! コンテナー...

78
Microsoft Tech Summit 2017 マイクロサービスだけじゃない! コンテナー オーケストレーターとしての Azure Service Fabric

Upload: naoki-neo-sato

Post on 21-Jan-2018

461 views

Category:

Software


1 download

TRANSCRIPT

Page 1: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

Microsoft Tech Summit 2017

マイクロサービスだけじゃない! コンテナーオーケストレーターとしての「Azure Service Fabric」

Page 2: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 3: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

• Azure Service Fabric で、どこでも実行できるミッションクリティカルでスケーラブルなアプリケーションの容易な構築、管理が可能に

• Azure Service Fabric は、Windows、Linux 向けのコンテナーオーケストレーター

• Azure Service Fabric のロードマップ

Page 4: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 5: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

サムネイルサービス

V1

サムネイルサービス

V2

Thumbnail

Service

Thumbnail

ServicePhoto Share

Service

Photo Share

Service

Photo Share

Service

写真共有サービス

サムネイルサービス

写真共有サービス

Node.js

サムネイルサービス

.NET

写真共有サービス

V1

Azure Service Fabricドキュメント

https://docs.microsoft.com/azure/service-fabric/.NET マイクロサービス: コンテナー化された .NET アプリケーションのアーキテクチャ

https://docs.microsoft.com/dotnet/standard/microservices-architecture/

Page 6: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 7: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 8: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 9: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

Azure 他社クラウド開発マシン

コンテナー、マイクロサービス

オンプレミスデータセンター

Page 10: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

Azure 他社クラウド開発マシン オンプレミスデータセンター

Page 11: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

マネージド サービスマイクロサービスプラットフォーム

生産性の高い開発

組み込み自動スケール

.NET、Java向けの単純なプログラミング

モデル

ステートレス、ステートレスのマイクロサービス

スケーラブル 24 X 7 高可用性フェイルオーバー

Windows/Linuxコンテナーオーケストレーション

DevOpsライフサイクル管理

自動プラットフォームアップグレード

組み込み正常性診断

クラウド開発と同等の

ローカル開発

Visual Studio、VSTS、Eclipse、Jenkins、

Yoeman などのツール

Application Insights/OMS 統合

Page 12: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

AzureActive Directory

SQL ServerActive Directory

Azure データ サービス

Azureサービス

共通のID

一貫性のあるデータプラットフォーム

統一された開発とDevOps

オンプレミスインフラストラクチャ

Azureサービス

Azure Stack

統一された開発とDevOps

2018 年に ServiceFabric をサポート予定

Page 13: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 14: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

ゲスト実行可能ファイル (あらゆるコード)

Reliable Service

Reliable ActorASP.NET Core

コンテナー(あらゆるコード)

.NET

.NET

Azure 他社クラウド開発マシン オンプレミスデータセンター

Page 15: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

ゲスト実行可能ファイル

Reliable Service

Reliable ActorASP.NET Core

コンテナー

開発者

Visual StudioVSTS

運用

ApplicationInsights

OMS

Azure 他社クラウド開発マシン オンプレミスデータセンター

Page 16: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 17: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 18: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

Service Fabric クラスター

Page 19: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

VM #1

Service Fabric

コードなど

VM #2

Service Fabric

コードなど VM #3

Service Fabric

コードなど

VM #4

Service Fabric

コードなどVM #5

Service Fabric

コードなど

コードなど(ポート 19080)

Web リクエスト(ポート 80)

Service Fabric クラスター

Page 20: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 21: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 22: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 23: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 24: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 25: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 26: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 27: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 28: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 29: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 30: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 31: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

1. 従来型のアプリケーション2. Service Fabric にゲスト実行可能ファイルやコンテナーとしてホスト3. マイクロサービスの新規追加によるモダナイゼーション4. アプリケーションのマイクロサービスへの分解による革新5. マイクロサービスへの変革、新規アプリケーション構築

どの段階まで進むかは自由…

Page 32: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 33: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 34: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 35: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

https://youtu.be/OjhOZkql4uE?t=28m15s

Page 36: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

• Azure ポータル、CLI での Linux

クラスターの作成

• Linux、Windows でのコンテナーオーケストレーション

• 数千マシン、数百万コンテナーまでスケール

Runtime v6.0 Java v1.0-preview

.NET SDK v2.8 .NET SDK v3.0-preview

(.NET Core をサポート)

Page 37: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

(GA)(プレビュー) (プレビュー)

コンテナー .NET Core Java

Page 38: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

コンテナーアプリケーション

ゲスト実行可能ファイル

.NET Core Reliable Service

コンテナーアプリケーション

ゲスト実行可能ファイル

.NET Core Reliable Service

Java Reliable Service

• Eclipse

• VS Code

• Gradle

• Yeoman

• Visual Studio 2017

• VS Code

Page 39: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 40: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 41: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

https://github.com/satonaoki/service-fabric-containers/tree/master/Linux/container-tutorial

Page 42: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

https://github.com/Azure-Samples/service-fabric-dotnet-containers.git

Page 43: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

https://github.com/satonaoki/service-fabric-containers/blob/master/Linux/container-tutorial/azure-vote/Dockerfile

Page 44: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

https://github.com/satonaoki/service-fabric-containers/blob/master/Linux/container-tutorial/redis/Dockerfile

Page 45: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 46: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 47: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 48: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

https://github.com/satonaoki/service-fabric-containers/blob/master/Linux/container-tutorial/Voting/Voting/ApplicationManifest.xml

Page 49: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

https://github.com/satonaoki/service-fabric-containers/blob/master/Linux/container-tutorial/Voting/Voting/azurevotefrontPkg/ServiceManifest.xml

Page 50: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

https://try.servicefabric.azure.com/

Page 51: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 52: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

http://mycluster.westus.cloudapp.azure.com:19080

Page 53: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

https://github.com/satonaoki/service-fabric-containers/blob/master/Linux/container-tutorial/Voting/install.sh

Page 54: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 55: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 56: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 57: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 58: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 59: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 60: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

1. 従来型のアプリケーション2. Service Fabric にゲスト実行可能ファイルやコンテナーとしてホスト3. マイクロサービスの新規追加によるモダナイゼーション4. アプリケーションのマイクロサービスへの分解による革新5. マイクロサービスへの変革、新規アプリケーション構築

どの段階まで進むかは自由…

Page 61: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

コンテナー

Service Fabric クラスター

IIS / ASP.NET

フロントエンド Web サービス

Service Fabric アプリケーションモデルまたは Docker Compose

SQL Server

Azure SQL Database

Database Migration Service

VSTS Git

リポジトリAzure Container

Registry

Page 62: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

ABBYY LINGVO LIVE

みんなの言語学習目的

› グローバルの言語学習者向け SNS を、モノリシックアプローチからマイクロサービスに移行

› ダウンタイムのないアップグレード、簡単な管理、モダンな DevOps プラクティス

› 14 言語、130 以上の辞書を高い応答性でサポート

解決策

› 段階的に移行するために、Service Fabric

プログラミングモデル、Windows

コンテナーを活用

結果

› 新規のモジュール型フロントエンドをService Fabricに移行

› モノリシックなバックエンドシステムをスケーラブルなマイクロサービスアーキテクチャに進化させつつある

「Service Fabric はWindows コンテナー、ゲスト実行可能ファイルをサポートしており、これは既存のサービスやコンポーネントの移行の際に非常に便利です。柔軟性が移行戦略にとって重要でした。モダンなプラットフォームに移行したかったのですが、段階的に移行する必要がありました」(AABBY 開発マネージャー Eugene Agafonov)

https://blogs.msdn.microsoft.com/azureservicefabric/2017/09/22/service-fabric-customer-profile-abbyy/

Page 63: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 64: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 65: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 66: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

1. 従来型のアプリケーション2. Service Fabric にゲスト実行可能ファイルやコンテナーとしてホスト3. マイクロサービスの新規追加によるモダナイゼーション4. アプリケーションのマイクロサービスへの分解による革新5. マイクロサービスへの変革、新規アプリケーション構築

どの段階まで進むかは自由…

Page 67: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

キュー ストレージ

フロントエンドゲートウェイ

ステートレス中間層コンピューティング

キャッシュ

• パーティション分割ストレージを使うステートレスサービスをスケール

• キューで信頼性を向上

• キャッシュで読み取りレイテンシを削減

• ステートの整合性のために、独自でトランザクションを管理

Load Balancerロード バランサー

Page 68: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

ステートフル中間層コンピューティング

フロントエンドゲートウェイ

• アプリケーションのステートをコンピューティング層に格納

• 低レイテンシの読み書き

• スケールアウトのためのサービス層のパーティション分割

• 組み込みのトランザクション

• オフライン分析のための外部ストア

コールドデータストア

ロード バランサー

Page 69: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

SCHNEIDER ELECTRIC ECOSTRUXURE

IoTベースのオペレーショナルインテリジェンス

目的

› デバイスの管理、運用。クエリ、コマンド実行、デバイスから業務アプリへのコマンド送信。デバイスとの複数プロトコルでのセキュアな通信。1秒以内の処理とレイテンシ。

解決策

› Azure Service Fabric を活用して EcoStruxure プラットフォームを構築

結果

› エネルギーを管理し、安全で信頼性が高く効率的で持続可能な方法で処理するためのコネクテッドテクノロジとソリューションを開発

https://blogs.msdn.microsoft.com/azureservicefabric/2016/08/05/service-fabric-customer-profile-schneider-electric/

Page 70: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

D+H SMALL BUSINESS LENDING

DevOps をコア プラクティスに

目的

› 顧客に価値を提供するのに役立つ3つの理念を、戦略的に選択。製品スイート内での再利用、チームの活性化、自動化された繰り返し可能な方法でのソフトウェアのデリバリー。

解決策

› Azure Service Fabric を活用して、Small Business

Lending アプリケーションをアジャイルに構築

結果

› テクノロジや市場の変化により早く対応可能に。ステートレスサービスのオーケストレーションを行う信頼性の高いプラットフォームと、整合性のある永続ストレージテクノロジの上で動作する複数の製品にわたって、投資を再利用。

https://blogs.msdn.microsoft.com/azureservicefabric/2017/05/09/service-fabric-customer-profile-dh/

Page 71: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

DIGAMORE ENTERTAINMENT FOOTBALL EMPIRE

ゲームへの新しいアプローチ

目的

› 10万から100万のプレイヤーがいるゲームを、コスト効率良く開発。予測不可能なスケーリングに対応し、回復性、応答性が高い必要がある。

解決策

› Service Fabric のステートフル Reliable Actor

プログラミングモデルを活用し、多人数同時参加型ゲームを開発

結果

› 短期間で、スケーラブルなバックエンドアーキテクチャを構築。Service Fabric によって、開発者は、インフラの心配やフレームワーク学習の時間なしに、ゲーム設計の要件を実装するのが簡単に。

Page 72: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

Load Balancer

API Management

IoT Hub

Event Hubs

ステートレスWeb ゲートウェイ Service Fabric

Service Fabric

Service Fabric

Service Fabric

Page 73: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 74: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 75: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

https://github.com/jessebenson/service-fabric-queryable

Page 76: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」

https://blogs.msdn.microsoft.com/azureservicefabric/2017/10/19/service-fabric-sessions-at-ignite-2017/

https://blogs.msdn.microsoft.com/azureservicefabric/

https://blogs.msdn.microsoft.com/azureservicefabric/tag/customer-profile/

https://docs.microsoft.com/azure/service-fabric/

https://azure.microsoft.com/resources/samples/?service=service-fabric

https://try.servicefabric.azure.com/

https://docs.microsoft.com/azure/service-fabric/service-fabric-support

Page 77: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」
Page 78: [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Service Fabric」