SlideShare a Scribd company logo
Microservices
Pros and cons.
Speaker Vyacheslav Mikhaylov (vmikhaylov@dataart.com)
IT Talks
1
О чем доклад?
• Что такое микросервисы?
• Немного теории
• За и против различных типов архитектур
• Способы взаимодействия сервисов
• Когда делать монолит, а когда микросервисы?
2
Монолит
3
Монолит
4
User Interface
Business Logic Layer
Data Access Layer
DataBase
Монолит
5
User Interface (App1)
Business Logic Layer
Data Access Layer
DataBase
User Interface (App2)
Business Logic Layer
Data Access Layer
Проблемы
6
• Растет сложность системы
• Сложно поддерживать
• Не разобраться
Проблемы
7
• Много багов
• Мало тестов
• Дорого вносить изменения
Проблемы
8
• Застревание на технологиях
Приходит он…
9
Развитие системы
10
• Как сделать систему доступной из разный регионов?
• Как обеспечить согласованность данных?
• Как ускорить систем в N раз?
CAP “теорема”
11
Согласованность
Доступность Разделяемость
CA – consistency + availability
• Данные во всех узлах согласованы
• Обеспечена доступность
• Жертвуем распадом на секции
• ACID
• классические монолиты
12
CP – consistency + partitioning
• Данные во всех узлах согласованы
• Способна разделяться на независимые секции
• Жертвуем отсутствием отклика
(долго согласуются транзакции)
• Монолиты, которым пришлось
скалироваться.
13
AP – availability + partitioning
• Система доступна с предсказуемым временем отклика
• Система распределена
• Отказ от целостности результата.
• Eventually consistent
• DNS
14
- Знаете как заинтересовать идиота?
- Как?
- Завтра расскажу
Развитие системы
15
• Как сделать систему доступной из разный регионов?
• Как обеспечить согласованность данных?
• Как ускорить систем в N раз?
НИКАК!
Что же делать?
16
CA
AP
CP
17
Scale Cube
18
Sharding
Mirroring
Microservices
19
20
Microservices & SOA
21
SOA
Microservices
Что такое Микросервисы?
Архитектурный паттерн в котором сервисы:
• Small
• Focused
• Loosely coupled
• Highly cohesive
22
Small
• Насколько маленький?
• Разрабатывается одной командой (7±2)
• Одна бизнес задача
• Один человек в состоянии понять сервис
23
Focused
• Что значит сфокусированный?
• Решает только одну бизнес задачу,
но решает ее хорошо
• Имеет смысл в отрыве от остальных
сервисов
24
Low coupled
• Что такое сильное зацепление и слабое зацепление?
• Изменения одного класса/модуля слабо влияет на необходимость
изменений другого
• IoC, DI
25
High cohesion
• Высокое сцепление (согласованность)
• Класс/компонент содержит все нужные
методы для решения поставленной задачи
26
High cohesion vs SRP
• У нас есть класс, отвечающий за управление кухней
• SRP – Класс содержит методы по управлению только КУХНЕЙ
• HC – Класс содержит ВСЕ методы по управлению кухней
27
Характеристики микросервисов
• Разделение на компоненты (сервисы)
• Группировка по бизнес задачам
• Сервисы имеют бизнес-смысл
• Умные сервисы & простые коммуникации
• Децентрализованное управление
• Децентрализованное управление данными
• Автоматизация развертывания и мониторинга
• Design for failure (Chaos Monkey)
28
Компоненты
29
Компонент
Библиотеки
Сервисы
Компоненты
30
Компонент
Независимо
заменяемый
Независимо
развертываемый
Характеристики микросервисов
• Разделение на компоненты (сервисы)
• Группировка по бизнес задачам
• Сервисы имеют бизнес-смысл
• Умные сервисы & простые коммуникации
• Децентрализованное управление
• Децентрализованное управление данными
• Автоматизация развертывания и мониторинга
• Design for failure (Chaos Monkey)
31
Группировка по бизнес задачам
32
UI
BL
DB
Order
Management
Order
Execution
Market Data
Характеристики микросервисов
• Разделение на компоненты (сервисы)
• Группировка по бизнес задачам
• Сервисы имеют бизнес-смысл
• Умные сервисы & простые коммуникации
• Децентрализованное управление
• Децентрализованное управление данными
• Автоматизация развертывания и мониторинга
• Design for failure (Chaos Monkey)
33
Умные сервисы & простые коммуникации
34
ESB
Умные сервисы & простые коммуникации
35
ESB
Характеристики микросервисов
• Разделение на компоненты (сервисы)
• Группировка по бизнес задачам
• Сервисы имеют бизнес-смысл
• Умные сервисы & простые коммуникации
• Децентрализованное управление
• Децентрализованное хранение
• Автоматизация развертывания и мониторинга
• Design for failure (Chaos Monkey)
36
Децентрализованное хранений
37
Service A Service B Service C Service C
Сетевое взаимодействие
38
Service A Service B Service C Service C
Автоматизация развертывания и
мониторинга
39
Chaos Monkey
40
Design for failure
41
Simple app
42
API Gateway
43
Разные типы архитектур
• Service Discovery (RPC Style)
• Message Bus (Event Driven)
• Hybrid
44
45
Service Discovery
46
Service Discovery (Server – Side)
Service Discovery (Client – Side)
47
Message Bus
• Нужно уметь готовить
• Нужно поддерживать
• Снижение производительности за счет появления брокера
48
Message Bus
49
ЗА ПРОТИВ
Диктует архитектуру Сложно менять контракты
Легко расширять Обычно асинхронны
Построена для скалируемости Нужна хорошая квалификация
Круто звучит  Сложности развертывания и поддержки
Есть готовые решения. Написано не нами 
Event Driven Architecture
50
Event Driven Architecture
51
Event Driven Architecture
52
Переход от монолита к микросервисам
• Ограниченный бизнес контекст
• Частота изменений
• Структура команды (Conway’s law)
• Меняем то, что сильнее болит
53
Как выбрать?
54
Монолит Микросервисы
Как выбрать?
55
Монолит Микросервисы
Новый домен, нет знаний домена
Прототипы, Быстрое решение
Низкая квалификация (все джуны)
Написал и забыл
Мало денег
Как выбрать?
56
Монолит Микросервисы
Новый домен, нет знаний домена Точно нужно будет скалировать линейно
Прототипы, Быстрое решение Мы можете обеспечить согласованность на бизнес уровне
Низкая квалификация (все джуны)
Высокая квалификация, есть опыт и пара загубленных
проектов в прошлом
Написал и забыл Готовы инвестировать в инфраструктуру
Мало денег Много денег
За и против
57
Микросервисы дают преимущества… За счет…
Strong Module Boundaries
Микросервисы усиливают модульную структуру, что
особенно важно для больших команд разработчиков.
Distribution
Тяжелее разрабатывать. Нужен опыт и хороший опыт.
Аvailability
Сервисы могут работать не все
Eventual Consistency
придется иметь дело со слабой (отложенной) целостностью
Technology Diversity
Легко менять технологии, пробовать что-то действительно
подходящее. Правильные инструменты
Operational Complexity
Опытная команда Devop’ов
Independent Deployment
Простые сервисы проще деплоить
Меньше вероятность отказа системы
Jeff Bezos Manifesto
• All teams will henceforth expose their data and functionality through
service interfaces.
• Teams must communicate with each other through these interfaces.
• no direct linking
• no direct reads of another team’s data store
• no shared-memory model
• no back-doors whatsoever.
• The only communication allowed is via service interface calls over the network.
• It doesn’t matter what technology they use.
• All service interfaces, without exception, must be designed from the
ground up to be externalizable.
• No exceptions.
58
Источники
• https://www.nginx.com/blog/
• https://www.nginx.com/blog/introduction-to-microservices/
• https://www.nginx.com/blog/building-microservices-inter-process-communication/
• http://plainoldobjects.com/presentations/decomposing-applications-for-deployability-and-scalability/
• http://highscalability.com/blog/2016/2/10/how-to-build-your-property-management-system-integration-usi.html
• https://lostechies.com/gabrielschenker/2016/01/27/service-discovery/
• http://microservices.io/
• http://martinfowler.com/articles/microservices.html
59
Thank you
To be continued…

