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

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

Upload: dev2devconf

Post on 03-Mar-2017

333 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

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

Page 2: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

Обо мне

Spectrum ZX

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

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

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

C# и ООП

Люблю post-rock

2

Page 3: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

О докладе

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

3

Page 4: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

Опрос

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

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

движетесь?

4

Page 5: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

Мегатонна!

5

Page 6: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

6

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

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

Page 7: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

Эволюция

7

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

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

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

Page 8: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

8

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

Page 9: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

Проблемы

9

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

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

Page 10: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

10

Ядро Каркас

Page 11: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

11

Page 12: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

12

?

Page 13: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

13

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

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

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

Page 14: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

Модули

14

Page 15: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

15

Page 16: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

16

Page 17: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

17

Page 18: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

18

Page 19: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

19

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

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

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

Page 20: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

Сервисы

20

Page 21: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

21

Page 22: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

22

Page 23: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

23

Page 24: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

24

+ Код и данные

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

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

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

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

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

Page 25: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

25

Page 26: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

26

Page 27: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

27

Page 28: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

28

Page 29: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

29

Page 30: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

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."

Page 31: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

31

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

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

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

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

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

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

Page 32: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

32

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

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

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

Page 33: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

33

Page 34: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

34

Page 35: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

35

Page 36: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

36

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

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

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

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

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

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

Page 37: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

37

Page 38: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

38

Page 39: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

39passwor

dad hr

Page 40: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

40

? ?

?

Page 41: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

41

A DAD

AD

Page 42: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

42

SSO

Page 43: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

43password

ad

hr

? ?

Page 44: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

44

IM

Page 45: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

45

IM

SSO

UM

Page 46: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

46

IM

SSO

UM

Page 47: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

47

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

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

Page 48: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

48

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

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

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

Отдел кадров

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

CS CS

Page 49: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

49

F

Page 50: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

50

P

Page 51: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

51

LM

Page 52: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

52

L

M

IM

SSO

UM

P F D CS

Page 53: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

Заключение

53

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

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

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

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

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

Page 54: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

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

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

Page 55: Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET

Спасибо!

55

Вопросы?