Микросервисы в бизнес-приложениях: Теория и практика

26
Микросервисы в бизнес-приложениях Олег Кутырин, SAP 28 октября, 2016 Public

Upload: cee-secr

Post on 16-Apr-2017

153 views

Category:

Software


4 download

TRANSCRIPT

Page 1: Микросервисы в бизнес-приложениях: Теория и практика

Микросервисы в бизнес-приложениях

Олег Кутырин, SAP

28 октября, 2016

Public

Page 2: Микросервисы в бизнес-приложениях: Теория и практика

© 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: Микросервисы в бизнес-приложениях: Теория и практика

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 3Public

Disclaimer

Никакого маркетинга, никакой рекламы

Исключительно технология и методология

Page 4: Микросервисы в бизнес-приложениях: Теория и практика

МикросервисыОсновные концепции

Page 5: Микросервисы в бизнес-приложениях: Теория и практика

© 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: Микросервисы в бизнес-приложениях: Теория и практика

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 6Public

Что такое микросервис? (Чуть более конкретно)

Один модуль развертывания

Компактная архитектура

Локальные коммуникации

Множество модулей развертывания

Распределенная архитектура

Удаленные коммуникации

Page 7: Микросервисы в бизнес-приложениях: Теория и практика

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 7Public

А зачем это все?

Каждый микросервис – это независимый модуль с независимым жизненным циклом

Независимая эволюция

Независимый цикл разработки

Независимое развертывание

Независимое масштабирование

Независимые технологические решения

Page 8: Микросервисы в бизнес-приложениях: Теория и практика

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 8Public

А что в этом хорошего?

Скорость ДоставкиГибкое

Масштабирование

Подходящая ТехнологияПростотаПоддержки

Обозримость

Функционала

Page 9: Микросервисы в бизнес-приложениях: Теория и практика

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 9Public

И все это бесплатно?

Общая СложностьТребования кИнфраструктуре

Целостность Данных Надежностькоммуникации

Производительность

Page 10: Микросервисы в бизнес-приложениях: Теория и практика

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 10Public

А когда оно имеет смысл?

De

vO

ps

Об

ла

чно

е

ра

зве

рты

вани

е

Ло

кал

ьна

я

отв

етс

тве

нно

сть

Микросервисы

Page 11: Микросервисы в бизнес-приложениях: Теория и практика

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 11Public

А в общем и целом…

Микросервисы == Скорость инноваций

Page 12: Микросервисы в бизнес-приложениях: Теория и практика

МикросервисыОтношение к бизнесу

Page 13: Микросервисы в бизнес-приложениях: Теория и практика

© 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: Микросервисы в бизнес-приложениях: Теория и практика

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 14Public

Что может, например, означать…

S4HANA, ERP on-prem, …

System of recordОблачное приложение на

микросервисах

Page 15: Микросервисы в бизнес-приложениях: Теория и практика

© 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: Микросервисы в бизнес-приложениях: Теория и практика

МикросервисыАрхитектура и методология

Page 17: Микросервисы в бизнес-приложениях: Теория и практика

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 17Public

А как с этим работать?

Функциональные

требования

Техническая

реализация

Page 18: Микросервисы в бизнес-приложениях: Теория и практика

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 18Public

Принципы компонентизации

• Функциональная нарезка

• Domain-Driven Design

• Нефункциональная нарезка

• Особенности команд разработчиков

• Разделение жизненных циклов

• Повторное использование

Page 19: Микросервисы в бизнес-приложениях: Теория и практика

© 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: Микросервисы в бизнес-приложениях: Теория и практика

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 20Public

Особенности команд разработчиков

Team 1

Team 2

Team 1

Team 2

Page 21: Микросервисы в бизнес-приложениях: Теория и практика

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 21Public

Разделение жизненных циклов

Следует

другому циклуProxy/Façade

Page 22: Микросервисы в бизнес-приложениях: Теория и практика

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 22Public

Повторное использование

Повторно

используемый

функционал

Повторно

используемый

сервис

Page 23: Микросервисы в бизнес-приложениях: Теория и практика

МикросервисыВремя выполнения

Page 24: Микросервисы в бизнес-приложениях: Теория и практика

© 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: Микросервисы в бизнес-приложениях: Теория и практика

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 25Public

Вопросы

?

Page 26: Микросервисы в бизнес-приложениях: Теория и практика

Спасибо за внимание! Контакт:

Oleg Koutyrine

Architect

SAP SE

HANA Cloud Platform

[email protected]