More Related Content

Viewers also liked

TAB records
TAB recordsTAB records
TAB records
Abbey Cotterill
 
Testing in projects
Testing in projectsTesting in projects
Testing in projectsDataArt
 
Estrategika nuevos productos proteccion
Estrategika nuevos productos proteccionEstrategika nuevos productos proteccion
Estrategika nuevos productos proteccion
JUAN CARLOS CALDERON
 
Bio pharma vessels & tanks
Bio pharma vessels & tanksBio pharma vessels & tanks
Bio pharma vessels & tanks
Akshar Engineering Works
 
Анастасия Белокурова (DataArt) "С телефона в облака: Azure Mobile Services. С...
Анастасия Белокурова (DataArt) "С телефона в облака: Azure Mobile Services. С...Анастасия Белокурова (DataArt) "С телефона в облака: Azure Mobile Services. С...
Анастасия Белокурова (DataArt) "С телефона в облака: Azure Mobile Services. С...
DataArt
 
Стратегия и Кризисы
Стратегия и КризисыСтратегия и Кризисы
Стратегия и Кризисы
DataArt
 
Николай Грачев (AllBiz) "Продукт и пользователь: дружба начинается с UX"
Николай Грачев (AllBiz) "Продукт и пользователь: дружба начинается с UX"Николай Грачев (AllBiz) "Продукт и пользователь: дружба начинается с UX"
Николай Грачев (AllBiz) "Продукт и пользователь: дружба начинается с UX"
DataArt
 
