View
331
Download
0
Category
Preview:
Citation preview
Эволюция корпоративных приложений
Андрей Молотков
Обо мне
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
Вопросы?
Recommended