Slide 1

Slide 1 text

Бизнес-гибкость через микросервисную архитектуру Александр Бындю http://byndyu.ru

Slide 2

Slide 2 text

Александр Бындю Эксперт в Agile и Lean · IT-архитектор  Перевожу монолитные системы на микросервисную архитектуру;  Организую работу от сбора требований до запуска IT-продукта;  Консультирую как внешний IT-архитектор. CEO в http://byndyusoft.com Организую http://dotnetconf.ru Преподаю в двух университетах Блог http://blog.byndyu.ru и https://medium.com/@alexander.byndyu

Slide 3

Slide 3 text

Цели бизнеса Выбор лучшего решения для бизнес-задачи без компромиссов Нам нужна CRM Покупаем SAP CRM Но мы хотим SalesForce  Надо брать SAP CRM, потому что SAP у нас уже есть, мы знаем, как с ним работать, интеграция проще, обновление проще и в целом SAP CRM неплохая CRM-ка Бизнес: IT: Бизнес: IT: Нам нужна CRM Какая CRM лучше всего решит ваши задачи? SalesForce! Ок, мы интегрируем SalesForce и текущей инфраструктурой на SAP Бизнес: IT: Бизнес: IT:

Slide 4

Slide 4 text

Цели бизнеса Поставка бизнес-ценности как можно быстрее Переходим с SAP CRM на BPM Online Интеграция нового решения займет полгода Почему так долго?  <Объясняют какая паутина взаимосвязей объединяет SAP CRM c остальными приложениями в компании> Бизнес: IT: Бизнес: IT: Переходим с SAP CRM на BPM Online За неделю переключим точки интеграции Что-то еще требуется для запуска? Еще надо перелить данные и дописать бизнес-функции, но это можно делать параллельно с запуском новой CRM Бизнес: IT: Бизнес: IT:

Slide 5

Slide 5 text

Цели бизнеса Дешево масштабировать сервисы, причем только определенные и только когда это нужно Сервис Тарификации к Черной пятнице должен выдерживать нагрузку в 2 раза больше обычной Надо купить в 4 раза больше железа и это даст ускорение на 30% Почему так дорого и совсем не в 2 раза?  Ускорение в 2 раза будет стоить как вся наша компания (прим. — при текущей архитектуре) Бизнес: IT: Бизнес: IT: Сервис Тарификации к Черной пятнице должен выдерживать нагрузку в 2 раза больше обычной Ок, сейчас нажмем пару кнопок и увеличим кол-во экземпляров сервиса, чтобы масштабировать нагрузку. Докупать что-то нужно? Ресурсы в облаке, но только на время нагрузки Бизнес: IT: Бизнес: IT:

Slide 6

Slide 6 text

АйТи берёт бизнес в заложники «Монолитное» решение становится вездесущим и незаменимым для компании. АйТи начинает диктовать бизнесу свои условия в выборе инструментов, сроков и подходов к решению. АйТи начальник

Slide 7

Slide 7 text

«Монолиты» берут компанию в заложники UI Business Logic Database Бизнес-функцию доработали, но она зависит от других, поэтому ждем «большой заливки»  Можно эту бизнес-функцию заменить другим решением, а остальное не трогать? Нет? Скидки Рассылки

Slide 8

Slide 8 text

Бизнесу плохо живется с «монолитами». Чувствуется это только в условиях высокой конкуренции.

Slide 9

Slide 9 text

Microservices, Microservices, Microservices!

Slide 10

Slide 10 text

Microservice = Business capability

Slide 11

Slide 11 text

Монолитом легко управлять, а как справиться с сотней микросервисов? IT- команда

Slide 12

Slide 12 text

Developing Microservices with Aggregates, Chris Richardson

Slide 13

Slide 13 text

«Монолит» простит вас за отсутствие автоматизации и управляемости. Сотня микросервисов за это жёстко накажет.

Slide 14

Slide 14 text

API Gateway http://microservices.io/patterns/apigateway.html Единое место вызова API Умеет: • Управление трафиком • Авторизация • Мониторинг • Горизонтальное масштабирование • Управления версиями • Кэш запросов • Трансформация ответов 1

Slide 15

Slide 15 text

Легко заменяем сервисы! Постепенно убираем монолит. Масштабируем нагрузку

Slide 16

Slide 16 text

Event bus Единое место для публикации событий • Асинхронное взаимодействие • Низкая связность сервисов • Горизонтально масштабируется 2

Slide 17

Slide 17 text

Легко заменяем сервисы! Постепенно убираем монолит. Масштабируем нагрузку

Slide 18

Slide 18 text

Service Discovery Подскажет, где запущен «живой» экземпляр требуемого сервиса Умеет: • Регистрировать сервисы в своей базе • Проверять «жив» ли каждый экземпляр сервиса • Балансирование нагрузки между экземплярами одного сервиса http://microservices.io/patterns/server-side-discovery.html 3

Slide 19

Slide 19 text

Легко масштабировать: увеличивать и уменьшать кол-во экземпляров микросервиса http://rabbitstack.github.io/cloud/microservices/from-monolithic-to-cloud-native-architectures/

