DevOps Summit: микросервисы...Создает и запускает контейнер с...

Post on 04-Jun-2020

12 views 0 download

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

Спасибо!