Никита Корчагин - Introduction to iOS development
Никита Корчагин - Introduction to iOS developmentНикита Корчагин - Introduction to iOS development
Никита Корчагин - Introduction to iOS developmentDataArt
 
Дмтрий Андрусенко (DataArt) "Мир IT вчера, сегодня и завтра"
Дмтрий Андрусенко (DataArt) "Мир IT вчера, сегодня и завтра"Дмтрий Андрусенко (DataArt) "Мир IT вчера, сегодня и завтра"
Дмтрий Андрусенко (DataArt) "Мир IT вчера, сегодня и завтра"
DataArt
 
Jornal HOJE! - Edição 840
Jornal HOJE! - Edição 840Jornal HOJE! - Edição 840
Jornal HOJE! - Edição 840
Jornal HOJE!
 
Thriller powerpoint finished
Thriller powerpoint finishedThriller powerpoint finished
Thriller powerpoint finishedAbbey Cotterill
 
Dc brochure vietv1 (1)
Dc brochure vietv1 (1)Dc brochure vietv1 (1)
Dc brochure vietv1 (1)
Nguyet Vo
 
«Как с помощью Google Material Design не делать ». Дмитрий Провоторов
«Как с помощью Google Material Design не делать ». Дмитрий Провоторов«Как с помощью Google Material Design не делать ». Дмитрий Провоторов
«Как с помощью Google Material Design не делать ». Дмитрий Провоторов
DataArt
 
«DeviceHive: IoT в Android». Николай Хабаров
«DeviceHive: IoT в Android». Николай Хабаров«DeviceHive: IoT в Android». Николай Хабаров
«DeviceHive: IoT в Android». Николай Хабаров
DataArt
 
Дмитрий Паньков ( DataArt) "Business intelligence: перспективы для будущих сп...
Дмитрий Паньков ( DataArt) "Business intelligence: перспективы для будущих сп...Дмитрий Паньков ( DataArt) "Business intelligence: перспективы для будущих сп...
Дмитрий Паньков ( DataArt) "Business intelligence: перспективы для будущих сп...
DataArt
 
Алексей Рыбаков (DataArt) "Мобильные технологии: SmartWatch Software Developm...
Алексей Рыбаков (DataArt) "Мобильные технологии: SmartWatch Software Developm...Алексей Рыбаков (DataArt) "Мобильные технологии: SmartWatch Software Developm...
Алексей Рыбаков (DataArt) "Мобильные технологии: SmartWatch Software Developm...
DataArt
 

