Микросервисы в бизнес-приложениях: Теория и практика
TRANSCRIPT
![Page 1: Микросервисы в бизнес-приложениях: Теория и практика](https://reader034.vdocuments.net/reader034/viewer/2022050812/586fb32f1a28abe57d8b6b97/html5/thumbnails/1.jpg)
Микросервисы в бизнес-приложениях
Олег Кутырин, SAP
28 октября, 2016
Public
![Page 2: Микросервисы в бизнес-приложениях: Теория и практика](https://reader034.vdocuments.net/reader034/viewer/2022050812/586fb32f1a28abe57d8b6b97/html5/thumbnails/2.jpg)
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 2Public
Об авторе
Родился и вырос в Москве
Закончил МАИ
С 2000 г. в SAP
Области интересов:
Построение компиляторов
Cloud
Ruby on Rails
Микросервисы
Domain-Driven Design
Бильярд (пул, 8)
https://www.linkedin.com/in/oleg-kutyrin
email: [email protected]
NO TWITTER
![Page 3: Микросервисы в бизнес-приложениях: Теория и практика](https://reader034.vdocuments.net/reader034/viewer/2022050812/586fb32f1a28abe57d8b6b97/html5/thumbnails/3.jpg)
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 3Public
Disclaimer
Никакого маркетинга, никакой рекламы
Исключительно технология и методология
![Page 4: Микросервисы в бизнес-приложениях: Теория и практика](https://reader034.vdocuments.net/reader034/viewer/2022050812/586fb32f1a28abe57d8b6b97/html5/thumbnails/4.jpg)
МикросервисыОсновные концепции
![Page 5: Микросервисы в бизнес-приложениях: Теория и практика](https://reader034.vdocuments.net/reader034/viewer/2022050812/586fb32f1a28abe57d8b6b97/html5/thumbnails/5.jpg)
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 5Public
Что такое микросервис? (Абстрактно)
Определение М.Фаулера
“applications as suites of services”
“services are independently deployable and scalable”
”provides a firm module boundary”
”allowing for different services to be written in different programming languages”
”managed by different teams”
http://martinfowler.com/articles/microservices.html
![Page 6: Микросервисы в бизнес-приложениях: Теория и практика](https://reader034.vdocuments.net/reader034/viewer/2022050812/586fb32f1a28abe57d8b6b97/html5/thumbnails/6.jpg)
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 6Public
Что такое микросервис? (Чуть более конкретно)
Один модуль развертывания
Компактная архитектура
Локальные коммуникации
Множество модулей развертывания
Распределенная архитектура
Удаленные коммуникации
![Page 7: Микросервисы в бизнес-приложениях: Теория и практика](https://reader034.vdocuments.net/reader034/viewer/2022050812/586fb32f1a28abe57d8b6b97/html5/thumbnails/7.jpg)
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 7Public
А зачем это все?
Каждый микросервис – это независимый модуль с независимым жизненным циклом
Независимая эволюция
Независимый цикл разработки
Независимое развертывание
Независимое масштабирование
Независимые технологические решения
![Page 8: Микросервисы в бизнес-приложениях: Теория и практика](https://reader034.vdocuments.net/reader034/viewer/2022050812/586fb32f1a28abe57d8b6b97/html5/thumbnails/8.jpg)
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 8Public
А что в этом хорошего?
Скорость ДоставкиГибкое
Масштабирование
Подходящая ТехнологияПростотаПоддержки
Обозримость
Функционала
![Page 9: Микросервисы в бизнес-приложениях: Теория и практика](https://reader034.vdocuments.net/reader034/viewer/2022050812/586fb32f1a28abe57d8b6b97/html5/thumbnails/9.jpg)
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 9Public
И все это бесплатно?
Общая СложностьТребования кИнфраструктуре
Целостность Данных Надежностькоммуникации
Производительность
![Page 10: Микросервисы в бизнес-приложениях: Теория и практика](https://reader034.vdocuments.net/reader034/viewer/2022050812/586fb32f1a28abe57d8b6b97/html5/thumbnails/10.jpg)
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 10Public
А когда оно имеет смысл?
De
vO
ps
Об
ла
чно
е
ра
зве
рты
вани
е
Ло
кал
ьна
я
отв
етс
тве
нно
сть
Микросервисы
![Page 11: Микросервисы в бизнес-приложениях: Теория и практика](https://reader034.vdocuments.net/reader034/viewer/2022050812/586fb32f1a28abe57d8b6b97/html5/thumbnails/11.jpg)
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 11Public
А в общем и целом…
Микросервисы == Скорость инноваций
![Page 12: Микросервисы в бизнес-приложениях: Теория и практика](https://reader034.vdocuments.net/reader034/viewer/2022050812/586fb32f1a28abe57d8b6b97/html5/thumbnails/12.jpg)
МикросервисыОтношение к бизнесу
![Page 13: Микросервисы в бизнес-приложениях: Теория и практика](https://reader034.vdocuments.net/reader034/viewer/2022050812/586fb32f1a28abe57d8b6b97/html5/thumbnails/13.jpg)
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 13Public
Многоуровневые приложения (Gartner 2012)
System of Record
System of recordSystem of Differentiation
System of Innovation
http://www.gartner.com/newsroom/id/1923014
![Page 14: Микросервисы в бизнес-приложениях: Теория и практика](https://reader034.vdocuments.net/reader034/viewer/2022050812/586fb32f1a28abe57d8b6b97/html5/thumbnails/14.jpg)
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 14Public
Что может, например, означать…
S4HANA, ERP on-prem, …
System of recordОблачное приложение на
микросервисах
![Page 15: Микросервисы в бизнес-приложениях: Теория и практика](https://reader034.vdocuments.net/reader034/viewer/2022050812/586fb32f1a28abe57d8b6b97/html5/thumbnails/15.jpg)
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 15Public
SAP Hybris Service Engagement Center
SAP Business Suite on-prem (SD)
Order Management, Customers
System of record
SaaS Application for Omni-
Channel Customer Support
Call Center, Social Networks…
![Page 16: Микросервисы в бизнес-приложениях: Теория и практика](https://reader034.vdocuments.net/reader034/viewer/2022050812/586fb32f1a28abe57d8b6b97/html5/thumbnails/16.jpg)
МикросервисыАрхитектура и методология
![Page 17: Микросервисы в бизнес-приложениях: Теория и практика](https://reader034.vdocuments.net/reader034/viewer/2022050812/586fb32f1a28abe57d8b6b97/html5/thumbnails/17.jpg)
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 17Public
А как с этим работать?
Функциональные
требования
Техническая
реализация
![Page 18: Микросервисы в бизнес-приложениях: Теория и практика](https://reader034.vdocuments.net/reader034/viewer/2022050812/586fb32f1a28abe57d8b6b97/html5/thumbnails/18.jpg)
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 18Public
Принципы компонентизации
• Функциональная нарезка
• Domain-Driven Design
• Нефункциональная нарезка
• Особенности команд разработчиков
• Разделение жизненных циклов
• Повторное использование
![Page 19: Микросервисы в бизнес-приложениях: Теория и практика](https://reader034.vdocuments.net/reader034/viewer/2022050812/586fb32f1a28abe57d8b6b97/html5/thumbnails/19.jpg)
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 19Public
Domain-Driven Design как подход к функциональной нарезке
• Предложен Эриком Эвансом в
2003 г.
• Получил вторую жизнь с
развитием микросервисов
• Анализ требований на основе
семантики терминологии
• Домен является центральным
концептом
• Граничный контекст – инструмент
для выделения семантически
целостных компонент
https://en.wikipedia.org/wiki/Domain-driven_design
Функциональные
требования
Граничные
контексты
![Page 20: Микросервисы в бизнес-приложениях: Теория и практика](https://reader034.vdocuments.net/reader034/viewer/2022050812/586fb32f1a28abe57d8b6b97/html5/thumbnails/20.jpg)
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 20Public
Особенности команд разработчиков
Team 1
Team 2
Team 1
Team 2
![Page 21: Микросервисы в бизнес-приложениях: Теория и практика](https://reader034.vdocuments.net/reader034/viewer/2022050812/586fb32f1a28abe57d8b6b97/html5/thumbnails/21.jpg)
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 21Public
Разделение жизненных циклов
Следует
другому циклуProxy/Façade
![Page 22: Микросервисы в бизнес-приложениях: Теория и практика](https://reader034.vdocuments.net/reader034/viewer/2022050812/586fb32f1a28abe57d8b6b97/html5/thumbnails/22.jpg)
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 22Public
Повторное использование
Повторно
используемый
функционал
Повторно
используемый
сервис
![Page 23: Микросервисы в бизнес-приложениях: Теория и практика](https://reader034.vdocuments.net/reader034/viewer/2022050812/586fb32f1a28abe57d8b6b97/html5/thumbnails/23.jpg)
МикросервисыВремя выполнения
![Page 24: Микросервисы в бизнес-приложениях: Теория и практика](https://reader034.vdocuments.net/reader034/viewer/2022050812/586fb32f1a28abe57d8b6b97/html5/thumbnails/24.jpg)
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 24Public
Ландшафт приложения
Configura
tion S
erv
ice
Serv
ice D
iscovery
Edge Service
µS µS
Authentication/Authorization
Canary Deployment …
Service Registry
Instance Registry
Central Configuration
Dynamic Configuration
![Page 25: Микросервисы в бизнес-приложениях: Теория и практика](https://reader034.vdocuments.net/reader034/viewer/2022050812/586fb32f1a28abe57d8b6b97/html5/thumbnails/25.jpg)
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 25Public
Вопросы
?