Александр Шаповал «Контейнеры windows в microsoft azure и on-premise»
TRANSCRIPT
Контейнеры Windows в Microsoft Azure и on-premiseАлександр Шаповал Эксперт по стратегическим технологиям, Microsoft
СодержаниеЧто такое контейнер?Как работает контейнер?В чем преимущества контейнеров?Что такое образ контейнера?
Что такое контейнер?
Что такое контейнер?
Application
OS
Hardware
Что такое контейнер?
Традиционные виртуальные машины = аппаратная виртуализация
Application
OS
Hardware
VM VM VM
Что такое контейнер?
Традиционные виртуальные машины = аппаратная виртуализация
Application
OS
Hardware
VM VM VM
Что такое контейнер?
Традиционные виртуальные машины = аппаратная виртуализация
Application
OS
Hardware
OS
Hardware
Контейнеры
VM VM VM
OS
Hardware
Что такое контейнер? Контейнеры = виртуализация на уровне операционной системы
Традиционные виртуальные машины = аппаратная виртуализация
Applications
Kernel
Application
OS
Hardware
VM VM VM
Что такое контейнер? Контейнеры = виртуализация на уровне операционной системы
Традиционные виртуальные машины = аппаратная виртуализация
OS
Hardware
ApplicationsKernel
CONTAINER
CONTAINER
CONTAINER
Application
OS
Hardware
VM VM VM
Что такое контейнер? Контейнеры = виртуализация на уровне
операционной системы
Традиционные виртуальные машины = аппаратная виртуализация
Application
OS
Hardware
OS
Hardware
ApplicationsKernel
CONTAINER
CONTAINER
CONTAINER
VM VM VM
Что такое контейнер?
OS
Hardware
ApplicationsKernel
CONTAINER
CONTAINER
CONTAINER
Application
OS
Hardware
VM VM VM
Kernel
CONTAINER
CONTAINER
CONTAINER
Контейнеры Windows ServerМаксимальная скорость и плотность
Контейнеры = виртуализация на уровне операционной системы
Традиционные виртуальные машины = аппаратная виртуализация
Что такое контейнер?
Kernel
CONTAINER
CONTAINER
CONTAINER
Контейнеры Windows ServerМаксимальная скорость и плотность
Hyper-V
Kernel
CONTAINER
Kernel
CONTAINER
Kernel
CONTAINER
Контейнеры Hyper-V Изоляция и производительность
OS
Hardware
ApplicationsKernel
CONTAINER
CONTAINER
CONTAINER
Application
OS
Hardware
VM VM VM
Контейнеры = виртуализация на уровне операционной системы
Традиционные виртуальные машины = аппаратная виртуализация
Как работает контейнер?
Архитектура
Operating System
Docker Engine
Docker Client
Docker Registry
Docker Compose
Docker Swarm
Docker Universal Control Plane}Инструменты
разработки иуправления
Среда выполнения
Docker PowerShel
l
Контейнеры Windows Server
Hyper-V Hypervisor
Host User Mode
Container Managemen
t
Windows Kernel
Compute Services
Docker Engine
System Processes
Session Manager
Local Security Authority
Etc…
Контейнеры Windows Server
Hyper-V Hypervisor
Host User Mode
Container Managemen
t
Windows Kernel
Compute Services
Docker Engine Windows Server
Container
System Processes
Session Manager
Local Security Authority
Etc…
Контейнеры Windows Server
Hyper-V Hypervisor
Host User Mode
Container Managemen
t
Windows Kernel
Compute Services
Docker Engine Windows Server
Container
System Processes
System Processes
Session Manager
Local Security Authority
Etc…
Контейнеры Windows Server
Hyper-V Hypervisor
Host User Mode
Container Managemen
t
Windows Kernel
Compute Services
Docker Engine Windows Server
Container
System Processes
Application
Process(es)
System Processes
Session Manager
Local Security Authority
Etc…
Windows Server Container
System Processes
Application
Process(es)
Контейнеры Windows Server
Hyper-V Hypervisor
Host User Mode
Container Managemen
t
Windows Kernel
Compute Services
Docker Engine Windows Server
Container
System Processes
Application
Process(es)
System Processes
Session Manager
Local Security Authority
Etc…
Windows Server Container
System Processes
Application
Process(es)
Контейнеры Hyper-V
Hyper-V Hypervisor
Host User Mode
Container Managemen
t
Windows Kernel
Compute Services
Docker Engine Windows Server
Container
System Processes
Application
Process(es)
System Processes
Session Manager
Local Security Authority
Etc…
Hyper-V Container
Hyper-V Container
Windows Server Container
System Processes
Application
Process(es)
Контейнеры Hyper-V
Hyper-V Hypervisor
Host User Mode
Container Managemen
t
Windows Kernel
Compute Services
Docker Engine Windows Server
Container
System Processes
Application
Process(es)
System Processes
Session Manager
Local Security Authority
Etc…
Windows Kernel
Hyper-V Container
Контейнеры Hyper-V
Hyper-V Hypervisor
Host User Mode
Container Managemen
t
Windows Kernel
Compute Services
Docker Engine Windows Server
Container
System Processes
Application
Process(es)
System Processes
Session Manager
Local Security Authority
Etc…
Windows Kernel
Windows Server Container
System Processes
Application
Process(es)
Virtual MachineSpecifically Optimized To
Run a Container
Контейнеры Hyper-V
Hyper-V Hypervisor
Host User Mode
Container Managemen
t
Windows Kernel
Compute Services
Docker Engine Windows Server
Container
System Processes
Application
Process(es)
System Processes
Session Manager
Local Security Authority
Etc…
Hyper-V Container
Windows Kernel
Windows Server Container
System Processes
Application
Process(es)
В чем преимущества контейнеров?
Преимущества контейнеровНовый метод построения, доставки, развертывания приложений и создания их экземпляров
Для развертывания новых приложений обычно использовались физические системы в соотношении: одна единица оборудования на одно приложение.Новым приложениям требуются новые физические системы для изоляции ресурсов.
Физическая среда
Более высокий уровень консолидации серверов, более эффективное использование ресурсов.Время развертывания приложений меньше по сравнению с традиционной, физической, средой.Развертывание приложений на виртуальных машинах с гарантией полной совместимости.Преимущества виртуальных машин:динамическая миграция, высокая доступность.
Виртуальная среда
Использование контейнеров для упаковки и выполнения приложений.
Физическая/
виртуальная среда
Ключевые преимуществаБолее быстрое развертывание приложений.Упрощенный процесс развертывания приложений.Упрощенный процесс разработки и тестирования.Снижение затрат на разработку приложений.Повышение уровня консолидации серверов.
ИТ-специалисты и разработчики взаимодействуют
для получения показателей и аналитических данных.
Физические/виртуальные серверы
ИТ-специалист по эксплуатации выполняет автоматизированное
развертывание и ведет мониторинг развернутых
приложений через центральный репозиторий.
Разработчики отправляют контейнеры в центральный
репозиторий.
Разработчики создают, тестируют и обновляют
приложения, используя среду разработки, например Visual
Studio.
Контейнеры — центральный компонент процессов DevOpS
NodeJS with Nano ServerWindows Server ContainerUnder 600 Milliseconds!
A virtual machine takes ~3 seconds
Hyper-V Container~1.75 seconds
NodeJS в Windows Server CoreКонтейнер Windows Server
~1 секунда
Виртуальная машина ~от 5 секунд до более чем 1 минуты
Контейнер Hyper-V~3.3 секунды
*Includes initial boot provisioning phase (out-of-box setup etc…)**Startup time after initial container start.
Testing performed on HP ProLiant SL250s Gen8, E5-2600, 2 Socket, 8 Core, 128GB RAM, HP SATA SSD - results may vary based on hardware and software configurations.
Скорость запуска
NodeJS в Nano ServerКонтейнер Windows Server
Менее 600 миллисекунд!
Виртуальная машина ~3 секунды
Контейнер Hyper-V~1.75 секунды
NodeJS в Windows Server CoreКонтейнер Windows Server
~1 секунда
Виртуальная машина ~от 5 секунд до более чем 1 минуты
Контейнер Hyper-V~3.3 секунды
Скорость запуска
NodeJS with Nano ServerWindows Server Container
First Container ~120MBAdditional Containers ~75MB
Hyper-V Container
First Container ~340MBAdditional Containers ~150MB
NodeJS в Windows Server CoreКонтейнер Windows Server
Первый контейнер ~150МБДоп. контейнеры ~75МБ
Контейнер Hyper-V
Первый контейнер ~555МБДоп. контейнеры ~280МБ
Testing performed on HP ProLiant SL250s Gen8, E5-2600, 2 Socket, 8 Core, 128GB RAM, HP SATA SSD - results may vary based on hardware and software configurations.
Плотность
NodeJS в Nano ServerКонтейнер Windows Server
Первый контейнер ~120МБДоп. контейнеры ~75МБ
Контейнер Hyper-V
Первый контейнер ~340МБДоп. контейнеры ~150МБ
NodeJS в Windows Server CoreКонтейнер Windows Server
Первый контейнер ~150МБДоп. контейнеры ~75МБ
Контейнер Hyper-V
Первый контейнер ~555МБДоп. контейнеры ~280МБ
Плотность
Что такое образ контейнера?
• Аналог конфигурационных и VHD-файлов ВМ• Создается путем запуска контейнера и фиксации
изменений • Изменения включают в себя файлы и реестр
ImageMetadata
Name,Creation Data,
Command To Execute,Dependences
Contents
Files FoldersRegistry
Образ контейнера
IIS
My Website
Базовый образ (ОС)
Программная среда
Приложение
Образ контейнера
IIS
My Website
Базовый образ (ОС)
Программная среда
Приложение
Image ContentsFolders and Files
License.txt PerfLogs Program Files
Program Files (x86) Users Windows
Registry
HKLM HKCU
HKCR HKU
Образ контейнера
IIS
My Website
Базовый образ (ОС)
Программная среда
Приложение
Image ContentsFolders and Files
License.txt PerfLogs Program Files
Program Files (x86) Users Windows
Registry
HKLM HKCU
HKCR HKU
Image ContentsFolders and Files
mysite.html
Registry
inetpub
SOFTWARE/mykey
HKLM
Образ контейнера
• Docker Build и Dockerfiles• Метод автоматизации построения образов контейнеров • Запускается командой “docker build” • Использует инструкции из Dockerfile• Интегрируется с Docker Hub
• Примеры• IIS• FROM microsoft/windowsservercore• RUN powershell –command Add-WindowsFeature Web-Server
• Website• FROM iis• ADD mysite.htm inetpub\mysite.htm
IIS
My Website
Автоматическое построение образа
Server CoreNano Server
Системы, поддерживающие работу контейнеров
Традиционные приложения
Высочайшая совместимость
Полная оптимизация
Приложения, разработанные для облачной среды
• Что такое репозиторий?• Хранилище образов, которое позволяет:
• Загружать образ в репозиторий (Push)• Скачивать образ из репозитория (Pull)• Осуществлять поиск образа в репозитории (Search)
Репозитории образов
Docker Hub и Docker StorePublic, Official и Private репозитории образов Гранулированный контроль доступа Поддержка автоматического построения образов Docker Trusted RegistryЧастный репозиторий уровня предприятияЗапускается в вашей инфраструктуре (локально или в облаке)Контроль доступа с помощью ролей и Active DirectoryDocker RegistryOpen source основа Docker Hub и DTRЗапускается в вашей инфраструктуре (локально или в облаке)в виде контейнераhttps://docs.docker.com/registry и/или https://github.com/docker/distribution
Репозитории образов
Демонстрация
Использование Docker для управления контейнерами Windows
Что дальше
Протестируйте
контейнеры в облаке
Оформите пробную подписку
Azure
Протестируйте
контейнеры on-premise
Пробная подписка на 30 дней:
https://azure.microsoft.com/ru-ru/free/
Azure Pass на 30 дней: [email protected]
Ознакомительная версия Windows Server
2016: https://www.microsoft.com/ru-ru/evalcenter/evaluate-windows-server-2016
Самый простой способ познакомиться с
контейнерами Windows – запустить их в облаке
Microsoft Azure
Дополнительные материалы:
Документация по контейнерам: https://aka.ms/windowscontainers Форум: https://social.msdn.microsoft.com/forums/en-us/home?forum=windowscontainers Ресурсы сообщества: https://msdn.microsoft.com/virtualization/community/community_overview Контейнеры на Channel9: https://channel9.msdn.com/blogs/containers
Q&A
Контейнеры Windows в Microsoft Azure и on-premiseАлександр Шаповал [email protected]
© 2016 Microsoft Corporation. All rights reserved.