Viewers also liked (18)

TAB records
TAB recordsTAB records
TAB records
 
Testing in projects
Testing in projectsTesting in projects
Testing in projects
 
Estrategika nuevos productos proteccion
Estrategika nuevos productos proteccionEstrategika nuevos productos proteccion
Estrategika nuevos productos proteccion
 
Bio pharma vessels & tanks
Bio pharma vessels & tanksBio pharma vessels & tanks
Bio pharma vessels & tanks
 
Анастасия Белокурова (DataArt) "С телефона в облака: Azure Mobile Services. С...
Анастасия Белокурова (DataArt) "С телефона в облака: Azure Mobile Services. С...Анастасия Белокурова (DataArt) "С телефона в облака: Azure Mobile Services. С...
Анастасия Белокурова (DataArt) "С телефона в облака: Azure Mobile Services. С...
 
Стратегия и Кризисы
Стратегия и КризисыСтратегия и Кризисы
Стратегия и Кризисы
 
Biblioterapia
BiblioterapiaBiblioterapia
Biblioterapia
 
Николай Грачев (AllBiz) "Продукт и пользователь: дружба начинается с UX"
Николай Грачев (AllBiz) "Продукт и пользователь: дружба начинается с UX"Николай Грачев (AllBiz) "Продукт и пользователь: дружба начинается с UX"
Николай Грачев (AllBiz) "Продукт и пользователь: дружба начинается с UX"
 
Никита Корчагин - Introduction to iOS development
Никита Корчагин - Introduction to iOS developmentНикита Корчагин - Introduction to iOS development
Никита Корчагин - Introduction to iOS development
 
Дмтрий Андрусенко (DataArt) "Мир IT вчера, сегодня и завтра"
Дмтрий Андрусенко (DataArt) "Мир IT вчера, сегодня и завтра"Дмтрий Андрусенко (DataArt) "Мир IT вчера, сегодня и завтра"
Дмтрий Андрусенко (DataArt) "Мир IT вчера, сегодня и завтра"
 
Jornal HOJE! - Edição 840
Jornal HOJE! - Edição 840Jornal HOJE! - Edição 840
Jornal HOJE! - Edição 840
 
Thriller powerpoint finished
Thriller powerpoint finishedThriller powerpoint finished
Thriller powerpoint finished
 
Dc brochure vietv1 (1)
Dc brochure vietv1 (1)Dc brochure vietv1 (1)
Dc brochure vietv1 (1)
 
«Как с помощью Google Material Design не делать ». Дмитрий Провоторов
«Как с помощью Google Material Design не делать ». Дмитрий Провоторов«Как с помощью Google Material Design не делать ». Дмитрий Провоторов
«Как с помощью Google Material Design не делать ». Дмитрий Провоторов
 
Boxwood Blight
Boxwood BlightBoxwood Blight
Boxwood Blight
 
«DeviceHive: IoT в Android». Николай Хабаров
«DeviceHive: IoT в Android». Николай Хабаров«DeviceHive: IoT в Android». Николай Хабаров
«DeviceHive: IoT в Android». Николай Хабаров
 
Дмитрий Паньков ( DataArt) "Business intelligence: перспективы для будущих сп...
Дмитрий Паньков ( DataArt) "Business intelligence: перспективы для будущих сп...Дмитрий Паньков ( DataArt) "Business intelligence: перспективы для будущих сп...
Дмитрий Паньков ( DataArt) "Business intelligence: перспективы для будущих сп...
 
Алексей Рыбаков (DataArt) "Мобильные технологии: SmartWatch Software Developm...
Алексей Рыбаков (DataArt) "Мобильные технологии: SmartWatch Software Developm...Алексей Рыбаков (DataArt) "Мобильные технологии: SmartWatch Software Developm...
Алексей Рыбаков (DataArt) "Мобильные технологии: SmartWatch Software Developm...
 

