Upload
ivan-evtukhovich
View
475
Download
3
Embed Size (px)
Citation preview
Микросервисы: откуда столько шума?
Иван Евтухович, Экспресс 42
Избавляем бизнес от ИТ-зависимости
Избавляем бизнес от ИТ-зависимости
План
• Цифровизация и новые вызовы
• Что такое DevOps/NoOps?
• Закон Конвея
• Микросервисная архитектура
• Контейнеры (Docker)
3
Избавляем бизнес от ИТ-зависимости
Технологические компании• Uber
• Airbnb
• Etsy
• Yandex
• Тинькофф
• и т.д.4
Избавляем бизнес от ИТ-зависимости
Схема корпорации*
5* Генри Минцберг
Структура Автоматизация ИТ-архитектура
Рынок
Компания
Бизнес-процессы
Application
Middleware
Database
Избавляем бизнес от ИТ-зависимости
Схема технологической компании
6
РынокКомпания
Программное обеспечение
Избавляем бизнес от ИТ-зависимости
Пример
7
Избавляем бизнес от ИТ-зависимости
Time-to-market
8
Рынок
Программное обеспечение
Инженеры
Стратегический апекс
Избавляем бизнес от ИТ-зависимости
DevOps
• Конфликт Dev и Ops
• Совместная работа над созданием ценности
• Соответствующие практики и инструменты
• CAMS
9
Избавляем бизнес от ИТ-зависимости
NoOps• Невозможно “нарезать” Ops на несколько команд
• Есть специализация у Ops, есть чистые Ops задачи
• Общаться с Ops все равно долго
• Давайте их, вообще, уберем ;-)
• Будем использовать API и SLA10
Избавляем бизнес от ИТ-зависимости
Недостатки систем управления конфигурацией
• Configuration Drift
• Гетерогенная инфраструктура
• Тяжело поддерживать на больших проектах
• Сложны для изучения
11
Избавляем бизнес от ИТ-зависимости
Закон Конвея
• Мелвин Конвей, 1968
• http://evtuhovich.ru/blog/2016/10/05/conways-law/
• http://www.melconway.com/Home/Committees_Paper.html
12
Формулировка
Организация, которая создает систему, ограничена дизайном, который копирует структуру коммуникации в этой организации
Избавляем бизнес от ИТ-зависимости
Проблемы больших приложений• Сложно поддерживать
• Сильная связанность
• Очень дорого обновлять на новые версии языков/фреймворков/библиотек
• Монолитность
• Долгий старт
• Разрабатывает большая команда14
Избавляем бизнес от ИТ-зависимости
Сложность
15
Избавляем бизнес от ИТ-зависимости
Архитектура
three-tier microservices
16
Избавляем бизнес от ИТ-зависимости
Микросервисы
• Один сервис — одна команда (2 пиццы)
• Продуктовое мышление
• Умные эндпоинты и глупый транспорт
• Децентрализованное управление
17
Избавляем бизнес от ИТ-зависимости
Микросервисы
• Децентрализованное управление данными
• Cервис самодостаточен и изолирован
• Публичное API
• сервис умеет сам себя обслуживать на основе других сервисов
18
Избавляем бизнес от ИТ-зависимости
Микросервисы
• Автоматизация инфраструктуры
• Спроектированы для отказа
• Асинхронны
• DDD
• Постоянно развиваются
19
Избавляем бизнес от ИТ-зависимости
Достоинства
• Любые языки/фреймворки
• Небольшие компоненты
• Слабая связность
• Легкость обновления
20
Избавляем бизнес от ИТ-зависимости
Недостатки микросервисов
• Сложно выкатывать
• Сложно тестировать
• Распределенная система
• Сложно эксплуатировать
• Несогласованная БД
21
Избавляем бизнес от ИТ-зависимости
Про БД
22
Избавляем бизнес от ИТ-зависимости23
Docker и контейнеризацияApplication
Libraries
Frameworks
Services
OS Env
Избавляем бизнес от ИТ-зависимости
Не только Docker
• rkt https://github.com/coreos/rkt
• Windows Containers
• OpenVZ
• LXD от Ubuntu
• Clear Containers
24
Избавляем бизнес от ИТ-зависимости
Достоинства
• Неизменяемые
• Стандартная поставка
• Долго хранятся
• Хороший выбор абстракции
25
Избавляем бизнес от ИТ-зависимости
Недостатки
• Еще один уровень абстракции
• Переделка приложений
• Активное использование Service Discovery
• Плохо подходят для stateful сервисов
26
Избавляем бизнес от ИТ-зависимости
Наш опыт
27
Datacenter Operating System
DCOS
Избавляем бизнес от ИТ-зависимости
Это не мистика
• Mesos/Marathon https://mesosphere.github.io/marathon/
• DC/OS https://dcos.io/
• http://kubernetes.io/
• Amazon ECS
• Rancher
28
Избавляем бизнес от ИТ-зависимости29
Continuous Delivery
Избавляем бизнес от ИТ-зависимости
Платформа!!!!
• Git ➜ CI ➜ Registry ➜ Platform
• Service Discovery
• Сквозное логирование
• Непрерывный мониторинг
31
Избавляем бизнес от ИТ-зависимости
Выводы
• Научитесь доставлять изменения за минуты даже в гигантских проектах
• Научитесь пользоваться контейнерами и платформами
• Определитесь с вашей ролью в процессе поставки ПО
• Рожайте детей, с ними прикольно
32
Избавляем бизнес от ИТ-зависимости
DevOps сообщество• devopsru.com
• http://www.meetup.com/DevOps-Moscow-in-Russian
• https://groups.google.com/forum/#!forum/devopsru
• http://hangops.ru
• http://devopsdeflope.ru
• http://rootconf.ru/33
Избавляем бизнес от ИТ-зависимости
Дефлопе!
34
Избавляем бизнес от ИТ-зависимости35
Избавляем бизнес от ИТ-зависимости
Книги
• Проект “Феникс”. Роман о том, как DevOps меняет бизнес к лучшему. Джин Ким и др.
36
Избавляем бизнес от ИТ-зависимости
Контакты
37
http://express42.com
+7 499 918 67 34@evtuhovich