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

Post on 16-Apr-2017

123 views 0 download

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

Контейнеры 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 дней: ashapo@microsoft.com

Ознакомительная версия 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Александр Шаповал ashapo@microsoft.com

© 2016 Microsoft Corporation. All rights reserved.