Бизнес-гибкость через
микросервисную
архитектуру
Александр Бындю
http://byndyu.ru
Александр Бындю
Эксперт в Agile и Lean · IT-архитектор
 Перевожу монолитные системы на микросервисную архитектуру;
 Организую работу от сбора требований до запуска IT-продукта;
 Консультирую как внешний IT-архитектор.
CEO в http://byndyusoft.com
Организую http://dotnetconf.ru
Преподаю в двух университетах
Блог http://blog.byndyu.ru и https://medium.com/@alexander.byndyu
Цели бизнеса
Выбор лучшего решения для
бизнес-задачи без компромиссов
Нам нужна CRM
Покупаем SAP CRM
Но мы хотим SalesForce 
Надо брать SAP CRM, потому что SAP у нас
уже есть, мы знаем, как с ним работать,
интеграция проще, обновление проще и в
целом SAP CRM неплохая CRM-ка
Бизнес:
IT:
Бизнес:
IT:
Нам нужна CRM
Какая CRM лучше всего решит ваши задачи?
SalesForce!
Ок, мы интегрируем SalesForce и текущей
инфраструктурой на SAP
Бизнес:
IT:
Бизнес:
IT:
Цели бизнеса
Поставка бизнес-ценности как можно
быстрее
Переходим с SAP CRM на BPM Online
Интеграция нового решения займет полгода
Почему так долго? 
<Объясняют какая паутина взаимосвязей
объединяет SAP CRM c остальными
приложениями в компании>
Бизнес:
IT:
Бизнес:
IT:
Переходим с SAP CRM на BPM Online
За неделю переключим точки интеграции
Что-то еще требуется для запуска?
Еще надо перелить данные и дописать
бизнес-функции, но это можно делать
параллельно с запуском новой CRM
Бизнес:
IT:
Бизнес:
IT:
Цели бизнеса
Дешево масштабировать сервисы, причем
только определенные и только когда это нужно
Сервис Тарификации к Черной пятнице
должен выдерживать нагрузку в 2 раза
больше обычной
Надо купить в 4 раза больше железа и это
даст ускорение на 30%
Почему так дорого и совсем не в 2 раза? 
Ускорение в 2 раза будет стоить как вся
наша компания (прим. — при текущей
архитектуре)
Бизнес:
IT:
Бизнес:
IT:
Сервис Тарификации к Черной пятнице
должен выдерживать нагрузку в 2 раза
больше обычной
Ок, сейчас нажмем пару кнопок и увеличим
кол-во экземпляров сервиса, чтобы
масштабировать нагрузку.
Докупать что-то нужно?
Ресурсы в облаке, но только на время
нагрузки
Бизнес:
IT:
Бизнес:
IT:
АйТи берёт бизнес в заложники
«Монолитное» решение становится
вездесущим и незаменимым для
компании.
АйТи начинает диктовать бизнесу
свои условия в выборе инструментов,
сроков и подходов к решению.
АйТи начальник
«Монолиты» берут компанию в заложники
UI
Business Logic
Database
Бизнес-функцию доработали, но она зависит от
других, поэтому ждем «большой заливки» 
Можно эту бизнес-функцию заменить другим
решением, а остальное не трогать? Нет?
Скидки
Рассылки
Бизнесу плохо живется с
«монолитами».
Чувствуется это только в
условиях высокой
конкуренции.
Microservices,
Microservices,
Microservices!
Microservice
=
Business capability
Монолитом легко
управлять, а как
справиться с сотней
микросервисов?
IT-
команда
Developing Microservices with Aggregates, Chris Richardson
«Монолит» простит вас за отсутствие
автоматизации и управляемости.
Сотня микросервисов за это жёстко накажет.
API Gateway
http://microservices.io/patterns/apigateway.html
Единое место вызова API
Умеет:
• Управление трафиком
• Авторизация
• Мониторинг
• Горизонтальное масштабирование
• Управления версиями
• Кэш запросов
• Трансформация ответов
1
Легко заменяем
сервисы!
Постепенно убираем
монолит.
Масштабируем
нагрузку
Event bus
Единое место для
публикации событий
• Асинхронное взаимодействие
• Низкая связность сервисов
• Горизонтально масштабируется
2
Легко заменяем
сервисы!
Постепенно убираем
монолит.
Масштабируем
нагрузку
Service Discovery
Подскажет, где запущен
«живой» экземпляр
требуемого сервиса
Умеет:
• Регистрировать сервисы в своей базе
• Проверять «жив» ли каждый экземпляр
сервиса
• Балансирование нагрузки между
экземплярами одного сервиса
http://microservices.io/patterns/server-side-discovery.html
3
Легко масштабировать:
увеличивать и уменьшать
кол-во экземпляров
микросервиса
http://rabbitstack.github.io/cloud/microservices/from-monolithic-to-cloud-native-architectures/
Integration Platform
as a Service (iPaaS)
Gartner: Why You Need Integration as a Platform (iPaaS)
Платформа для гибридной
интеграции
Умеет:
• Предоставляет готовые адаптеры ко многим
источникам данных
• Обновление адаптеров и поддержка разных
версий
• SLA
• Citizen integrators настраивают интеграцию
через интерфейс без программирования
• Управление интеграцией в одном месте
• Визуализация потоков данных
4
К 2017 году в крупных организациях не менее 65%
новых интеграционных проектов будут
разрабатываться без участия ИТ-отделов.
К 2018 году в большинстве организаций по меньшей
мере 50% новых интеграционных проектов будут
осуществляться гражданами-интеграторами.
CIO Call to Action: Shake Up Your Integration Strategy to
Enable Digital Transformation, Gartner
Экономия на
программировании
интеграции и поддержке
инфраструктуры
Citizen Integrator
Теперь я тут
главная ;)
Pervasive Integration
22
Единый интерфейс для
запроса данных из
любого источника
Умеет:
• Готовы адаптеры ко
многим источникам
данных
• Обновление адаптеров и
поддержка разных
версий
• SLA
5
23
Специалист по BI может
подключать и отключать
любые источники
данных в компании
Продукт DataVirtuality
Containers, Orchestration, IaC6
Изолированная среда для
разворачивания микросервиса
Умеет:
• 100% автоматизация
• Инфраструктура, описанная кодом:
сравнение, расшаривание, повторяемость
при развертывании
• Создание нужного окружения за несколько
минут
• Управление сотнями контейнеров на
множестве серверов
• Поддержка в Azure и AWS
• Serverless
Полностью
автоматизированные
релизы и
масштабирование
http://www.schibsted.pl/blog/how-we-used-docker-to-deploy-schibsted-pl
Задачи архитектора:
1. Добиться низкой связанности
микросервисов
2. Правильно распределить
ответственность между
микросервисами
3. Добиться полной автоматизации
API Gateway
Event bus
Service Discovery
iPaaS
Containers, Orchestration
Ваш новый
очень умный
IT-архитектор
Да, но это сложно
архитектурно,
организационно и
проблемы при поиске
разработчиков
Microservices —
это круто!
IT-
команда
Потратим
• Вложение денег в переход
IT-инфраструктура, создание новых сервисов,
рефакторинг стартых сервисов
• Переобучение сотрудников
• Изменение орг. структуры
• Дорогие специалисты с новыми
знаниями
• Риск ошибиться в выборе
микросервисов
Заработаем
• Достижение бизнес-целей:
• Гибкость в выборе решений
• Ускорение поставок новых функций
• Гибкое масштабирование сервисов
• Меньше людей, которые делают
ручную работу
• Меньше железа, которое не
приносит деньги
$$$?
Выбор лучшего
решения для
бизнес-задачи без
компромиссов
Microservices, Microservices, Microservices!
Поставка бизнес-
ценности как
можно быстрее
Дешево
масштабировать
сервисы
API Gateway: Решения
Cloud
• Azure API Management
• Amazon API Gateway
On-premise
• MuleSoft API Gateway
Вручную:
1. Настроить DNS внутри компании
2. Настроить безопасность
3. Настроить инфраструктуру и
позаботиться об
отказоустойчивости
4. Настроить мониторинг
5. Настроить логирование
Event bus: Решения
Вручную:
• Таблица в БД с сообщениями
• Читать логи транзакций БД
Cloud
• Azure Service Bus
• Amazon Simple Queue Service
On-premise
• RabbitMQ
• Kafka
Service Discovery: Решения
Вручную:
• Service Discovery for Amazon ECS
Using DNS
• Service Discovery: An Amazon ECS
Reference Architecture
Cloud
• Azure Service Communication
• AWS Application Discovery
Service
On-premise
• Consul
• ZooKeeper
iPaaS: Решения
Gartner’s report Magic Quadrant for Enterprise
Integration Platform as a Service, Worldwide
Pervasive Integration: Решения
34
Готовые решения
Gartner: Cool Vendors in
Pervasive Integration, 2016.
Вручную:
1. Собирайте данные со всех
источников
2. Настройте DWH
Containers: Решения
Вручную:
• API контейнера +ручная
автоматизация
Cloud
• Amazon AWS ECS
• Azure Container Service (ACS)
On premise
• Docker
• Kubernetes
Orchestration
• Docker Engine API
• Kubernetes
• Azure Service Fabric
Подробнее в моих статьях
1. Useful Tools for Managing Complexity of Microservice
Architecture
2. Clouds, iPaaS, Citizen Integrator and Why India’s
Outsourcing Is Losing Money
3. Стратегия крупного ретейлера по изменению IT-
архитектуры и процессов
База знаний о микросервисах
1. Microservices Resource Guide
Martin Fowler
2. Microservice architecture patterns and best practices
Chris Richardson
Спасибо!
Буду рад ответить на ваши вопросы
http://byndyu.ru
ceo@byndyusoft.com

