За последние годы у ИТ-сообщества накопился опыт использования систем управления конфигурацией и работой в организации по методологии DevOps. Но растущие вызовы показывают, что и этот подход имеет свои недостатки. Доклад расскажет о том, какие контейнеры бывают и почему они победят, что придет на смену облакам, и какие практики стоит начать внедрять сегодня, чтобы завтра не остаться без работы.
3. Избавляем бизнес от ИТ-зависимости
План
• Цифровизация и новые вызовы
• Что такое DevOps/NoOps?
• Слабые стороны систем управления
конфигурацией
• Микросервисная архитектура
• Контейнеры (Docker)
3
4. Избавляем бизнес от ИТ-зависимости
Технологические
компании
• Uber
• Airbnb
• Etsy
• Yandex
• Тинькофф
• и т.д.
4
5. Избавляем бизнес от ИТ-зависимости
Схема корпорации*
5
* Генри Минцберг
Структура Автоматизация ИТ-архитектура
Рынок
Компания
Бизнес-процессы
Application
Middleware
Database
6. Избавляем бизнес от ИТ-зависимости
Схема технологической
компании
6
РынокКомпания
Программное
обеспечение
8. Избавляем бизнес от ИТ-зависимости
Time-to-market
8
Рынок
Программное
обеспечение
Инженеры
Стратегический апекс
9. Избавляем бизнес от ИТ-зависимости
DevOps
• Конфликт Dev и Ops
• Совместная работа над созданием ценности
• Соответствующие практики и инструменты
• CAMS
9
10. Избавляем бизнес от ИТ-зависимости
NoOps
• Невозможно “нарезать” Ops на несколько
команд
• Есть специализация у Ops, есть чистые Ops
задачи
• Общаться с Ops все равно долго
• Давайте их, вообще, уберем ;-)
• Будем использовать API и SLA
10
11. Избавляем бизнес от ИТ-зависимости
Недостатки систем
управления конфигурацией
• Configuration Drift
• Гетерогенная инфраструктура
• Тяжело поддерживать на больших проектах
• Сложны для изучения
11
12. Избавляем бизнес от ИТ-зависимости
Проблемы больших
приложений
• Сложно поддерживать
• Сильная связанность
• Очень дорого обновлять на новые версии
языков/фреймворков/библиотек
• Монолитность
• Долгий старт
12
14. Избавляем бизнес от ИТ-зависимости
Hardware Network
Drivers
OS/Hypervisor
Guest OS
Langauge VM
Libraries/Frameworks/Language
Application
15. Избавляем бизнес от ИТ-зависимости
Hardware Network
Drivers
OS/Hypervisor
Guest OS
Langauge VM
Libraries/Frameworks/Language
Application
Василий Екатерина
Петр
16. Избавляем бизнес от ИТ-зависимости
Hardware Network
Drivers
OS/Hypervisor
Guest OS
Langauge VM
Libraries/Frameworks/Language
Application
Василий Екатерина
Петр
17. Избавляем бизнес от ИТ-зависимости
Hardware Network
Drivers
OS/Hypervisor
Guest OS
Langauge VM
Libraries/Frameworks/Language
Application
Василий ЕкатеринаПетр
Иван
Павел
Матвей
Ирина
Сергей
Александр
Анастасия
Юрий
Никита
21. Избавляем бизнес от ИТ-зависимости
Микросервисы
• один сервис — одна команда
• сервис самодостаточен и изолирован
• закон Конвея
• API
• сервис умеет сам себя обслуживать на основе
других сервисов
21
22. Избавляем бизнес от ИТ-зависимости
Достоинства
• Любые языки/фреймворки
• Небольшие компоненты
• Слабая связность
• Легкость обновления
22
23. Избавляем бизнес от ИТ-зависимости
Недостатки
микросервисов
• Сложно выкатывать
• Сложно тестировать
• Распределенная система
• “Порезанная” БД
23
25. Избавляем бизнес от ИТ-зависимости
Наш опыт
25
Docker и контейнеризация
Application
Libraries
Frameworks
Services
OS Env
26. Избавляем бизнес от ИТ-зависимости
Не только Docker
• rkt https://github.com/coreos/rkt
• Windows Containers
• OpenVZ
• LXD от Ubuntu
• Clear Containers
26
27. Избавляем бизнес от ИТ-зависимости
Достоинства
• Неизменяемые
• Стандартная поставка
• Долго хранятся
• Хороший выбор абстракции
27
28. Избавляем бизнес от ИТ-зависимости
Недостатки
• Еще один уровень абстракции
• Переделка приложений
• Активное использование Service Discovery
• Плохо подходят для stateful сервисов
28
29. Избавляем бизнес от ИТ-зависимости
Наш опыт
29
Datacenter Operating System
DCOS
30. Избавляем бизнес от ИТ-зависимости
Это не мистика
• Mesos/Marathon https://mesosphere.github.io/
marathon/
• DC/OS https://dcos.io/
• http://kubernetes.io/
• Amazon ECS
30
31. Избавляем бизнес от ИТ-зависимости
Выводы
• Научитесь доставлять изменения за минуты
• Научитесь пользоваться контейнерами
• Определитесь с вашей ролью в процессе
поставки ПО
• Рожайте детей, с ними прикольно
31