Upload
custis
View
17
Download
0
Embed Size (px)
Citation preview
Микросервисная архитектура
Барьеры микросервисной архитектуры
Максим Смирнов http://[email protected]
Микросервисная архитектура
За границами нашего обсуждения
2Максим Смирнов март 2017
Микросервисная архитектура
Зачем говорить о барьерах?
3Максим Смирнов март 2017
ИнноваторыЭнтузиасты
Прагматики(ранее большинство)
Консерваторы(позднее большинство)
Скептики
Микросервисная архитектура
Кто такой Максим Смирнов
4Максим Смирнов март 2017
2015-2016: Главный архитектор информационных систем Центрального Банка Российской Федерации (Банк России)
2005-2014: Руководитель Департамента ИТ архитектуры ОАО “ВымпелКом” (торговая марка “Билайн”)
2000-2005: Менеджер по развитию дополнительных услуг связи: платежей, программы лояльности и др.
1995-2000: Эксперт по системам обмена сообщениями, приложениям “Банк-Клиент” и “Банк-Банк” ОАО АБ “Инкомбанк”
до 1995: разработчик криптографических приложений (шифрование, цифровая подпись)
Микросервисная архитектура5Максим Смирнов март 2017
SOA – диагноз, а не лекарство
Микросервисная архитектура6Максим Смирнов март 2017
Пример: услуга “Продли скорость”
Абонент
Автоматизированная система расчетов
Оператор связи Абонент
Баланс
Сеть 2Gзвонок, СМС
S S
Микросервисная архитектура7Максим Смирнов март 2017
Пример: услуга “Продли скорость”
Абонент
Автоматизированная система расчетов
Оператор связи Абонент
ИнтернетБаланс П акет услуг
Сети передачи данных
Сеть 2Gзвонок, СМС
данные
S S
R
Микросервисная архитектура8Максим Смирнов март 2017
Пример: услуга “Продли скорость”
Абонент
Автоматизированная система расчетов
Оператор связи Абонент
Интернет
Сервисная шина
Баланс П акет услуг
Сети передачи данных
Сеть 2Gзвонок, СМС
данные 1 снизитьскорость
S S
R
Микросервисная архитектура9Максим Смирнов март 2017
Пример: услуга “Продли скорость”
Абонент
Автоматизированная система расчетов
Оператор связи Абонент
Интернет
Сервисная шина
Баланс П акет услуг
Сети передачи данных
Сеть 2Gзвонок, СМС
данные 1
2
снизитьскорость
отправитьСМСS S
R
Микросервисная архитектура10Максим Смирнов март 2017
Архитектура интеграционных решений
Вызовы: Устаревание программных средствМасштабирование командыНепрерывная проверка гипотез
Возможности: использование шаблона
command-query responsibility
segregation(CQRS) и event sourcing
Микросервисная архитектура11Максим Смирнов
Барьеры микросервисной архитектуры
март 2017
Барьер 1: непонимание
Микросервисная архитектура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
Микросервисная архитектура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Выполняйте задачи администрирования/управления с помощью разовых процессов
Микросервисная архитектура14Максим Смирнов март 2017
Сервисы и микросервисы
Что такое microservices с точки зрения I&O:1.Это процесс[ы], предоставляющий в сеть программные интерфейсы (API)2.Независимо развертываются и исполняются в собственном программном контексте 3.Масштабируются посредством запуска дополнительных экземпляров (stateless)4.Реализуют отдельные операции для информационных запросов и для команд (CQRS)5.Предназначены для изоляции отказов и автоматического восстановления
Микросервисная архитектура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
Микросервисная архитектура16Максим Смирнов март 2017
Барьер 2: Мало у кого случился DevOps
Барьеры микросервисной архитектуры
Микросервисная архитектура17Максим Смирнов март 2017
Жизненный цикл с точки зрения ИТ
Барьер 3: наличие потребности
Микросервисная архитектура18Максим Смирнов март 2017
Жизненный цикл с точки зрения NPD
Микросервисная архитектура
Барьеры микросервисной архитектуры
Максим Смирнов http://[email protected]
Ваши вопросы и комментарии