19
Микросервисная архитектура Барьеры микросервисной архитектуры Максим Смирнов http://mxsmirnov.com [email protected]

Барьеры микросервисной архитектуры

  • Upload
    custis

  • View
    17

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Барьеры микросервисной архитектуры

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

Барьеры микросервисной архитектуры

Максим Смирнов http://[email protected]

Page 2: Барьеры микросервисной архитектуры

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

За границами нашего обсуждения

2Максим Смирнов март 2017

Page 3: Барьеры микросервисной архитектуры

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

Зачем говорить о барьерах?

3Максим Смирнов март 2017

ИнноваторыЭнтузиасты

Прагматики(ранее большинство)

Консерваторы(позднее большинство)

Скептики

Page 4: Барьеры микросервисной архитектуры

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

Кто такой Максим Смирнов

4Максим Смирнов март 2017

2015-2016: Главный архитектор информационных систем Центрального Банка Российской Федерации (Банк России)

2005-2014: Руководитель Департамента ИТ архитектуры ОАО “ВымпелКом” (торговая марка “Билайн”)

2000-2005: Менеджер по развитию дополнительных услуг связи: платежей, программы лояльности и др.

1995-2000: Эксперт по системам обмена сообщениями, приложениям “Банк-Клиент” и “Банк-Банк” ОАО АБ “Инкомбанк”

до 1995: разработчик криптографических приложений (шифрование, цифровая подпись)

Page 5: Барьеры микросервисной архитектуры

Микросервисная архитектура5Максим Смирнов март 2017

SOA – диагноз, а не лекарство

Page 6: Барьеры микросервисной архитектуры

Микросервисная архитектура6Максим Смирнов март 2017

Пример: услуга “Продли скорость”

Абонент

Автоматизированная система расчетов

Оператор связи Абонент

Баланс

Сеть 2Gзвонок, СМС

S S

Page 7: Барьеры микросервисной архитектуры

Микросервисная архитектура7Максим Смирнов март 2017

Пример: услуга “Продли скорость”

Абонент

Автоматизированная система расчетов

Оператор связи Абонент

ИнтернетБаланс П акет услуг

Сети передачи данных

Сеть 2Gзвонок, СМС

данные

S S

R

Page 8: Барьеры микросервисной архитектуры

Микросервисная архитектура8Максим Смирнов март 2017

Пример: услуга “Продли скорость”

Абонент

Автоматизированная система расчетов

Оператор связи Абонент

Интернет

Сервисная шина

Баланс П акет услуг

Сети передачи данных

Сеть 2Gзвонок, СМС

данные 1 снизитьскорость

S S

R

Page 9: Барьеры микросервисной архитектуры

Микросервисная архитектура9Максим Смирнов март 2017

Пример: услуга “Продли скорость”

Абонент

Автоматизированная система расчетов

Оператор связи Абонент

Интернет

Сервисная шина

Баланс П акет услуг

Сети передачи данных

Сеть 2Gзвонок, СМС

данные 1

2

снизитьскорость

отправитьСМСS S

R

Page 10: Барьеры микросервисной архитектуры

Микросервисная архитектура10Максим Смирнов март 2017

Архитектура интеграционных решений

Вызовы: Устаревание программных средствМасштабирование командыНепрерывная проверка гипотез

Возможности: использование шаблона

command-query responsibility

segregation(CQRS) и event sourcing

Page 11: Барьеры микросервисной архитектуры

Микросервисная архитектура11Максим Смирнов

Барьеры микросервисной архитектуры

март 2017

Барьер 1: непонимание

Page 12: Барьеры микросервисной архитектуры

Микросервисная архитектура12Максим Смирнов март 2017

Барьер 1: непониманиеCharacteristics of a Microservice Architecture:

1.Componentization via Services2.Organized around Business Capabilities3.Products not Projects4.Smart endpoints and dumb pipes5.Decentralized Governance6.Decentralized Data Management7.Infrastructure Automation8.Design for failure9.Evolutionary Design

Page 13: Барьеры микросервисной архитектуры

Микросервисная архитектура13Максим Смирнов март 2017

The Twelve-Factor App http://12factor.net/

CodebaseОдна кодовая база, в системе контроля версий – множество развертываний

DependenciesЯвно объявляйте и изолируйте зависимости

ConfigСохраняйте конфигурацию в среде выполнения

Backing servicesСчитайте сторонние службы подключаемыми ресурсами

Build, release, runРазделяйте стадии сборки и выполнения

ProcessesЗапускайте приложение как процессs не сохраняющие внутреннее состояние (stateless)

Port bindingЭкспортируйте сервисы через привязку портов

ConcurrencyМасштабируйте приложение с помощью процессов

DisposabilityМаксимизируйте надежность с помощью быстрого запуска и корректного завершения работы

Dev/prod parityДержите окружения разработки, и развёртывания максимально похожими

LogsРассматривайте журнал как поток событий

Admin processesВыполняйте задачи администрирования/управления с помощью разовых процессов

Page 14: Барьеры микросервисной архитектуры

Микросервисная архитектура14Максим Смирнов март 2017

Сервисы и микросервисы

Что такое microservices с точки зрения I&O:1.Это процесс[ы], предоставляющий в сеть программные интерфейсы (API)2.Независимо развертываются и исполняются в собственном программном контексте 3.Масштабируются посредством запуска дополнительных экземпляров (stateless)4.Реализуют отдельные операции для информационных запросов и для команд (CQRS)5.Предназначены для изоляции отказов и автоматического восстановления

Page 15: Барьеры микросервисной архитектуры

Микросервисная архитектура15Максим Смирнов март 2017

Сценарии развертывания микросервисов

Некоторые DevOps паттерны:

1. Human by Exception2. Preapproved change3. ChatOps4. Canary rollouts5. Failing forward

Балансировщик нагрузки

Релиз 1

Blue environment Green environment

Балансировщик нагрузки

Релиз 1 Релиз 2

Blue environment Green environment

Балансировщик нагрузки

Релиз 1 Релиз 2

Blue environment Green environment

Балансировщик нагрузки

Релиз 1

Blue environment Green environment

Балансировщик нагрузки

Релиз 1 Релиз 3

Blue environment Green environment

Балансировщик нагрузки

Релиз 1 Релиз 3

Blue environment Green environment

Page 16: Барьеры микросервисной архитектуры

Микросервисная архитектура16Максим Смирнов март 2017

Барьер 2: Мало у кого случился DevOps

Барьеры микросервисной архитектуры

Page 17: Барьеры микросервисной архитектуры

Микросервисная архитектура17Максим Смирнов март 2017

Жизненный цикл с точки зрения ИТ

Барьер 3: наличие потребности

Page 18: Барьеры микросервисной архитектуры

Микросервисная архитектура18Максим Смирнов март 2017

Жизненный цикл с точки зрения NPD

Page 19: Барьеры микросервисной архитектуры

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

Барьеры микросервисной архитектуры

Максим Смирнов http://[email protected]

Ваши вопросы и комментарии