マイクロソフトが考える 5 年後を見据えた技術提言 メインスピーカー & [ アーキテクチャ ] 萩原正義 [ プログラミング ] [ プラットフォーム ] 荒井省三
サービス化 所有 ( もの ) 使用 ( こと ) 自家用車 分譲 レンタカー 賃貸 パッケージソフト クラウドサービス 買換えの継続 常時改善 自己責任 保守保証 自己管理 監視と分析 予見
リーンエンタープライズ リアクティブパラダイム 問題指向 データパイプライン マイクロサービス 開発 運用 CloudOS Open Innovation Resource as a Service
アプリケーション リアクティブパラダイム 問題指向 データパイプライン マイクロサービス 開発 運用 CloudOS Open Innovation Resource as a Service
アプリケーション アーキテクチャ
サービス化 への流れ : 早期投入 継続利用 早期投入
アプリケーションアーキテクチャの進化 デスクトップ クライアント UI サーバー ビジネスロジック データ?
より徹底したコンポーネント化 ビジネス能力に基づく分割 ガバナンス データの分散 デバイス API サービス サービス サービス サービス サービス サービス サービス サービス
Microservices によるアプリケーション開発 Any Device 単一の責務 別々のアーキテクチャ API Proxy 障害のための設計 API ビジネスロジック 状態データ API ビジネスロジック 状態データ
マイクロソフトが描く今後のクラウドサービスマイクロサービスに基づく 高可用性 ハイパースケールなプラットフォーム Microservices High Availability Simple programming models Hybrid Operations Hyper-Scale High Density Data Partitioning Rolling Upgrades Automated Rollback Service Fabric Low Latency Stateful services Placement Constraints Health Monitoring Fast startup & shutdown Container Orchestration & lifecycle management Load balancing Self-healing Replication & Failover Windows Server Linux Windows Server Linux Azure Hosted Clouds Windows Server Linux Private Clouds
日本の IT 技術者が Microservices を実現するには 3 ティアモデル思考の先へ ビジネス機能単位のチーム体制 サービス間をまたがるデータ管理
サービス化 への流れ : 継続利用 継続利用 早期投入
データパイプライン : データ中心のワークフロー Application Azure Storage Smart Devices Event Hubs Document DB Machine Learning SharePoint Micro Devices Device Agent / Gateway Sensors, Low-power devices (RTOS) Web API Stream Analytics RDB (SQL Server /SQL Database) Azure HDInsight (Hadoop) SQL Server Analysis Services Power BI (Excel / Office 365)
開発パラダイム リアクティブパラダイム 問題指向 データパイプライン マイクロサービス 開発 運用 CloudOS Open Innovation Resource as a Service
プログラミングパラダイムを 変えよう
プログラミングとは パラダイム言語 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 時間
データ ( 時間 ) の変化に着目する A + B の変化を通知 t 時間
変化とは 状態 After 1 3 6 10 15 21 28 36 45 55 値 1 2 3 4 5 6 7 8 9 10 Before 0 1 3 6 10 15 21 28 36 45 t 時間
変化とは After 1 3 6 10 15 21 28 36 45 55 値 1 2 3 4 5 6 7 8 9 10 Before 0 1 3 6 10 15 21 28 36 45 t 時間
変化へ対応
プラットフォーム リアクティブパラダイム 問題指向 データパイプライン マイクロサービス 開発 運用 CloudOS Open Innovation Resource as a Service
Cloud OS の源泉たるプラットフォームの進化と Resource as a Service
プラットフォームの進化 ビジネスからの大きな期待 Reactive Paradigm Open Innovation Micro Services Data Pipeline 源泉 (Resource) 要求に応えられる新しいプラットフォーム ( 広義の ) Cloud OS
Cloud OS の源泉たる Resource (Technology) の進化 Programmable H/W White Box H/W Open Source H/W Hybrid Cloud 迅速展開 垂直統合 研究開発 省電力 + 高速化 & 大容量化 (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) の進化 Virtual Appliance & Function API & Cloud Controller Virtual Machine Hypervisor (Isolation) Software Defined Network Software Defined Storage
Cloud OS の源泉たる Resource (Technology) の進化 Packaging Programmable Immutable Isolation Container Controllable Secure Component nano OS OS
Cloud OS の源泉たる Resource (Technology) の進化 分散クラスタリング [ 処理すべきもの ] と [ リソース ] の本質的関係へのアプローチ Task Task Task Task Task Task Task 分散されたリソースが自動処理 Isolation Distribution Replication Scheduling Resource Control
分散クラスタリング技術 ~ 究極の抽象化レイヤー実現のために進化中 ~ Pod Connectivity Neighboring diagram Reconfigurable fabric
Cloud OS の源泉たる Resource (Technology) の進化 分散クラスタリング [ 処理すべきもの ] と [ リソース ] の本質的関係へのアプローチ Task Task Task Task Task Task Task 分散されたリソースが自動処理 Isolation Distribution Replication Scheduling Resource Control Packaging
1 つのレイヤーだけですべてを満たせない MapReduce, Docker, Mesos, Marathon, YARN, Kubernetes, Drawbridge, Haven, Service Fabric, FaRM, IOFlow 我こそ最適なリソース [ 競争原理 ] アプリケーション要件への対応 SLA の保証 ( 公平性 / 安定性 / コスト / セキュリティ ) 分散されたリソースが自動処理 Isolation Distribution Scheduling Replication Resource Control
5 年後を見据えた主役となる Resource の考察 ゴールはアプリケーションの実行 汎用 Program 高速性重視の専用 Program 要求 Packet Direct 汎用 CPU Programmable board (FPGA)
マイクロソフトの動き New Management Management with Cloud Packaging Marketplace Container Infrastructure as code Orchestration/Automation Monitoring/Alerting/Logging Configuration Incident/Change/Problem Data Protection Virtualization/Provisioning Cloud First Fabric Management
Infrastructure as code Configuration 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 のブレイクアウトセッションにチェックを入れて下さい アンケートはお帰りの際に 受付でご提出ください マイクロソフトスペシャルグッズと引換えさせていただきます