アカウントを記憶する
次への埋め込みコード: 20151126_インフラから見た DevOps 技術
いずれかを選択してください。
小
中
大
インフラから見た DevOps 技術 ~ Windows Server Containers と Nano Server~
日本マイクロソフト株式会社
エバンジェリスト
高添 修
http://blogs.technet.com/b/osamut
はじめに
このプレゼンテーション資料は 2015 年 11 月 26 日時点で公開可能な情報をもとに作成されています。
このプレゼンテーション資料には 開発中の製品やサービス、機能の説明が含まれている場合があり、サービスを開始したものを含め、市場の変化に応じて大幅に変更する可能性があることをご理解いただければ幸いです。
英語のスライドが
多く含まれます。
本セッションの進め方
最近の TechNet/MSDN の情報は 「現場目線」「操作重視」になりつつある!!
本セッションは
情報をセッションの時間に合わせて減らす必要はない
「 PowerPoint スライドがすべて」ではない
PowerPoint スライド+ Web の情報を見ながら解説します
どこに
どんな情報があり
それはどのように解釈すればよいのか
きほん
DevOps は 難しい
一連の流れはできつつある
リリース
テスト
リポジトリ
ビルド
Apps
稼働
運用管理・監視
コーディング / デバッグ
開発者
注目
コンテナ
DevOps をコンテナと共に
Enable ‘write-once, run-anywhere’ apps
Enables microservice architectures
Great for dev/test of apps and services (thousands available from Docker)
Production realism
Developers
Portability, Portability, Portability
Standardized development, QA, and prod environments
Abstract differences in OS distributions and underlying infrastructure
Higher compute density
Easily scale-up and scale-down in response to changing business needs
DevOps
Operations
注目を浴びる新しいインフラ :コンテナ
数秒でもう 1 つの OS イメージを立ち上げ
1 つの OS で、複数のアプリ環境を 実現
容易なアプリ環境のイメージ化と展開
アプリ構成
アプリ
OS 構成
OS
OS 構成 (IP 1)
OS 構成 (IP 2)
OS 構成 (IP 3)
ハイパーバイザー
Container イメージ + Docker
OS (Windows Server 2016)
物理サーバー
サーバー仮想化による分離 /分割
Windows Server Container と Linux Container
Spotlight capabilities
別空間
Docker Hub
Docker ecosystem
Docker Engine (OSS)
Docker client
Containers
Container 用 PowerShell
Docker.exe
Examples:
docker run
docker images
Docker Client
Windows Server
Linux
Docker Remote API
GET images/json
POST containers/create
Docker Engine
(Daemon)
Container Support
Linux Container
Support (LXC)
サンプルなども出てきています
Windows Sever 2016 の 2 つの コンテナ
Windows Server Container
プレビュー開始
自動展開の
高い能力
高い伸縮性と 拡張性
効率的 /効果的
高い分離技術と 併用
セキュアな分離
Hyper-V Container
自動展開の 高い能力
高い伸縮性と
拡張性
パブリックな マルチテナント
企業内や グループ企業向け
ホスティング
共有 ホスティング
統制の厳しい ワークロード
使えるか使えないか という話ではない・・・
Isolated runtime environment for hosted applications
Isolated runtime environment for hosted applications leveraging additional Hyper-V provided isolation boundary
https://msdn.microsoft.com/en-us/virtualization/windowscontainers/management/hyperv_container?f=255&MSPPError=-2147217396
ポイントは
Container 上で稼働するプロセスが
Host と完全に分離されているかどうか
Development, Isolation, Management
DevOps プロセス with Container
開発者 Container に対して 修正、アップデート・・・
3
運用管理者 開発者と協調しながら適切な メトリックスで監視し、 Insight をフィードバック
Visual Studio などを使ってContainer 内で アプリケーションのテスト
||
そしてビルド
展開担当者 セントラルリポジトリを モニターしておき、 登録された Container を適切な場所に展開
セントラルリポジトリ
4
2
1
出来上がった Container は
セントラルリポジトリへ
コンテナの標準化に向けて
12/1 の夕方に勉強会やります
https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032695195&culture=ja-JP
18:00 ‐ 20:00 Windows Server Container の今を知る
- Windows Server Container 概説 ( 高添) 15 分
- PowerShell で Container 操作 ( 樋口) 30 分
- WMI で Container 操作 ( 樋口) 30 分
- Docker Command で Container 操作 ( 高添) 20 分
- もし間に合えば Hyper-V Container ( 高添) 20 分
- Q&A
Nested Hyper-V
Hyper-V on Hyper-V on Hyper-V on Hyper-V ・・・
マトリョーシカ人形のようなものかも?
無限ではない
物理マシンの限界は 超えられない
※ ウィキペディアより引用https://ja.wikipedia.org/wiki/%E3%83%9E%E3%83%88%E3%83%AA%E3%83%A7%E3%83%BC%E3%82%B7%E3%82%AB%E4%BA%BA%E5%BD%A2
Nested Hyper-V とは
Hyper-V on Hyper-V
VM on VM
物理マシンの
Hyper-V マネージャー
物理マシン
仮想マシン
仮想マシンの
仮想マシンの上で
動作中の仮想マシン
想像:こんな時に使える?
トレーニングセンターでの Hyper-V 演習
学校での IT 授業
デモ環境で、大量の物理サーバーを準備したフリ
手順書作成時の画面ショット撮り
------
クラウド仮想マシン上での仮想化基盤構築 ?
仮想化基盤を丸ごと災害対策ができたり
要件が小さめのシステムの稼働環境 ?
Hyper-V Container をクラウドで使うには
ベースの App 展開
サービス
Hyper-V
Nano Server
フットプリントを最小化
Windows Server を徹底的にリファクタリング
オプションの役割と機能は OS の外に
追加用 役割と機能のバイナリやメタデータは OS イメージに含みません
アプリケーションみたいに機能パッケージをインストールします
WOW64 を削除 (32bit サポートなし)
複数のサーバーコア コンポーネントを削除
GUI スタックの 削除 ( ヘッドレスサーバー)
ローカルログオン不可
Nano Server 情報収集
https://technet.microsoft.com/library/mt126167.aspx
http://blogs.technet.com/b/nanoserver/
他にも・・・
コミュニティ InvokeV
https://www.facebook.com/groups/749187091776055/
http://blogs.technet.com/b/windowsserver/archive/2015/11/16/moving-to-nano-server-the-new-deployment-option-in-windows-server-2016.aspx
MSDN にも Getting Start Nano Server
https://msdn.microsoft.com/en-us/library/mt126167.aspx
https://msdn.microsoft.com/en-us/library/mt588480(v=vs.85).aspx
Nano Server - Roles & Features
Zero-footprint model
Server Roles and Optional Features live outside of Nano Server
Standalone packages that install like applications
Key Roles & Features
Hyper-V, Storage (SoFS), and Clustering
Core CLR, ASP.NET 5 & PaaS
Full Windows Server driver support
Antimalware optional package
System Center and Apps Insight agents to follow
Nano Server - Management
Eliminating the need to ever sit in front of a server
Configuration via PowerShell Desired State Configuration (DSC)
Remote management/automation via Core PowerShell and WMI
Integrate into DevOps toolchains
Nano Server - Core PowerShell
Refactored to run on CoreCLR
Full PowerShell language compatibility & remoting
Invoke-Command, New-PSSession, Enter-PSSession, etc.
Most core engine components
Support for all cmdlet types: C#, Script, and CIM
Limited set of cmdlets initially
Remote Server Management Tools
Web-based
Includes replacements for local-only tools
Task Manager
Registry Editor
Event Viewer
Device Manager
Sconfig
Control Panel
Performance Monitor
Disk Management
Users/Groups Manager
File Explorer
Also manages Server Core and Server with GUI
Cloud Application platform
Born-in-the-cloud application support
Subset of Win32
CoreCLR, PaaS, and ASP.NET 5
Available as OS everywhere
Host OS for physical hardware
Guest OS in a VM
Windows Server containers
Hyper-V containers
Future additions
PowerShell Desired State Configuration (DSC) & PackageManagement
Additional Roles and Application Frameworks
Server Application Development
Remote Desktop Server
Local Admin Tools
Deep refactoring
Client stack for RDS
Developers target Nano Server
Deploy to Physical, Virtual or Containers
Client
(aka Server w/a Desktop Exp)
(Aka Full Server)
Physical, Virtual, Containers
Server Core
Nano Server - Developer Experience
Windows SDK & Visual Studio 2015 target Nano Server
Download tooling from the VS gallery
Rich design-time experience
Project template, full IntelliSense, error squiggles, etc.
Full remote debugging experience
Reverse Forwarders
A missing DLL will result in an app failing to run
Provide a way to run existing apps without recompiling for Nano Server
Does not eliminate the need to refactor code to what is available in Nano Server
What runs today with the Reverse Forwarders?
Chef
PHP
Nginx
Python 3.5
Node.js
GO
Redis
MySQL
OpenSSL
Java (OpenJDK)
Ruby (2.1.5)
SQLite
Servicing Improvements*
23
11
26
6
8
9
* Analysis based on all patches released in 2014
Security Improvements
46
31
98
73
22
12
Resource Utilization Improvements
255
139
21
150
61
Deployment Improvements
6.3
300
4.84
40
.4
.41
Installing Drivers
For the leanest image, install just the drivers your hardware requires
Dism /Add-Driver /driver:<path>
Nano Server includes a package of all drivers in Server Core
Dism /Add-Package /PackagePath:.\packages\Microsoft-NanoServer-OEM-Drivers-Package.cab
To run Nano Server as a VM install
Dism /Add-Package /PackagePath:.\packagesMicrosoft-NanoServer-Guest-Package.cab
Installing Roles and Features
Nano Server folder has a Packages sub-folder
Dism /Add-Package /PackagePath:.\packages\<package>
Dism /Add-Package /PackagePath:.\packages\en-us\<package>
Installing Agents and Tools on Nano Server
No MSI support in Nano Server
Current builds of Nano Server require xcopy or custom PowerShell script
Nano Server Installer in the works, which will provide
Install
Uninstall
Inventory
Online and offline installation support
Emergency Management Console
New in Technical Preview 3
Provides local access to basic configuration and network settings:
Computer name
Domain or workgroup name
Ipconfig /all information for each network adapter
Next release will include ability to modify network settings
Roadmap
Nano Server is the future nucleus of Windows Server
Target for cloud components and Born-in-the-Cloud applications
New foundation for all components
Provides a Just Enough OS model for all applications
Not everything will run on Nano Server
Server Core provides compatibility for existing Enterprise applications
Existing Enterprise Applications
Born-in-the-Cloud
applications
© 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
© 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Build 2015
© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. from the VS gallery
Nano Server Insta