マイクロソフトが考える 5...

48
マイクロソフトが考える 5 年後を見据えた技術提言 萩原 正義 荒井 省三 メインスピーカー & [アーキテクチャ] [プログラミング] [プラットフォーム]

Upload: others

Post on 25-May-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

マイクロソフトが考える5 年後を見据えた技術提言

萩原正義

荒井 省三

メインスピーカー & [アーキテクチャ]

[プログラミング] [プラットフォーム]

サービス化

所有(もの) 使用(こと)

自家用車、分譲 レンタカー、賃貸

パッケージソフト クラウドサービス

買換えの継続 常時改善

自己責任 保守保証

自己管理 監視と分析、予見

リーンエンタープライズ

開発 運用

問題指向

マイクロサービス

データパイプラインリアクティブ

パラダイム

Resourceas a Service

CloudOSOpen

Innovation

アプリケーション

開発 運用

問題指向

マイクロサービス

データパイプラインリアクティブ

パラダイム

Resourceas a Service

CloudOSOpen

Innovation

アプリケーションアーキテクチャ

「サービス化」への流れ:早期投入

早期投入

継続利用

アプリケーションアーキテクチャの進化

?クライアント

サーバー

デスクトップ

ビジネスロジック

UI

データ

より徹底したコンポーネント化

ビジネス能力に基づく分割

ガバナンス・データの分散デバイス

API

サービス

サービス

サービス

サービス

サービス

サービス

サービス

サービス

Microservices によるアプリケーション開発

単一の責務

別々のアーキテクチャ

障害のための設計

Any Device

API Proxy

ビジネスロジック

API

状態データ

ビジネスロジック

API

状態データ

マイクロソフトが描く今後のクラウドサービスマイクロサービスに基づく、高可用性、ハイパースケールなプラットフォーム

Azure

WindowsServer

Linux

Hosted Clouds

WindowsServer

Linux

Service Fabric

Private Clouds

WindowsServer

Linux

High Availability

Hyper-Scale

Hybrid Operations

High Density Rolling Upgrades

Stateful services

Low LatencyFast startup &

shutdown

Container Orchestration

& lifecycle management

Replication &

Failover

Simple

programming

modelsLoad balancing

Self-healingData Partitioning

Automated Rollback

Health

Monitoring

Placement

Constraints

Microservices

日本の IT 技術者が Microservices を実現するには

3ティアモデル思考の先へ

ビジネス機能単位のチーム体制

サービス間をまたがるデータ管理

「サービス化」への流れ:継続利用

早期投入

継続利用

「データパイプライン」: データ中心のワークフロー

MachineLearning

StreamAnalytics RDB

(SQL Server/SQL Database)

Azure Storage

Azure HDInsight(Hadoop)

Event Hubs

Web APISensors,Low-power devices (RTOS)

Power BI(Excel / Office 365)

SQL ServerAnalysisServices

SharePoint

Device Agent/ Gateway

Document DB

Application

Smart Devices

Micro Devices

開発パラダイム

開発 運用

問題指向

マイクロサービス

データパイプライン

リアクティブパラダイム

Resourceas a Service

CloudOSOpen

Innovation

プログラミングパラダイムを変えよう

プログラミングとは

パラダイム 言語 OS サービスAPI 制約

ハードウェア

・・・ ・・・・・・

問題ドメイン

売り上げデータを収集する

収集した売り上げデータを合計して結果を出力

CPU

制御ユニット

演算ユニット

メモリユニット

入力装置

出力装置

解決ドメイン

売り上げデータを収集する

収集した売り上げデータを合計して結果を出力

売上データの読込

有無

集合に追加

集合を返す

ループ 計算式 合計

0 + 1 1

1 + 2 3

3 + 3 6

6 + 4 10

10 + 5 15

15 + 6 21

21 + 7 28

28 + 8 36

36 + 9 45

45 + 10 55

Reduce計算式 合計

[1..10].Sum() (0 + 1) + [2..10].Sum()

[2..10].Sum() (1 + 2) + [3..10].Sum()

[3..10].Sum() (3 + 3) + [4..10].Sum()

[4..10].Sum() (6 + 4) + [5..10].Sum()

[5..10].Sum() (10 + 5) + [6..10].Sum()

[6..10].Sum() (15 + 6) + [7..10].Sum()

[7..10].Sum() (21 + 7) + [8..10].Sum()

[8..10].Sum() (28 + 8) + [9..10].Sum()

[9..10].Sum() (36 + 9) + [10].Sum()

[10].Sum() (45 + 10)

現在の問題解決手法とは

問題ドメイン

• 問題定義

解決ドメイン1

• 抽象化

解決ドメイン2

• 具象

解決指向から問題定義指向へ

変化へ対応しよう

Imperative Paradigm

売り上げデータを収集する

収集した売り上げデータを合計して結果を出力

Imperative Paradigm

売り上げデータを収集する

収集した売り上げデータを合計して結果を出力

t 時間売り上げデータを収集する

収集した売り上げデータを合計して結果を出力

売上合計の変化

データ(時間)の変化に着目する

t 時間

A + B の変化を通知

変化とは

t 時間

値Before

After

1

0

1

2

1

3

3

3

6

4

6

10

5