Slide 20

Slide 20 text

Integration Platform as a Service (iPaaS) Gartner: Why You Need Integration as a Platform (iPaaS) Платформа для гибридной интеграции Умеет: • Предоставляет готовые адаптеры ко многим источникам данных • Обновление адаптеров и поддержка разных версий • SLA • Citizen integrators настраивают интеграцию через интерфейс без программирования • Управление интеграцией в одном месте • Визуализация потоков данных 4

Slide 21

Slide 21 text

К 2017 году в крупных организациях не менее 65% новых интеграционных проектов будут разрабатываться без участия ИТ-отделов. К 2018 году в большинстве организаций по меньшей мере 50% новых интеграционных проектов будут осуществляться гражданами-интеграторами. CIO Call to Action: Shake Up Your Integration Strategy to Enable Digital Transformation, Gartner Экономия на программировании интеграции и поддержке инфраструктуры Citizen Integrator Теперь я тут главная ;)

Slide 22

Slide 22 text

Pervasive Integration 22 Единый интерфейс для запроса данных из любого источника Умеет: • Готовы адаптеры ко многим источникам данных • Обновление адаптеров и поддержка разных версий • SLA 5

Slide 23

Slide 23 text

23 Специалист по BI может подключать и отключать любые источники данных в компании Продукт DataVirtuality

Slide 24

Slide 24 text

Containers, Orchestration, IaC 6 Изолированная среда для разворачивания микросервиса Умеет: • 100% автоматизация • Инфраструктура, описанная кодом: сравнение, расшаривание, повторяемость при развертывании • Создание нужного окружения за несколько минут • Управление сотнями контейнеров на множестве серверов • Поддержка в Azure и AWS • Serverless

Slide 25

Slide 25 text

Полностью автоматизированные релизы и масштабирование http://www.schibsted.pl/blog/how-we-used-docker-to-deploy-schibsted-pl

Slide 26

Slide 26 text

Задачи архитектора: 1. Добиться низкой связанности микросервисов 2. Правильно распределить ответственность между микросервисами 3. Добиться полной автоматизации API Gateway Event bus Service Discovery iPaaS Containers, Orchestration Ваш новый очень умный IT-архитектор

Slide 27

Slide 27 text

Да, но это сложно архитектурно, организационно и проблемы при поиске разработчиков Microservices — это круто! IT- команда

Slide 28

Slide 28 text

Потратим • Вложение денег в переход IT-инфраструктура, создание новых сервисов, рефакторинг стартых сервисов • Переобучение сотрудников • Изменение орг. структуры • Дорогие специалисты с новыми знаниями • Риск ошибиться в выборе микросервисов Заработаем • Достижение бизнес-целей: • Гибкость в выборе решений • Ускорение поставок новых функций • Гибкое масштабирование сервисов • Меньше людей, которые делают ручную работу • Меньше железа, которое не приносит деньги $$$?

Slide 29

Slide 29 text

Выбор лучшего решения для бизнес-задачи без компромиссов Microservices, Microservices, Microservices! Поставка бизнес- ценности как можно быстрее Дешево масштабировать сервисы

Slide 30

Slide 30 text

API Gateway: Решения Cloud • Azure API Management • Amazon API Gateway On-premise • MuleSoft API Gateway Вручную: 1. Настроить DNS внутри компании 2. Настроить безопасность 3. Настроить инфраструктуру и позаботиться об отказоустойчивости 4. Настроить мониторинг 5. Настроить логирование

Slide 31

Slide 31 text

Event bus: Решения Вручную: • Таблица в БД с сообщениями • Читать логи транзакций БД Cloud • Azure Service Bus • Amazon Simple Queue Service On-premise • RabbitMQ • Kafka

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

iPaaS: Решения Gartner’s report Magic Quadrant for Enterprise Integration Platform as a Service, Worldwide

Slide 34

Slide 34 text

Pervasive Integration: Решения 34 Готовые решения Gartner: Cool Vendors in Pervasive Integration, 2016. Вручную: 1. Собирайте данные со всех источников 2. Настройте DWH

Slide 35

Slide 35 text

Containers: Решения Вручную: • API контейнера +ручная автоматизация Cloud • Amazon AWS ECS • Azure Container Service (ACS) On premise • Docker • Kubernetes Orchestration • Docker Engine API • Kubernetes • Azure Service Fabric

Slide 36

Slide 36 text

Подробнее в моих статьях 1. Useful Tools for Managing Complexity of Microservice Architecture 2. Clouds, iPaaS, Citizen Integrator and Why India’s Outsourcing Is Losing Money 3. Стратегия крупного ретейлера по изменению IT- архитектуры и процессов

Slide 37

Slide 37 text

База знаний о микросервисах 1. Microservices Resource Guide Martin Fowler 2. Microservice architecture patterns and best practices Chris Richardson

Slide 38

Slide 38 text

Спасибо! Буду рад ответить на ваши вопросы http://byndyu.ru [email protected]