Бизнес-гибкость через микросервисную архитектуру

  • 1.
  • 2.
    Александр Бындю Эксперт вAgile и Lean · IT-архитектор  Перевожу монолитные системы на микросервисную архитектуру;  Организую работу от сбора требований до запуска IT-продукта;  Консультирую как внешний IT-архитектор. CEO в http://byndyusoft.com Организую http://dotnetconf.ru Преподаю в двух университетах Блог http://blog.byndyu.ru и https://medium.com/@alexander.byndyu
  • 3.
    Цели бизнеса Выбор лучшегорешения для бизнес-задачи без компромиссов Нам нужна CRM Покупаем SAP CRM Но мы хотим SalesForce  Надо брать SAP CRM, потому что SAP у нас уже есть, мы знаем, как с ним работать, интеграция проще, обновление проще и в целом SAP CRM неплохая CRM-ка Бизнес: IT: Бизнес: IT: Нам нужна CRM Какая CRM лучше всего решит ваши задачи? SalesForce! Ок, мы интегрируем SalesForce и текущей инфраструктурой на SAP Бизнес: IT: Бизнес: IT:
  • 4.
    Цели бизнеса Поставка бизнес-ценностикак можно быстрее Переходим с SAP CRM на BPM Online Интеграция нового решения займет полгода Почему так долго?  <Объясняют какая паутина взаимосвязей объединяет SAP CRM c остальными приложениями в компании> Бизнес: IT: Бизнес: IT: Переходим с SAP CRM на BPM Online За неделю переключим точки интеграции Что-то еще требуется для запуска? Еще надо перелить данные и дописать бизнес-функции, но это можно делать параллельно с запуском новой CRM Бизнес: IT: Бизнес: IT:
  • 5.
    Цели бизнеса Дешево масштабироватьсервисы, причем только определенные и только когда это нужно Сервис Тарификации к Черной пятнице должен выдерживать нагрузку в 2 раза больше обычной Надо купить в 4 раза больше железа и это даст ускорение на 30% Почему так дорого и совсем не в 2 раза?  Ускорение в 2 раза будет стоить как вся наша компания (прим. — при текущей архитектуре) Бизнес: IT: Бизнес: IT: Сервис Тарификации к Черной пятнице должен выдерживать нагрузку в 2 раза больше обычной Ок, сейчас нажмем пару кнопок и увеличим кол-во экземпляров сервиса, чтобы масштабировать нагрузку. Докупать что-то нужно? Ресурсы в облаке, но только на время нагрузки Бизнес: IT: Бизнес: IT:
  • 6.
    АйТи берёт бизнесв заложники «Монолитное» решение становится вездесущим и незаменимым для компании. АйТи начинает диктовать бизнесу свои условия в выборе инструментов, сроков и подходов к решению. АйТи начальник
  • 7.
    «Монолиты» берут компаниюв заложники UI Business Logic Database Бизнес-функцию доработали, но она зависит от других, поэтому ждем «большой заливки»  Можно эту бизнес-функцию заменить другим решением, а остальное не трогать? Нет? Скидки Рассылки
  • 8.
    Бизнесу плохо живетсяс «монолитами». Чувствуется это только в условиях высокой конкуренции.
  • 9.
  • 10.
  • 11.
    Монолитом легко управлять, акак справиться с сотней микросервисов? IT- команда
  • 12.
    Developing Microservices withAggregates, Chris Richardson
  • 13.
    «Монолит» простит васза отсутствие автоматизации и управляемости. Сотня микросервисов за это жёстко накажет.
  • 14.
    API Gateway http://microservices.io/patterns/apigateway.html Единое местовызова API Умеет: • Управление трафиком • Авторизация • Мониторинг • Горизонтальное масштабирование • Управления версиями • Кэш запросов • Трансформация ответов 1
  • 15.
  • 16.
    Event bus Единое местодля публикации событий • Асинхронное взаимодействие • Низкая связность сервисов • Горизонтально масштабируется 2
  • 17.
  • 18.
    Service Discovery Подскажет, гдезапущен «живой» экземпляр требуемого сервиса Умеет: • Регистрировать сервисы в своей базе • Проверять «жив» ли каждый экземпляр сервиса • Балансирование нагрузки между экземплярами одного сервиса http://microservices.io/patterns/server-side-discovery.html 3
  • 19.
    Легко масштабировать: увеличивать иуменьшать кол-во экземпляров микросервиса http://rabbitstack.github.io/cloud/microservices/from-monolithic-to-cloud-native-architectures/
  • 20.
    Integration Platform as aService (iPaaS) Gartner: Why You Need Integration as a Platform (iPaaS) Платформа для гибридной интеграции Умеет: • Предоставляет готовые адаптеры ко многим источникам данных • Обновление адаптеров и поддержка разных версий • SLA • Citizen integrators настраивают интеграцию через интерфейс без программирования • Управление интеграцией в одном месте • Визуализация потоков данных 4
  • 21.
    К 2017 годув крупных организациях не менее 65% новых интеграционных проектов будут разрабатываться без участия ИТ-отделов. К 2018 году в большинстве организаций по меньшей мере 50% новых интеграционных проектов будут осуществляться гражданами-интеграторами. CIO Call to Action: Shake Up Your Integration Strategy to Enable Digital Transformation, Gartner Экономия на программировании интеграции и поддержке инфраструктуры Citizen Integrator Теперь я тут главная ;)
  • 22.
    Pervasive Integration 22 Единый интерфейсдля запроса данных из любого источника Умеет: • Готовы адаптеры ко многим источникам данных • Обновление адаптеров и поддержка разных версий • SLA 5
  • 23.
    23 Специалист по BIможет подключать и отключать любые источники данных в компании Продукт DataVirtuality
  • 24.
    Containers, Orchestration, IaC6 Изолированнаясреда для разворачивания микросервиса Умеет: • 100% автоматизация • Инфраструктура, описанная кодом: сравнение, расшаривание, повторяемость при развертывании • Создание нужного окружения за несколько минут • Управление сотнями контейнеров на множестве серверов • Поддержка в Azure и AWS • Serverless
  • 25.
  • 26.
    Задачи архитектора: 1. Добитьсянизкой связанности микросервисов 2. Правильно распределить ответственность между микросервисами 3. Добиться полной автоматизации API Gateway Event bus Service Discovery iPaaS Containers, Orchestration Ваш новый очень умный IT-архитектор
  • 27.
    Да, но этосложно архитектурно, организационно и проблемы при поиске разработчиков Microservices — это круто! IT- команда
  • 28.
    Потратим • Вложение денегв переход IT-инфраструктура, создание новых сервисов, рефакторинг стартых сервисов • Переобучение сотрудников • Изменение орг. структуры • Дорогие специалисты с новыми знаниями • Риск ошибиться в выборе микросервисов Заработаем • Достижение бизнес-целей: • Гибкость в выборе решений • Ускорение поставок новых функций • Гибкое масштабирование сервисов • Меньше людей, которые делают ручную работу • Меньше железа, которое не приносит деньги $$$?
  • 29.
    Выбор лучшего решения для бизнес-задачибез компромиссов Microservices, Microservices, Microservices! Поставка бизнес- ценности как можно быстрее Дешево масштабировать сервисы
  • 30.
    API Gateway: Решения Cloud •Azure API Management • Amazon API Gateway On-premise • MuleSoft API Gateway Вручную: 1. Настроить DNS внутри компании 2. Настроить безопасность 3. Настроить инфраструктуру и позаботиться об отказоустойчивости 4. Настроить мониторинг 5. Настроить логирование
  • 31.
    Event bus: Решения Вручную: •Таблица в БД с сообщениями • Читать логи транзакций БД Cloud • Azure Service Bus • Amazon Simple Queue Service On-premise • RabbitMQ • Kafka
  • 32.
    Service Discovery: Решения Вручную: •Service Discovery for Amazon ECS Using DNS • Service Discovery: An Amazon ECS Reference Architecture Cloud • Azure Service Communication • AWS Application Discovery Service On-premise • Consul • ZooKeeper
  • 33.
    iPaaS: Решения Gartner’s reportMagic Quadrant for Enterprise Integration Platform as a Service, Worldwide
  • 34.
    Pervasive Integration: Решения 34 Готовыерешения Gartner: Cool Vendors in Pervasive Integration, 2016. Вручную: 1. Собирайте данные со всех источников 2. Настройте DWH
  • 35.
    Containers: Решения Вручную: • APIконтейнера +ручная автоматизация Cloud • Amazon AWS ECS • Azure Container Service (ACS) On premise • Docker • Kubernetes Orchestration • Docker Engine API • Kubernetes • Azure Service Fabric
  • 36.
    Подробнее в моихстатьях 1. Useful Tools for Managing Complexity of Microservice Architecture 2. Clouds, iPaaS, Citizen Integrator and Why India’s Outsourcing Is Losing Money 3. Стратегия крупного ретейлера по изменению IT- архитектуры и процессов
  • 37.
    База знаний омикросервисах 1. Microservices Resource Guide Martin Fowler 2. Microservice architecture patterns and best practices Chris Richardson
  • 38.
    Спасибо! Буду рад ответитьна ваши вопросы http://byndyu.ru ceo@byndyusoft.com