DevOps Summit: микросервисы...Создает и запускает контейнер с...
Transcript of DevOps Summit: микросервисы...Создает и запускает контейнер с...
Как контейнеры изменили разработку и развертывание ПО
DevOps Summit:микросервисы
КонтейнерыКотнейнеры, оркестрация, контейнерыне сервисы
Что такое контейнер?
Shared Library.v2
Что такое контейнер?
Механизм упаковки и развёртывания приложений
Операционная система
Общие библиотеки.v1
Что такое контейнер?
Механизм упаковки и развёртывания приложений
Операционная система
Общая библиотека.v1
Общая библиотека.v2
Что такое контейнер?
Механизм распространения пакетов
Образ на машине
разарбочтика
Azure Container Registry
MyApp.v2 MyApp.v2
Push Pull
Что такое контейнер?
Чёткие границы для ваших сущностей
Операционная система
Web Server
Log Roller
Monitoring Agent
SSH Daemon
OperatingSystem
Что такое контейнер?
Чёткие границы для ваших сущностей
Web Server Log Roller
Monitoring Agent
SSH Daemon
Что такое контейнер?
Изоляция времени исполнения
Веб-сервер в продакшене
Игровой сервер интерна
Что такое оркестратор контейнеров?
Управляет набором серверов
Гомогенный набор серверов (виртуальных или физических)
Что такое оркестратор контейнеров?Отделяет сервера от приложений
Гомогенный набор серверов (виртуальных или физических)
Container API: Unified Compute Substrate
Что такое оркестратор контейнеров?Стандартизует сервисы для приложений
Перезапуск
Журналирование
Мониторинг
Container API: Unified Compute Substrate
?
Что такое оркестратор контейнеров?
Container API: Unified Compute Substrate
?
Стандартизует сервисы для приложенийПерезапуск
Журналирование
Мониторинг
Что такое оркестратор контейнеров?
Container API: Unified Compute Substrate
?
Стандартизует сервисы для приложенийПерезапуск
Журналирование
Мониторинг
Что такое оркестратор контейнеров?Цель для CI/CD
Гомогенный набор серверов (виртуальных или физических)
Container API: Unified Compute Substrate
Что такое сервис контейнеров?
Делает всё это проще
Container API: Unified Compute Substrate
Что такое сервис контейнеров?
Делает всё это проще
Container API: Unified Compute Substrate
Что такое сервис контейнеров?
Делает всё это проще
Container API: Unified Compute Substrate
Контейнеры Как они меняют нашу работу
https://www.flickr.com/photos/greeblie/2224507899
Большинство аварийных
ситуаций происходит по
собственной вине.
Слишком сложно.
Рассоединяем
Приложение
Аппаратная часть
Кластер
Ядро/ОС
DevOps
Приложение
Аппаратная часть
Кластер
Ядро/ОС
Тоже DevOps
Аппаратная часть
Кластер
Ядро/ОС
Рассоединяем
Azure Virtual Machines
Приложение
Аппаратная часть
Кластер
Ядро/ОС
Приложение
Аппаратная часть
Кластер
Ядро/ОС
Рассоединяем
IaaS / Виртуализация
Container Runtimes / Образы
Рассоединяем
IaaS / Виртуализация
Container Runtimes / Образы
Container Cluster Managers
Приложение
Аппаратная часть
Кластер
Ядро/ОС
Аппаратная часть
Рассоединяем
IaaS / Виртуализация
Container Runtimes / Образы
Container Cluster Managers
Приложение
Кластер
Ядро/ОС
Но в реальности, это всё равно слишком сложно!
Оркестраторы Как основа новой платформы
Правда, ведь всё равно сложно ..
Хорошо, у меня есть кластер Kubernetes, что мне теперь говорить нашим разработчикам?
Мы не можем заставить разработчиков учить Docker, Kubernetes и т.д.
Посмотрим на Draft...
Работа с большими данными
Оркестраторы – новая основа для платформ
Вертикальные PaaS
приложения
Container API: Unified Compute Substrate
Приложения
Экосистема DockerDocker Engine, Docker Swarm, Docker Compose
Docker Engine
Запуск кода повторно на разных машинах
Docker Compose
Сборка решения из масштабируемых сервисов
Пример Docker Compose
Извлекает образ Redis из хаба Docker
Создает и запускает контейнер с Redis
Собирает образ ASP.NET
Создает и запускает web-образ на порту
80 с переменными окружения redis
Экосистема Docker
Автоматизация работы
с контейнерами
Docker Machine
Организация контейнеров
в кластеры
Docker Swarm
Безопасное общение
контейнеров между собой
Docker Networking Docker Plugins
Расширение экосистемы
Docker
Docker KitematicDocker Hub
Docker для Windows, Linux, OSX
https://docker.com/toolbox
docker client, docker machine,
docker kitematic, virtualbox
Контейнеры Windows
Docker для Windows и Linux
Docker Engine для Windows
Управление контейнерами
Системные процессы
Процессы приложе-
ний
Системные процессы
Системные процессы
Процессы приложе-
ний
Виртуальная машинаОптимизирована для запуска Контейнера
Управление контейнерами
Системные процессы
System Processes
Application Processes
Управление контейнерами
Docker
Образы контейнеров
Windows
Hyper-V Container
Windows Server Container
http://aka.ms/containers
Контейнеры и DevOpsИ как это ложится на Azure
Build/CI,
Integrate,
Test
3.
1.
Containerized Workflow
Outer-Loop
Push
Code
Production
environments
Run, Manage
5.
6.
…
…
…
…
…
…
…
Code
Run
Validate
Debug
Inner-Loop
CD, Deploy
4.
Source Code
Control(SCC)
2.
Private
Registry
…
…
…
…
…
…
Web App for
Container
Container Service
Service Fabric
App Services
Managed Kubernetes
Container Instances
Build/CI,
Integrate,
Test
Containerized Workflow
Outer-Loop
Push
Code
Production
environments
Run, Manage
Code
Run
Validate
Debug
Inner-Loop
CD, Deploy
Visual Studio Team Services
Source Code
Control(SCC)
Container
Registry
Azure
Developer Segments
Node.js GO
Linux Containers
IntelliJ
Docker & Облако AzureОпции развертывания на любой вкус
Web Apps
MobileApps
APIManagement
APIApps
LogicApps
NotificationHubs
Content DeliveryNetwork (CDN)
MediaServices
HDInsight MachineLearning
StreamAnalytics
DataFactory
EventHubs
MobileEngagement
BiztalkServices
HybridConnections
ServiceBus
StorageQueues
Backup
StorSimple
SiteRecovery
Import/Export
SQLDatabase
DocumentDB
RedisCache
Search
Tables
SQL DataWarehouse
Azure AD Connect Health
AD PrivilegedIdentity Mngt
OperationalInsights
CloudServices
Batch Remote App
ServiceFabric Visual Studio
ApplicationInsights
Azure SDK
Team Project
ActiveDirectory
Multi-FactorAuthentication
Automation
Portal
Key Vault
Store /Marketplace
VM Image Gallery& VM Depot
БЕЗОПАСНОСТЬ И УПРАВЛЕНИЕ СЕРВИСЫ ПЛАТФОРМЫ
ГИБРИДНЫЕ ОПЕРАЦИИ
Контейнеры в Azure
• Docker VM Image, Windows Server 2016
• Azure Docker VM Extension
• Azure Marketplace Container Apps
• Docker Trusted Registryв Azure Marketplace
• Azure Container Registry
• Azure Resource Manager Templates
• Azure Service Fabric
• Azure Web Apps for Containers
• Azure Container Service(с оркестратором на выбор: Swarm, DC/OS, Kubernetes)
• acs-engine – база – можно руками
Azure Native
Azure Container Service
Custom IaaS
Hosting Containers/Microservices in Azure
Стандартный инструментарий Docker
Поддержка DC/OS, Docker и K8s
Linux и Windows Server контейнеры
Возможность гибридных решений
Azure Container Service
SwarmDC/OSKubernetes
Спасибо!
Развёртывание с дополнительными условиями
Существующие VNETНесколько пулов агентовСмешанные кластеры (Windows иLinux)
ACS -Engine Зачем?
https://helm.sh
Спасибо!