マイクロソフトが考える 5...
Transcript of マイクロソフトが考える 5...
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
「データパイプライン」: データ中心のワークフロー
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
ループ 計算式 合計
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)
Imperative Paradigm
売り上げデータを収集する
収集した売り上げデータを合計して結果を出力
t 時間売り上げデータを収集する
収集した売り上げデータを合計して結果を出力
売上合計の変化
変化とは
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
状態
ビジネスからの大きな期待
プラットフォームの進化
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
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のブレイクアウトセッションに
チェックを入れて下さい。
●アンケートはお帰りの際に、受付でご提出ください。
マイクロソフトスペシャルグッズと引換えさせていただきます。