[Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー...

Post on 21-Jan-2018

462 views 1 download

Transcript of [Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー...

Microsoft Tech Summit 2017

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

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

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

• 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/

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

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

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

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

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

生産性の高い開発

組み込み自動スケール

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

モデル

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

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

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

DevOpsライフサイクル管理

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

組み込み正常性診断

クラウド開発と同等の

ローカル開発

Visual Studio、VSTS、Eclipse、Jenkins、

Yoeman などのツール

Application Insights/OMS 統合

AzureActive Directory

SQL ServerActive Directory

Azure データ サービス

Azureサービス

共通のID

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

統一された開発とDevOps

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

Azureサービス

Azure Stack

統一された開発とDevOps

2018 年に ServiceFabric をサポート予定

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

Reliable Service

Reliable ActorASP.NET Core

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

.NET

.NET

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

ゲスト実行可能ファイル

Reliable Service

Reliable ActorASP.NET Core

コンテナー

開発者

Visual StudioVSTS

運用

ApplicationInsights

OMS

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 クラスター

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

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

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

• Azure ポータル、CLI での Linux

クラスターの作成

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

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

Runtime v6.0 Java v1.0-preview

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

(.NET Core をサポート)

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

コンテナー .NET Core Java

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

ゲスト実行可能ファイル

.NET Core Reliable Service

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

ゲスト実行可能ファイル

.NET Core Reliable Service

Java Reliable Service

• Eclipse

• VS Code

• Gradle

• Yeoman

• Visual Studio 2017

• VS Code

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

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

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

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

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

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

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

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

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

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

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

コンテナー

Service Fabric クラスター

IIS / ASP.NET

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

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

SQL Server

Azure SQL Database

Database Migration Service

VSTS Git

リポジトリAzure Container

Registry

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/

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

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

キュー ストレージ

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

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

キャッシュ

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

• キューで信頼性を向上

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

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

Load Balancerロード バランサー

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

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

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

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

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

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

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

コールドデータストア

ロード バランサー

SCHNEIDER ELECTRIC ECOSTRUXURE

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

目的

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

解決策

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

結果

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

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

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/

DIGAMORE ENTERTAINMENT FOOTBALL EMPIRE

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

目的

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

解決策

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

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

結果

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

Load Balancer

API Management

IoT Hub

Event Hubs

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

Service Fabric

Service Fabric

Service Fabric

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

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