Similar to «Microservices. Как правильно делать и когда применять?»

Микросервисы, чистый PaaS и конкурс Мисс Россия
Микросервисы, чистый PaaS и конкурс Мисс РоссияМикросервисы, чистый PaaS и конкурс Мисс Россия
Микросервисы, чистый PaaS и конкурс Мисс Россия
Alexander Byndyu
 
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
Ontico
 
Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?
Vadim Madison
 
Бизнес-гибкость через микросервисную архитектуру
Бизнес-гибкость через микросервисную архитектуруБизнес-гибкость через микросервисную архитектуру
Бизнес-гибкость через микросервисную архитектуру
Alexander Byndyu
 
Больше чем ITSM! Знакомство с системой Naumen Service Desk 4.0
Больше чем ITSM! Знакомство с системой Naumen Service Desk 4.0Больше чем ITSM! Знакомство с системой Naumen Service Desk 4.0
Больше чем ITSM! Знакомство с системой Naumen Service Desk 4.0
NAUMEN. Информационные системы управления растущим бизнесом
 
Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET
Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NETЭволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET
Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET
Dev2Dev
 
Intelligent multiservice network
Intelligent multiservice networkIntelligent multiservice network
Intelligent multiservice networkKuznechiK .
 
Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...
Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...
Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...
Cisco Russia
 
Eduard Dautov (Provectus): СКОРИНГ ML МОДЕЛЕЙ В МИКРОСЕРВИСНОЙ АРХИТЕКТУРЕ
Eduard Dautov (Provectus): СКОРИНГ ML МОДЕЛЕЙ В МИКРОСЕРВИСНОЙ АРХИТЕКТУРЕ Eduard Dautov (Provectus): СКОРИНГ ML МОДЕЛЕЙ В МИКРОСЕРВИСНОЙ АРХИТЕКТУРЕ
Eduard Dautov (Provectus): СКОРИНГ ML МОДЕЛЕЙ В МИКРОСЕРВИСНОЙ АРХИТЕКТУРЕ
Provectus
 
DevOps и системы управления конфигурацией. SECON 2015
DevOps и системы управления конфигурацией. SECON 2015DevOps и системы управления конфигурацией. SECON 2015
DevOps и системы управления конфигурацией. SECON 2015
Ivan Evtukhovich
 
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUAREТехники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
SQALab
 
разработка бизнес приложений (9)
разработка бизнес приложений (9)разработка бизнес приложений (9)
разработка бизнес приложений (9)
Alexander Gornik
 
Тимур Лукин - Архитектура и проектирование ПО
Тимур Лукин - Архитектура и проектирование ПОТимур Лукин - Архитектура и проектирование ПО
Тимур Лукин - Архитектура и проектирование ПОYandex
 
Agile days `16 summary
Agile days `16 summaryAgile days `16 summary
Agile days `16 summary
Anton Zhukov
 
Решения для разумной оптимизации ИТ-инфраструктуры. Сокращение ваших расходов...
Решения для разумной оптимизации ИТ-инфраструктуры. Сокращение ваших расходов...Решения для разумной оптимизации ИТ-инфраструктуры. Сокращение ваших расходов...
Решения для разумной оптимизации ИТ-инфраструктуры. Сокращение ваших расходов...
Yaryomenko
 
Использование opensource СУБД. Подходы к миграции
Использование opensource СУБД. Подходы к миграцииИспользование opensource СУБД. Подходы к миграции
Использование opensource СУБД. Подходы к миграции
КРОК
 
раубичи ронд
раубичи рондраубичи ронд
раубичи ронд
zolik
 
MSDevCon 2016 DevOps Impact on Architecture
MSDevCon 2016 DevOps Impact on ArchitectureMSDevCon 2016 DevOps Impact on Architecture
MSDevCon 2016 DevOps Impact on Architecture
Sergey Baranov
 

Similar to «Microservices. Как правильно делать и когда применять?» (20)

