Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

CUSTIS
March 16, 2017

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

Выступление Максима Смирнова на профессиональной встрече CUSTIS Meetup: Микросервисы в Enterprise (16 марта 2017 года, Москва).

CUSTIS

March 16, 2017
Tweet

More Decks by CUSTIS

Other Decks in Technology

Transcript

  1. Микросервисная архитектура Зачем говорить о барьерах? 3 Максим Смирнов март

    2017 Инноваторы Энтузиасты Прагматики (ранее большинство) Консерваторы (позднее большинство) Скептики
  2. Микросервисная архитектура Кто такой Максим Смирнов 4 Максим Смирнов март

    2017 2015-2016: Главный архитектор информационных систем Центрального Банка Российской Федерации (Банк России) 2005-2014: Руководитель Департамента ИТ архитектуры ОАО “ВымпелКом” (торговая марка “Билайн”) 2000-2005: Менеджер по развитию дополнительных услуг связи: платежей, программы лояльности и др. 1995-2000: Эксперт по системам обмена сообщениями, приложениям “Банк-Клиент” и “Банк-Банк” ОАО АБ “Инкомбанк” до 1995: разработчик криптографических приложений (шифрование, цифровая подпись)
  3. Микросервисная архитектура 6 Максим Смирнов март 2017 Пример: услуга “Продли

    скорость” Абонент Автоматизированная система расчетов Оператор связи Абонент Баланс Сеть 2G звонок, СМС S S
  4. Микросервисная архитектура 7 Максим Смирнов март 2017 Пример: услуга “Продли

    скорость” Абонент Автоматизированная система расчетов Оператор связи Абонент Интернет Баланс Пакет услуг Сети передачи данных Сеть 2G звонок, СМС данные S S R
  5. Микросервисная архитектура 8 Максим Смирнов март 2017 Пример: услуга “Продли

    скорость” Абонент Автоматизированная система расчетов Оператор связи Абонент Интернет Сервисная шина Баланс Пакет услуг Сети передачи данных Сеть 2G звонок, СМС данные 1 снизить скорость S S R
  6. Микросервисная архитектура 9 Максим Смирнов март 2017 Пример: услуга “Продли

    скорость” Абонент Автоматизированная система расчетов Оператор связи Абонент Интернет Сервисная шина Баланс Пакет услуг Сети передачи данных Сеть 2G звонок, СМС данные 1 2 снизить скорость отправить СМС S S R
  7. Микросервисная архитектура 10 Максим Смирнов март 2017 Архитектура интеграционных решений

    Вызовы: Устаревание программных средств Масштабирование команды Непрерывная проверка гипотез Возможности: использование шаблона command-query responsibility segregation(CQRS) и event sourcing
  8. Микросервисная архитектура 12 Максим Смирнов март 2017 Барьер 1: непонимание

    Characteristics of a Microservice Architecture: 1.Componentization via Services 2.Organized around Business Capabilities 3.Products not Projects 4.Smart endpoints and dumb pipes 5.Decentralized Governance 6.Decentralized Data Management 7.Infrastructure Automation 8.Design for failure 9.Evolutionary Design
  9. Микросервисная архитектура 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 Выполняйте задачи администрирования/управления с помощью разовых процессов
  10. Микросервисная архитектура 14 Максим Смирнов март 2017 Сервисы и микросервисы

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

    Некоторые DevOps паттерны: 1. Human by Exception 2. Preapproved change 3. ChatOps 4. Canary rollouts 5. 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
  12. Микросервисная архитектура 16 Максим Смирнов март 2017 Барьер 2: Мало

    у кого случился DevOps Барьеры микросервисной архитектуры
  13. Микросервисная архитектура 17 Максим Смирнов март 2017 Жизненный цикл с

    точки зрения ИТ Барьер 3: наличие потребности