Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

2,562 views

Published on

AgileDays'17, Москва, 24.03.2017
http://agiledays.ru/members/profile/428/

Published in: Software

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

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

×