Александр Шаповал «Контейнеры windows в microsoft azure и on-premise»

44
Контейнеры Windows в Microsoft Azure и on- premise Александр Шаповал Эксперт по стратегическим технологиям, Microsoft

Upload: spbdotnet-community

Post on 16-Apr-2017

123 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

Контейнеры Windows в Microsoft Azure и on-premiseАлександр Шаповал Эксперт по стратегическим технологиям, Microsoft

Page 2: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

СодержаниеЧто такое контейнер?Как работает контейнер?В чем преимущества контейнеров?Что такое образ контейнера?

Page 3: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

Что такое контейнер?

Page 4: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

Что такое контейнер?

Application

OS

Hardware

Page 5: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

Что такое контейнер?

Традиционные виртуальные машины = аппаратная виртуализация

Application

OS

Hardware

VM VM VM

Page 6: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

Что такое контейнер?

Традиционные виртуальные машины = аппаратная виртуализация

Application

OS

Hardware

VM VM VM

Page 7: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

Что такое контейнер?

Традиционные виртуальные машины = аппаратная виртуализация

Application

OS

Hardware

OS

Hardware

Контейнеры

VM VM VM

Page 8: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

OS

Hardware

Что такое контейнер? Контейнеры = виртуализация на уровне операционной системы

Традиционные виртуальные машины = аппаратная виртуализация

Applications

Kernel

Application

OS

Hardware

VM VM VM

Page 9: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

Что такое контейнер? Контейнеры = виртуализация на уровне операционной системы

Традиционные виртуальные машины = аппаратная виртуализация

OS

Hardware

ApplicationsKernel

CONTAINER

CONTAINER

CONTAINER

Application

OS

Hardware

VM VM VM

Page 10: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

Что такое контейнер? Контейнеры = виртуализация на уровне

операционной системы

Традиционные виртуальные машины = аппаратная виртуализация

Application

OS

Hardware

OS

Hardware

ApplicationsKernel

CONTAINER

CONTAINER

CONTAINER

VM VM VM

Page 11: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

Что такое контейнер?

OS

Hardware

ApplicationsKernel

CONTAINER

CONTAINER

CONTAINER

Application

OS

Hardware

VM VM VM

Kernel

CONTAINER

CONTAINER

CONTAINER

Контейнеры Windows ServerМаксимальная скорость и плотность

Контейнеры = виртуализация на уровне операционной системы

Традиционные виртуальные машины = аппаратная виртуализация

Page 12: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

Что такое контейнер?

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

Контейнеры = виртуализация на уровне операционной системы

Традиционные виртуальные машины = аппаратная виртуализация

Page 13: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

Как работает контейнер?

Page 14: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

Архитектура

Operating System

Docker Engine

Docker Client

Docker Registry

Docker Compose

Docker Swarm

Docker Universal Control Plane}Инструменты

разработки иуправления

Среда выполнения

Docker PowerShel

l

Page 15: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

Контейнеры 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…

Page 16: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

Контейнеры 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…

Page 17: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

Контейнеры 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…

Page 18: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

Контейнеры 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…

Page 19: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

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…

Page 20: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

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

Page 21: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

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

Page 22: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

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)

Page 23: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

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)

Page 24: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

В чем преимущества контейнеров?

Page 25: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

Преимущества контейнеровНовый метод построения, доставки, развертывания приложений и создания их экземпляров

Для развертывания новых приложений обычно использовались физические системы в соотношении: одна единица оборудования на одно приложение.Новым приложениям требуются новые физические системы для изоляции ресурсов.

Физическая среда

Более высокий уровень консолидации серверов, более эффективное использование ресурсов.Время развертывания приложений меньше по сравнению с традиционной, физической, средой.Развертывание приложений на виртуальных машинах с гарантией полной совместимости.Преимущества виртуальных машин:динамическая миграция, высокая доступность.

Виртуальная среда

Использование контейнеров для упаковки и выполнения приложений.

Физическая/

виртуальная среда

Ключевые преимуществаБолее быстрое развертывание приложений.Упрощенный процесс развертывания приложений.Упрощенный процесс разработки и тестирования.Снижение затрат на разработку приложений.Повышение уровня консолидации серверов.

Page 26: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

ИТ-специалисты и разработчики взаимодействуют

для получения показателей и аналитических данных.

Физические/виртуальные серверы

ИТ-специалист по эксплуатации выполняет автоматизированное

развертывание и ведет мониторинг развернутых

приложений через центральный репозиторий.

Разработчики отправляют контейнеры в центральный

репозиторий.

Разработчики создают, тестируют и обновляют

приложения, используя среду разработки, например Visual

Studio.

Контейнеры — центральный компонент процессов DevOpS

Page 27: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

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.

Скорость запуска

Page 28: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

NodeJS в Nano ServerКонтейнер Windows Server

Менее 600 миллисекунд!

Виртуальная машина ~3 секунды

Контейнер Hyper-V~1.75 секунды

NodeJS в Windows Server CoreКонтейнер Windows Server

~1 секунда

Виртуальная машина ~от 5 секунд до более чем 1 минуты

Контейнер Hyper-V~3.3 секунды

Скорость запуска

Page 29: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

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.

Плотность

Page 30: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

NodeJS в Nano ServerКонтейнер Windows Server

Первый контейнер ~120МБДоп. контейнеры ~75МБ

Контейнер Hyper-V

Первый контейнер ~340МБДоп. контейнеры ~150МБ

NodeJS в Windows Server CoreКонтейнер Windows Server

Первый контейнер ~150МБДоп. контейнеры ~75МБ

Контейнер Hyper-V

Первый контейнер ~555МБДоп. контейнеры ~280МБ

Плотность

Page 31: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

Что такое образ контейнера?

Page 32: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

• Аналог конфигурационных и VHD-файлов ВМ• Создается путем запуска контейнера и фиксации

изменений • Изменения включают в себя файлы и реестр

ImageMetadata

Name,Creation Data,

Command To Execute,Dependences

Contents

Files FoldersRegistry

Образ контейнера

Page 33: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

IIS

My Website

Базовый образ (ОС)

Программная среда

Приложение

Образ контейнера

Page 34: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

IIS

My Website

Базовый образ (ОС)

Программная среда

Приложение

Image ContentsFolders and Files

License.txt PerfLogs Program Files

Program Files (x86) Users Windows

Registry

HKLM HKCU

HKCR HKU

Образ контейнера

Page 35: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

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

Образ контейнера

Page 36: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

• 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

Автоматическое построение образа

Page 37: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

Server CoreNano Server

Системы, поддерживающие работу контейнеров

Традиционные приложения

Высочайшая совместимость

Полная оптимизация

Приложения, разработанные для облачной среды

Page 38: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

• Что такое репозиторий?• Хранилище образов, которое позволяет:

• Загружать образ в репозиторий (Push)• Скачивать образ из репозитория (Pull)• Осуществлять поиск образа в репозитории (Search)

Репозитории образов

Page 39: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

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

Репозитории образов

Page 40: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

Демонстрация

Использование Docker для управления контейнерами Windows

Page 41: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

Что дальше

Протестируйте

контейнеры в облаке

Оформите пробную подписку

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

Page 42: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

Дополнительные материалы:

Документация по контейнерам: 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

Page 43: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

Q&A

Контейнеры Windows в Microsoft Azure и on-premiseАлександр Шаповал [email protected]

Page 44: Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»

© 2016 Microsoft Corporation. All rights reserved.