10

15

6

15

21

7

21

28

8

28

36

9

36

45

10

45

55

状態

変化とは

t 時間

値Before

After

1

0

1

2

1

3

3

3

6

4

6

10

5

10

15

6

15

21

7

21

28

8

28

36

9

36

45

10

45

55

変化へ対応

プラットフォーム

開発 運用

問題指向

マイクロサービス

データパイプラインリアクティブ

パラダイム

Resourceas a Service

CloudOSOpen

Innovation

Cloud OS の源泉たるプラットフォームの進化

Resource as a Service

ビジネスからの大きな期待

プラットフォームの進化

Micro Services

Reactive Paradigm

Data Pipeline

Open Innovation

・・・

・・・要求に応えられる

新しいプラットフォーム

(広義の) Cloud OS

・・・・・

源泉(Resource)

Cloud OS の源泉たる Resource (Technology) の進化

Programmable H/W迅速展開

垂直統合

研究開発

Open Source H/W

Hybrid Cloud

White Box H/W

“省電力”+“高速化 & 大容量化”

(CPU, Memory, Storage, Network)

Microsoft 設計の H/W と Catapult (FPGA)

A Reconfigurable Fabric for Accelerating Large-Scale Datacenter Services (Microsoft Research)

Open Compute Project へ提供

http://www.opencompute.org/wiki/Motherboard/SpecsAndDesigns

Cloud OS の源泉たる Resource (Technology) の進化

Software Defined Storage

Hypervisor (Isolation)

API & Cloud Controller

Virtual Machine

Virtual Appliance & Function

Software Defined Network

Container

Cloud OS の源泉たる Resource (Technology) の進化

Packaging

Programmable

Isolation

Immutable

OS

Component

Controllable

nano OS

Secure

Cloud OS の源泉たる Resource (Technology) の進化

分散クラスタリング

[処理すべきもの] と [リソース] の本質的関係へのアプローチ

Task Task Task Task Task Task Task・・・・

分散されたリソースが自動処理

Scheduling

ReplicationIsolation Distribution

Resource Control

分散クラスタリング技術~究極の抽象化レイヤー実現のために進化中~

Pod Connectivity Neighboring diagram Reconfigurable fabric

Cloud OS の源泉たる Resource (Technology) の進化

分散クラスタリング

[処理すべきもの] と [リソース] の本質的関係へのアプローチ

Task Task Task Task Task Task Task・・・・

分散されたリソースが自動処理

Scheduling

ReplicationIsolation Distribution

Resource Control

Packaging

1 つのレイヤーだけですべてを満たせない

我こそ最適なリソース [競争原理]

• アプリケーション要件への対応

• SLA の保証(公平性/安定性/コスト/セキュリティ)

分散されたリソースが自動処理

Scheduling

ReplicationIsolation Distribution

Resource Control

MapReduce, Docker, Mesos, Marathon, YARN, Kubernetes,Drawbridge, Haven, Service Fabric, FaRM, IOFlow ・・・

5 年後を見据えた主役となる Resource の考察

ゴールはアプリケーションの実行

高速性重視の専用 Program

Programmable board (FPGA)

汎用 Program

汎用 CPU

Packet Direct要求

Cloud First Management

Incident/Change/Problem

Data Protection

Fabric

Virtualization/Provisioning

Orchestration/Automation

Monitoring/Alerting/Logging

Configuration

New Management

Packaging Marketplace

Container

Management with Cloud

マイクロソフトの動き

Infrastructure as code

Infrastructure as codeConfiguration IISWebsite{

Node Server1, Server2{

WindowsFeature IIS{

Ensure = “Present”Name = “Web-Server”

}

WindowsFeature ASP{

Ensure = “Present”Name = “Web-Asp-Net45”

} }

}

$Namespace = 'root/Microsoft/Windows/DesiredStateConfiguration'

$ClassName = 'MSFT_DSCLocalConfigurationManager'

$cimClass = Get-CimClass -Namespace $Namespace -ClassName $ClassName

$mofData = Get-Content "$env:SystemDrive¥FileResource.mof"

$enc = [system.Text.Encoding]::UTF8

$totalSize = [System.BitConverter]::GetBytes($mofData.Length + 4)

$dataInUint8Format = $totalSize + $enc.GetBytes($mofData)

$param = @{

ModuleName = 'PSDesiredStateConfiguration';

resourceProperty = $dataInUint8Format;

ResourceType = 'MSFT_FileDirectoryConfiguration';

}

# Create Cim session

$wsmanSession = New-CimSession -ComputerName localhost -SessionOption (New-

CimSessionOption -Protocol Wsman)

# Invoke DSC Resource Test method

Invoke-CimMethod -CimClass $cimClass -MethodName ResourceTest -Arguments $param -

Verbose -CimSession $wsmanSession

・・・

テクノロジーは新たに生まれ、淘汰され、洗練され、ビジネスにとって有益なものに進化し続ける

時代のニーズに応え続けるためのスタンス

提言

アンケートにご協力ください。

●アンケートに上記の Session IDのブレイクアウトセッションに

チェックを入れて下さい。

●アンケートはお帰りの際に、受付でご提出ください。

マイクロソフトスペシャルグッズと引換えさせていただきます。