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

Post on 16-Apr-2017

153 Views

Category:

Software

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

28 октября, 2016

Public

© 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: oleg.koutyrine@sap.com

NO TWITTER

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

Disclaimer

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

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

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

© 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Обозримость

Функционала

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

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

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

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

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

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

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

De

vO

ps

Об

ла

чно

е

ра

зве

рты

вани

е

Ло

кал

ьна

я

отв

етс

тве

нно

сть

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

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

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

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

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

© 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

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

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

S4HANA, ERP on-prem, …

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

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

© 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…

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

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

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

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

требования

Техническая

реализация

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

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

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

• Domain-Driven Design

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

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

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

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

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

Domain-Driven Design как подход к функциональной нарезке

• Предложен Эриком Эвансом в

2003 г.

• Получил вторую жизнь с

развитием микросервисов

• Анализ требований на основе

семантики терминологии

• Домен является центральным

концептом

• Граничный контекст – инструмент

для выделения семантически

целостных компонент

https://en.wikipedia.org/wiki/Domain-driven_design

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

требования

Граничные

контексты

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

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

Team 1

Team 2

Team 1

Team 2

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

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

Следует

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

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

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

Повторно

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

функционал

Повторно

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

сервис

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

© 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

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

Вопросы

?

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

Oleg Koutyrine

Architect

SAP SE

HANA Cloud Platform

oleg.koutyrine@sap.com

top related