Микросервисы, чистый PaaS и конкурс Мисс Россия
Микросервисы, чистый PaaS и конкурс Мисс РоссияМикросервисы, чистый PaaS и конкурс Мисс Россия
Микросервисы, чистый PaaS и конкурс Мисс Россия
 
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
 
Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?
 
Бизнес-гибкость через микросервисную архитектуру
Бизнес-гибкость через микросервисную архитектуруБизнес-гибкость через микросервисную архитектуру
Бизнес-гибкость через микросервисную архитектуру
 
Больше чем ITSM! Знакомство с системой Naumen Service Desk 4.0
Больше чем ITSM! Знакомство с системой Naumen Service Desk 4.0Больше чем ITSM! Знакомство с системой Naumen Service Desk 4.0
Больше чем ITSM! Знакомство с системой Naumen Service Desk 4.0
 
Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET
Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NETЭволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET
Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET
 
Intelligent multiservice network
Intelligent multiservice networkIntelligent multiservice network
Intelligent multiservice network
 
Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...
Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...
Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...
 
Eduard Dautov (Provectus): СКОРИНГ ML МОДЕЛЕЙ В МИКРОСЕРВИСНОЙ АРХИТЕКТУРЕ
Eduard Dautov (Provectus): СКОРИНГ ML МОДЕЛЕЙ В МИКРОСЕРВИСНОЙ АРХИТЕКТУРЕ Eduard Dautov (Provectus): СКОРИНГ ML МОДЕЛЕЙ В МИКРОСЕРВИСНОЙ АРХИТЕКТУРЕ
Eduard Dautov (Provectus): СКОРИНГ ML МОДЕЛЕЙ В МИКРОСЕРВИСНОЙ АРХИТЕКТУРЕ
 
DevOps и системы управления конфигурацией. SECON 2015
DevOps и системы управления конфигурацией. SECON 2015DevOps и системы управления конфигурацией. SECON 2015
DevOps и системы управления конфигурацией. SECON 2015
 
Управление ИТ в распределенных компаниях в 2011 году
Управление ИТ в распределенных компаниях в 2011 годуУправление ИТ в распределенных компаниях в 2011 году
Управление ИТ в распределенных компаниях в 2011 году
 
Экспертиза внедрения ITSM-проектов компании NAUMEN
Экспертиза внедрения ITSM-проектов компании NAUMENЭкспертиза внедрения ITSM-проектов компании NAUMEN
Экспертиза внедрения ITSM-проектов компании NAUMEN
 
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUAREТехники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
 
разработка бизнес приложений (9)
разработка бизнес приложений (9)разработка бизнес приложений (9)
разработка бизнес приложений (9)
 
Тимур Лукин - Архитектура и проектирование ПО
Тимур Лукин - Архитектура и проектирование ПОТимур Лукин - Архитектура и проектирование ПО
Тимур Лукин - Архитектура и проектирование ПО
 
Agile days `16 summary
Agile days `16 summaryAgile days `16 summary
Agile days `16 summary
 
Решения для разумной оптимизации ИТ-инфраструктуры. Сокращение ваших расходов...
Решения для разумной оптимизации ИТ-инфраструктуры. Сокращение ваших расходов...Решения для разумной оптимизации ИТ-инфраструктуры. Сокращение ваших расходов...
Решения для разумной оптимизации ИТ-инфраструктуры. Сокращение ваших расходов...
 
Использование opensource СУБД. Подходы к миграции
Использование opensource СУБД. Подходы к миграцииИспользование opensource СУБД. Подходы к миграции
Использование opensource СУБД. Подходы к миграции
 
раубичи ронд
раубичи рондраубичи ронд
раубичи ронд
 
MSDevCon 2016 DevOps Impact on Architecture
MSDevCon 2016 DevOps Impact on ArchitectureMSDevCon 2016 DevOps Impact on Architecture
MSDevCon 2016 DevOps Impact on Architecture
 

More from DataArt

DataArt Custom Software Engineering with a Human Approach
DataArt Custom Software Engineering with a Human ApproachDataArt Custom Software Engineering with a Human Approach
DataArt Custom Software Engineering with a Human Approach
DataArt
 
