37
Микросервисы: откуда столько шума? Иван Евтухович, Экспресс 42

Микросервисы: откуда столько шума?

Embed Size (px)

Citation preview

Page 1: Микросервисы: откуда столько шума?

Микросервисы: откуда столько шума?

Иван Евтухович, Экспресс 42

Page 2: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости

Page 3: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости

План

• Цифровизация и новые вызовы

• Что такое DevOps/NoOps?

• Закон Конвея

• Микросервисная архитектура

• Контейнеры (Docker)

3

Page 4: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости

Технологические компании• Uber

• Airbnb

• Etsy

• Yandex

• Тинькофф

• и т.д.4

Page 5: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости

Схема корпорации*

5* Генри Минцберг

Структура Автоматизация ИТ-архитектура

Рынок

Компания

Бизнес-процессы

Application

Middleware

Database

Page 6: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости

Схема технологической компании

6

РынокКомпания

Программное обеспечение

Page 7: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости

Пример

7

Page 8: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости

Time-to-market

8

Рынок

Программное обеспечение

Инженеры

Стратегический апекс

Page 9: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости

DevOps

• Конфликт Dev и Ops

• Совместная работа над созданием ценности

• Соответствующие практики и инструменты

• CAMS

9

Page 10: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости

NoOps• Невозможно “нарезать” Ops на несколько команд

• Есть специализация у Ops, есть чистые Ops задачи

• Общаться с Ops все равно долго

• Давайте их, вообще, уберем ;-)

• Будем использовать API и SLA10

Page 11: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости

Недостатки систем управления конфигурацией

• Configuration Drift

• Гетерогенная инфраструктура

• Тяжело поддерживать на больших проектах

• Сложны для изучения

11

Page 12: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости

Закон Конвея

• Мелвин Конвей, 1968

• http://evtuhovich.ru/blog/2016/10/05/conways-law/

• http://www.melconway.com/Home/Committees_Paper.html

12

Page 13: Микросервисы: откуда столько шума?

Формулировка

Организация, которая создает систему, ограничена дизайном, который копирует структуру коммуникации в этой организации

Page 14: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости

Проблемы больших приложений• Сложно поддерживать

• Сильная связанность

• Очень дорого обновлять на новые версии языков/фреймворков/библиотек

• Монолитность

• Долгий старт

• Разрабатывает большая команда14

Page 15: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости

Сложность

15

Page 16: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости

Архитектура

three-tier microservices

16

Page 17: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости

Микросервисы

• Один сервис — одна команда (2 пиццы)

• Продуктовое мышление

• Умные эндпоинты и глупый транспорт

• Децентрализованное управление

17

Page 18: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости

Микросервисы

• Децентрализованное управление данными

• Cервис самодостаточен и изолирован

• Публичное API

• сервис умеет сам себя обслуживать на основе других сервисов

18

Page 19: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости

Микросервисы

• Автоматизация инфраструктуры

• Спроектированы для отказа

• Асинхронны

• DDD

• Постоянно развиваются

19

Page 20: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости

Достоинства

• Любые языки/фреймворки

• Небольшие компоненты

• Слабая связность

• Легкость обновления

20

Page 21: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости

Недостатки микросервисов

• Сложно выкатывать

• Сложно тестировать

• Распределенная система

• Сложно эксплуатировать

• Несогласованная БД

21

Page 22: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости

Про БД

22

Page 23: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости23

Docker и контейнеризацияApplication

Libraries

Frameworks

Services

OS Env

Page 24: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости

Не только Docker

• rkt https://github.com/coreos/rkt

• Windows Containers

• OpenVZ

• LXD от Ubuntu

• Clear Containers

24

Page 25: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости

Достоинства

• Неизменяемые

• Стандартная поставка

• Долго хранятся

• Хороший выбор абстракции

25

Page 26: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости

Недостатки

• Еще один уровень абстракции

• Переделка приложений

• Активное использование Service Discovery

• Плохо подходят для stateful сервисов

26

Page 27: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости

Наш опыт

27

Datacenter Operating System

DCOS

Page 28: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости

Это не мистика

• Mesos/Marathon https://mesosphere.github.io/marathon/

• DC/OS https://dcos.io/

• http://kubernetes.io/

• Amazon ECS

• Rancher

28

Page 29: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости29

Continuous Delivery

Page 30: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости

sloppy.io

30

NO DEVOPS GUY, NO CRY.

Page 31: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости

Платформа!!!!

• Git ➜ CI ➜ Registry ➜ Platform

• Service Discovery

• Сквозное логирование

• Непрерывный мониторинг

31

Page 32: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости

Выводы

• Научитесь доставлять изменения за минуты даже в гигантских проектах

• Научитесь пользоваться контейнерами и платформами

• Определитесь с вашей ролью в процессе поставки ПО

• Рожайте детей, с ними прикольно

32

Page 33: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости

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

Page 34: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости

Дефлопе!

34

Page 35: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости35

Page 36: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости

Книги

• Проект “Феникс”. Роман о том, как DevOps меняет бизнес к лучшему. Джин Ким и др.

36

Page 37: Микросервисы: откуда столько шума?

Избавляем бизнес от ИТ-зависимости

Контакты

37

http://express42.com

+7 499 918 67 34@evtuhovich

[email protected]