Эволюция корпоративных web приложений. Молотков Андрей...

Post on 03-Mar-2017

331 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Эволюция корпоративных приложений

Андрей Молотков

Обо мне

Spectrum ZX

8+ лет профессионально

Архитектор в веб-отделе

большой компании

C# и ООП

Люблю post-rock

2

О докладе

● Кода не будет● Не зависит от платформы● Термины на русском● Собственный опыт

3

Опрос

●Кто работает в ИТ-отделах средних или крупных

предприятий? ●Кому нравится текущее состояние систем? ●У кого есть понимание, в каком направлении вы

движетесь?

4

Мегатонна!

5

Предприятие (enterprise)

6

● Много унаследованного (legacy) кода● ИТ-персонал разделен на отделы согласно используемым

технология (SAP, Web, Oracle)● Решаются задачи обработки информации

Эволюция

7

● Все выкинуть и

переписать!● Работает - не трогай● Возьми кусок кода вон

из того проекта

Что у нас есть сначала?

8

Система 1 Система 3Система 2? ?

Проблемы

9

● Код● Данные● Взаимодействие

Дорого поддерживать

Возможности / Каркас (framework)

10

Ядро Каркас

Каркас / Скорость

11

Каркас / Узкий или сложный?

12

?

Каркас / Выводы

13

+ Код используется повторно+ Легко начать

- Велосипед- Слишком много

отвественности- Дорого поддерживать

Модули

14

Модули / Повторное использование

15

Модули / Один процесс

16

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

17

Модули / Данные

18

Модули / Выводы

19

+ Код используется повторно+ Тестируемость+ Производительность

- Дублирование данных- Ограниченное

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

Сервисы

20

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

21

Сервисы / Удаленные вызовы

22

Сервисы / Связи

23

Сервисы / Выводы

24

+ Код и данные

используются повторно+ Тестируемость+ Хорошая

масштабируемость

- Снижена скорость

обращения- Нужно следить за

потребителями

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

25

Микросервисы / Выкинуть и переписать!

26

Микросервисы / Связи

27

Микросервисы / Инструменты

28

Микросервисы / Разбиение монолита

29

Микросервисы / Команда

30

"We've seen plenty of cases of less skillful teams building messy monolithic architectures, but it takes time to see what happens when this kind of mess occurs with microservices. A poor team will always create a poor system - it's very hard to tell if microservices reduce the mess in this case or make it worse."

Микросервисы / Выводы

31

+ Решения используются

повторно+ Использование лучших

платформ+ Тестируемость+ Отличная

масштабируемость

- Сильная команда- Инструменты

автоматизации- Зоопарк технологий

Много фигурок и стрелочек, скучно?

32

Закладывается фундамент для дальнейшего развития

Уменьшается стоимость поддержки

Приложение ведет себя более предсказуемо

Дом Винчестеров

33

Дом Винчестеров

34

Дом Винчестеров

35

Что выбрали мы?

36

Нет универсального решения

Единый стек технологий (кадры)

Легкий переход от модуля к сервису или обратно

Простые сервисы

Создание модулей-клиентов

Подключение к сервисам устаревших приложений

Как это выглядит?

37

Пользователи

38

Пользователи / Регистрация

39passwor

dad hr

Пользователи / Вход

40

? ?

?

Пользователи / Вход в домен (AD)

41

A DAD

AD

Пользователи / Единый вход (SSO)

42

SSO

Пользователи / Идентификация

43password

ad

hr

? ?

Пользователи / Управление учетными записями (IM)

44

IM

Пользователи / Управление правами (UM)

45

IM

SSO

UM

Пользователи / Больше не проблема

46

IM

SSO

UM

Данные / Справочники (D)

47

АнглийскийАнглийский языкАнгл.англиискии...

D Английский язык

Справочники / Стурктура компании (CS)

48

Головная организация

● Директор● Секретарь● Советник

Дочерняя организация

Отдел кадров

Отдел продаж● Руководитель● Менеджер

CS CS

Данные / Файлы (F)

49

F

Данные / Фотографии (P)

50

P

Инстурменты / Логи (L), мониторинг (M)

51

LM

52

L

M

IM

SSO

UM

P F D CS

Заключение

53

Почти все сервисы уже реализованы и работают

Используется REST + OData (простая инфраструктура)

Предусмотрены версии

Автоматическая документация

Сервисы используются другими отделами

Полезные материалы

54

http://martinfowler.com/articles/microservices.html

https://www.opengroup.org/soa/source-book/intro/index.htm

http://eax.me/microservices-vs-monolithic/

http://www.infoq.com/news/2014/10/ddd-onion-architecture

http://www.youtube.com/watch?v=f0UGDHT7ZwY

Спасибо!

55

Вопросы?

top related