DataArt Healthcare & Life Sciences
DataArt Healthcare & Life SciencesDataArt Healthcare & Life Sciences
DataArt Healthcare & Life Sciences
DataArt
 
DataArt Financial Services and Capital Markets
DataArt Financial Services and Capital MarketsDataArt Financial Services and Capital Markets
DataArt Financial Services and Capital Markets
DataArt
 
About DataArt HR Partners
About DataArt HR PartnersAbout DataArt HR Partners
About DataArt HR Partners
DataArt
 
Event management в IT
Event management в ITEvent management в IT
Event management в IT
DataArt
 
Digital Marketing from inside
Digital Marketing from insideDigital Marketing from inside
Digital Marketing from inside
DataArt
 
What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)
DataArt
 
DevOps Workshop:Что бывает, когда DevOps приходит на проект
DevOps Workshop:Что бывает, когда DevOps приходит на проектDevOps Workshop:Что бывает, когда DevOps приходит на проект
DevOps Workshop:Что бывает, когда DevOps приходит на проект
DataArt
 
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArtIT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
DataArt
 
«Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
 «Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han... «Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
«Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
DataArt
 
Communication in QA's life
Communication in QA's lifeCommunication in QA's life
Communication in QA's life
DataArt
 
Нельзя просто так взять и договориться, или как мы работали со сложными людьми
Нельзя просто так взять и договориться, или как мы работали со сложными людьмиНельзя просто так взять и договориться, или как мы работали со сложными людьми
Нельзя просто так взять и договориться, или как мы работали со сложными людьми
DataArt
 
Знакомьтесь, DevOps
Знакомьтесь, DevOpsЗнакомьтесь, DevOps
Знакомьтесь, DevOps
DataArt
 
DevOps in real life
DevOps in real lifeDevOps in real life
DevOps in real life
DataArt
 
Codeless: автоматизация тестирования
Codeless: автоматизация тестированияCodeless: автоматизация тестирования
Codeless: автоматизация тестирования
DataArt
 
Selenoid
SelenoidSelenoid
Selenoid
DataArt
 
Selenide
SelenideSelenide
Selenide
DataArt
 
A. Sirota "Building an Automation Solution based on Appium"
A. Sirota "Building an Automation Solution based on Appium"A. Sirota "Building an Automation Solution based on Appium"
A. Sirota "Building an Automation Solution based on Appium"
DataArt
 
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
DataArt
 
IT talk: Как я перестал бояться и полюбил TestNG
IT talk: Как я перестал бояться и полюбил TestNGIT talk: Как я перестал бояться и полюбил TestNG
IT talk: Как я перестал бояться и полюбил TestNG
DataArt
 

More from DataArt (20)

DataArt Custom Software Engineering with a Human Approach
DataArt Custom Software Engineering with a Human ApproachDataArt Custom Software Engineering with a Human Approach
DataArt Custom Software Engineering with a Human Approach
 
DataArt Healthcare & Life Sciences
DataArt Healthcare & Life SciencesDataArt Healthcare & Life Sciences
DataArt Healthcare & Life Sciences
 
DataArt Financial Services and Capital Markets
DataArt Financial Services and Capital MarketsDataArt Financial Services and Capital Markets
DataArt Financial Services and Capital Markets
 
About DataArt HR Partners
About DataArt HR PartnersAbout DataArt HR Partners
About DataArt HR Partners
 
Event management в IT
Event management в ITEvent management в IT
Event management в IT
 
Digital Marketing from inside
Digital Marketing from insideDigital Marketing from inside
Digital Marketing from inside
 
What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)
 
DevOps Workshop:Что бывает, когда DevOps приходит на проект
DevOps Workshop:Что бывает, когда DevOps приходит на проектDevOps Workshop:Что бывает, когда DevOps приходит на проект
DevOps Workshop:Что бывает, когда DevOps приходит на проект
 
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArtIT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
 
«Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
 «Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han... «Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
«Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
 
Communication in QA's life
Communication in QA's lifeCommunication in QA's life
Communication in QA's life
 
Нельзя просто так взять и договориться, или как мы работали со сложными людьми
Нельзя просто так взять и договориться, или как мы работали со сложными людьмиНельзя просто так взять и договориться, или как мы работали со сложными людьми
Нельзя просто так взять и договориться, или как мы работали со сложными людьми
 
Знакомьтесь, DevOps
Знакомьтесь, DevOpsЗнакомьтесь, DevOps
Знакомьтесь, DevOps
 
DevOps in real life
DevOps in real lifeDevOps in real life
DevOps in real life
 
Codeless: автоматизация тестирования
Codeless: автоматизация тестированияCodeless: автоматизация тестирования
Codeless: автоматизация тестирования
 
Selenoid
SelenoidSelenoid
Selenoid
 
Selenide
SelenideSelenide
Selenide
 
A. Sirota "Building an Automation Solution based on Appium"
A. Sirota "Building an Automation Solution based on Appium"A. Sirota "Building an Automation Solution based on Appium"
A. Sirota "Building an Automation Solution based on Appium"
 
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
 
IT talk: Как я перестал бояться и полюбил TestNG
IT talk: Как я перестал бояться и полюбил TestNGIT talk: Как я перестал бояться и полюбил TestNG
IT talk: Как я перестал бояться и полюбил TestNG
 

«Microservices. Как правильно делать и когда применять?»

Editor's Notes

  1. Большинство NoSQL-систем принципиально не гарантируют целостности данных, и ссылаются на теорему CAP как на мотив такого ограничения[5]. Задачей при построении AP-систем становится обеспечение некоторого практически целесообразного уровня целостности данных, в этом смысле про AP-системы говорят как о «целостных в конечном итоге» (англ. eventually consistent)[15] или как о «слабо целостных» (англ. weak consistent)[16].
  2. Большинство NoSQL-систем принципиально не гарантируют целостности данных, и ссылаются на теорему CAP как на мотив такого ограничения[5]. Задачей при построении AP-систем становится обеспечение некоторого практически целесообразного уровня целостности данных, в этом смысле про AP-системы говорят как о «целостных в конечном итоге» (англ. eventually consistent)[15] или как о «слабо целостных» (англ. weak consistent)[16].
  3. Набор правил, как одно приложение или компонет взаимодействует с другими. И механизм, который обеспечивает это взаимодействие Обычно это не про UI Взаимодействие виде Software-to-software (Component)
  4. Размер микросервисов – единственная вещь про которую программисты могут гордиться у кого меньше Two pizza team at amazon
  5. Проблема перевода
  6. Convey’s Law
  7. Есть три вещи которые все говорят что делают Подростковый секс DevOps ОЧЕНЬ ВАЖНО. Новый компы, развертывание, мониториг, отладка
  8. Строгие контракты
  9. Строгие контракты
  10. Строгие контракты
  11. Строгие контракты
  12. The law is based on the reasoning that in order for a software module to function, multiple authors must communicate frequently with each other. Therefore, the software interfaces structure of a system will reflect the social boundaries of the organization(s) that produced it, across which communication is more difficult. Conway's law was intended as a valid sociological observation, although sometimes it's taken in a humorous context.
  13. The law is based on the reasoning that in order for a software module to function, multiple authors must communicate frequently with each other. Therefore, the software interfaces structure of a system will reflect the social boundaries of the organization(s) that produced it, across which communication is more difficult. Conway's law was intended as a valid sociological observation, although sometimes it's taken in a humorous context.
  14. The law is based on the reasoning that in order for a software module to function, multiple authors must communicate frequently with each other. Therefore, the software interfaces structure of a system will reflect the social boundaries of the organization(s) that produced it, across which communication is more difficult. Conway's law was intended as a valid sociological observation, although sometimes it's taken in a humorous context.
  15. The law is based on the reasoning that in order for a software module to function, multiple authors must communicate frequently with each other. Therefore, the software interfaces structure of a system will reflect the social boundaries of the organization(s) that produced it, across which communication is more difficult. Conway's law was intended as a valid sociological observation, although sometimes it's taken in a humorous context.