SlideShare a Scribd company logo
1 of 40
Download to read offline
Переход от монолитной
архитектуры к распределенной
Александр Бындю
http://byndyu.ru
8-я конференция .NET разработчиков
6 апреля 2014
dotnetconf.ru
2
Обо мне
1. Владелец компании ByndyuSoft http://byndyusoft.com
2. Консультант по вопросам разработки приложений и организации работы IT
компаний, Certified CIAgile Professional
3. Внештатный сотрудник Академии АйТи
4. Технический блог http://blog.byndyu.ru
5. Преподаю в ЮУрГУ и ЧелГУ
6. Тренер на AgileCamp
7. Организую конференции .NET-разработчиков
http://dotnetconf.ru
8. Веду группу по проблемам разработки приложений
https://groups.google.com/forum/?hl=ru&fromgroups#!forum/dotnetconf
3
Требования рынка
1. Много данных
2. Много пользователей
3. Быстрое масштабирование
4. Быстрое внесение изменений
4
Теорема CAP
1. Consistency
(согласованность данных)
2.Availability
(доступность)
3.Partition tolerance
(устойчивость к разделению)
5
Теорема CAP
Выбираем любые два свойства
A C
P
6
Какие реализации?
Consistency + Availability
(MSSQL на сервере)
Consistency + Partition tolerance
(MSSQL на кластере с транзакцией)
Availability + Partition tolerance
(NoSQL решения)
7
Consistency + Availability
Надежность,
Предсказуемость,
Исторически так
сложилось
8
1. Создаем UI
2. Сборку BL
3. Сборку DAL
4. Создаем DB
5. …
6. Profit!
UI
Services
BL
DAL
DB
9
Website Сервис1 Сервис2
Shared DB
CA
10
DB
Get data Set data
Set data Get data
11
12
Решим проблему с нагрузкой на
чтение данных
13
Что делать?
1. Оптимизировать скрипты выборки
2. Убираем ORM для лучшей оптимизации
3. Убираем весь код выборки в хранимки
4. Оптимизируем индексы
5. Денормализуем данные
14
Денормализация v1.0
Создать дополнительные колонки в текущих
таблицах
SELECT pt.Code
FROM Products p
INNER JOIN ProductType pt ON
p.ProductTypeID = pt.ProductTypeID
WHERE p.ProductID = 20
15
Денормализация v2.0
Создать отдельные таблицы/view для
денормализованных данных
16
Денормализация v3.0
Создать еще одну БД (хранилище) c
«плоскими» данными для чтения
1. Отдельная реляционная БД с «плоскими»
данными без связей
2. Различные NoSQL
3. Поисковые системы
17
cRud
1. «Плоский» SQL
2. NoSQL
3. Поисковые системы
4. Кэши
5. …
«Плоские» данные
UI
Только
выборка
18
CrUD
1. Domain-driven design (DDD)
2. N- tier, onion,… architecture
3. ORM (NHibernate, Entity Framework,…)
Приложение
База
данных
Presenter
UI
Domain Model
Validation
...
19
Отделяем чтение от записи
Приложение
MongoDB
Command
UI
Domain Model
Validation
...
Query Query Model
База
данных
Redis
Sphinx
...
20
Горизонтальное масштабирование
• Cassandra
• ElasticSearch
• Couchbase
• …
Client
Node1
Node2
Node3
...
MongoDB
Redis
Sphinx
...
21
Облачная инфраструктура
Масштабируемся в один клик!
Даешь больше равноценных нодов!
22
ложение
MongoDB
Domain Model
Validation
...
Query Model
База
данных
?
Redis
Sphinx
...
Как синхронизировать
хранилища?
23
Обновляем синхронно
Приложение
MongoDB
mand
Domain Model
Validation
...
uery Query Model
База
данных
Redis
Sphinx
...
24
Приложение
MongoDB
mmand
Domain Model
Validation
...
uery Query Model
База
данных
Redis
Sphinx
...
С
о
б
ы
т
и
е
С
о
б
ы
т
и
е
Ш
и
н
а
д
а
н
н
ы
х
Обновляем асинхронно
25
BASE-архитектура
Availability + Partition tolerance
1. Basically Available
(сбой в некоторых узлах не приводит к отказу в обслуживании)
2. Soft-state
(не согласованное состояние)
3. Eventually consistent
(в конце концов информация будет консистентна)
26
Eventually consistent
Какое время уйдет
на синхронизацию?
27
Пример из проекта с Couchbase
28
Чтение данных разгрузили,
что с записью?
29
Website Сервис1 Сервис2
Shared DB
CA
30
Очереди сообщений
Отправитель Получатель
1. Создание 5. Обработка
2. Отправка
3. Доставка
4. ОтправкаКанал
31
DB
1. Сервисы
сбора данных
1. Сервисы
сбора данных
Сервис1
1. Сервисы
сбора данных
1. Сервисы
сбора данных
Сервис2
1. Сервисы
сбора данных
1. Сервисы
сбора данных
Сервис3
1. Сервисы
сбора данных
1. Сервисы
сбора данных
...
Шина сообщений
Событие Событие Событие Событие
32
Инструменты для очереди
Утилиты:
1. RabbitMQ
2. NServiceBus
3. ActiveMQ
Облачные инструменты:
1. IronMQ, SQS
2. Windows Azure Queues
33
Пример на
реальном проекте
34
35
36
1. Сервисы
сбора данных
2. Скачивание
HTML
3. Создание
сущностей
4. Анализ
данных
DB
+ Fulltext Search
Sphinx
Веб-приложение
37
1. Сервисы
сбора данных
1. Сервисы
сбора данных
1. Сервисы
сбора данных
1. Сервисы
сбора данных
1. Сервисы
сбора данных
2. Скачивание
HTML
3. Создание
сущностей
4. Анализ
данных
DB
Fulltext Search
Sphinx
Веб-приложение
Шинасообщений(IronMQ)
AWS S3
38
1. Сервисы
сбора данных
1. Сервисы
сбора данных
1. Сервисы
сбора данных
1. Сервисы
сбора данных
1. Сервисы
сбора данных
2. Скачивание
HTML
3. Создание
сущностей
4. Анализ
данных
DB
Веб-приложение
Шинасообщений(IronMQ)
AWS S3
Sphinx
Sphinx
Sphinx
Sphinx
RedisRedisRedis
39
Полезные ссылки
1. Eventually Consistent – Revisited, Werner Vogels
2. If You Have Too Much Data, then 'Good Enough' Is Good
Enough, Pat Helland
3. Ошибки в системах баз данных, согласованность "в
конечном счете" и теорема CAP, Майкл Стоунбрейкер
4. CAP theorem, Wikipedia
5. Reporting Database, Martin Fowler
6. BASE: An Acid Alternative, Dan Pritchett
40
Спасибо за внимание!
Буду рад ответить на ваши
вопросы лично или через:
blog.byndyu.ru
alexanderbyndyu
alexander.byndyu@gmail.com

More Related Content

What's hot

Применение CQRS и EventSourcing в DDD-проекте
Применение CQRS и EventSourcing в DDD-проектеПрименение CQRS и EventSourcing в DDD-проекте
Применение CQRS и EventSourcing в DDD-проектеIgor Lubenets
 
Agile: разработка + тестирование
Agile: разработка + тестированиеAgile: разработка + тестирование
Agile: разработка + тестированиеAlexander Byndyu
 
Микросервисы, чистый PaaS и конкурс Мисс Россия
Микросервисы, чистый PaaS и конкурс Мисс РоссияМикросервисы, чистый PaaS и конкурс Мисс Россия
Микросервисы, чистый PaaS и конкурс Мисс РоссияAlexander Byndyu
 
Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.ScrumTrek
 
Проектирование с учетом пользовательских требований
Проектирование с учетом пользовательских требованийПроектирование с учетом пользовательских требований
Проектирование с учетом пользовательских требованийCEE-SEC(R)
 
Impact Mapping на практике
Impact Mapping на практикеImpact Mapping на практике
Impact Mapping на практикеAlexander Byndyu
 
Антон Бевзюк; Матвей Григорьев. Domain Driven Design: строительные блоки, цем...
Антон Бевзюк; Матвей Григорьев. Domain Driven Design: строительные блоки, цем...Антон Бевзюк; Матвей Григорьев. Domain Driven Design: строительные блоки, цем...
Антон Бевзюк; Матвей Григорьев. Domain Driven Design: строительные блоки, цем...ScrumTrek
 
Максим Гуртовенко - The future is wild | HappyDev'12
Максим Гуртовенко - The future is wild | HappyDev'12Максим Гуртовенко - The future is wild | HappyDev'12
Максим Гуртовенко - The future is wild | HappyDev'12HappyDev
 
щеголев по ту сторону баррикад
щеголев   по ту сторону баррикадщеголев   по ту сторону баррикад
щеголев по ту сторону баррикадMagneta AI
 
Kак продать Scrum команде
Kак продать Scrum команде Kак продать Scrum команде
Kак продать Scrum команде Mykola Mytko
 
Презентация "Scrum с нуля" (2 часть)
Презентация "Scrum с нуля" (2 часть)Презентация "Scrum с нуля" (2 часть)
Презентация "Scrum с нуля" (2 часть)Елена Коптева
 
Software craftsmanship meetup 22. engineering excellence
Software craftsmanship meetup 22. engineering excellenceSoftware craftsmanship meetup 22. engineering excellence
Software craftsmanship meetup 22. engineering excellencePavel Veinik
 
Software craftsmanship 11 online: мотивация и эффектисность разработчика
Software craftsmanship 11 online: мотивация и эффектисность разработчикаSoftware craftsmanship 11 online: мотивация и эффектисность разработчика
Software craftsmanship 11 online: мотивация и эффектисность разработчикаPavel Veinik
 
Михаил Лукьянов, Дмитрий Шайхатаров, Agile среди водопадов. Использование SCR...
Михаил Лукьянов, Дмитрий Шайхатаров, Agile среди водопадов. Использование SCR...Михаил Лукьянов, Дмитрий Шайхатаров, Agile среди водопадов. Использование SCR...
Михаил Лукьянов, Дмитрий Шайхатаров, Agile среди водопадов. Использование SCR...ScrumTrek
 
Kicking Off A Scrum Startup
Kicking Off A Scrum StartupKicking Off A Scrum Startup
Kicking Off A Scrum StartupAgile Base Camp
 

What's hot (19)

Применение CQRS и EventSourcing в DDD-проекте
Применение CQRS и EventSourcing в DDD-проектеПрименение CQRS и EventSourcing в DDD-проекте
Применение CQRS и EventSourcing в DDD-проекте
 
Agile: разработка + тестирование
Agile: разработка + тестированиеAgile: разработка + тестирование
Agile: разработка + тестирование
 
Микросервисы, чистый PaaS и конкурс Мисс Россия
Микросервисы, чистый PaaS и конкурс Мисс РоссияМикросервисы, чистый PaaS и конкурс Мисс Россия
Микросервисы, чистый PaaS и конкурс Мисс Россия
 
Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.
 
Проектирование с учетом пользовательских требований
Проектирование с учетом пользовательских требованийПроектирование с учетом пользовательских требований
Проектирование с учетом пользовательских требований
 
Impact Mapping на практике
Impact Mapping на практикеImpact Mapping на практике
Impact Mapping на практике
 
Deadline management
Deadline managementDeadline management
Deadline management
 
Антон Бевзюк; Матвей Григорьев. Domain Driven Design: строительные блоки, цем...
Антон Бевзюк; Матвей Григорьев. Domain Driven Design: строительные блоки, цем...Антон Бевзюк; Матвей Григорьев. Domain Driven Design: строительные блоки, цем...
Антон Бевзюк; Матвей Григорьев. Domain Driven Design: строительные блоки, цем...
 
презентация.1
презентация.1презентация.1
презентация.1
 
Максим Гуртовенко - The future is wild | HappyDev'12
Максим Гуртовенко - The future is wild | HappyDev'12Максим Гуртовенко - The future is wild | HappyDev'12
Максим Гуртовенко - The future is wild | HappyDev'12
 
Scrum execution
Scrum executionScrum execution
Scrum execution
 
The Top of Agile Iceberg
The Top of Agile IcebergThe Top of Agile Iceberg
The Top of Agile Iceberg
 
щеголев по ту сторону баррикад
щеголев   по ту сторону баррикадщеголев   по ту сторону баррикад
щеголев по ту сторону баррикад
 
Kак продать Scrum команде
Kак продать Scrum команде Kак продать Scrum команде
Kак продать Scrum команде
 
Презентация "Scrum с нуля" (2 часть)
Презентация "Scrum с нуля" (2 часть)Презентация "Scrum с нуля" (2 часть)
Презентация "Scrum с нуля" (2 часть)
 
Software craftsmanship meetup 22. engineering excellence
Software craftsmanship meetup 22. engineering excellenceSoftware craftsmanship meetup 22. engineering excellence
Software craftsmanship meetup 22. engineering excellence
 
Software craftsmanship 11 online: мотивация и эффектисность разработчика
Software craftsmanship 11 online: мотивация и эффектисность разработчикаSoftware craftsmanship 11 online: мотивация и эффектисность разработчика
Software craftsmanship 11 online: мотивация и эффектисность разработчика
 
Михаил Лукьянов, Дмитрий Шайхатаров, Agile среди водопадов. Использование SCR...
Михаил Лукьянов, Дмитрий Шайхатаров, Agile среди водопадов. Использование SCR...Михаил Лукьянов, Дмитрий Шайхатаров, Agile среди водопадов. Использование SCR...
Михаил Лукьянов, Дмитрий Шайхатаров, Agile среди водопадов. Использование SCR...
 
Kicking Off A Scrum Startup
Kicking Off A Scrum StartupKicking Off A Scrum Startup
Kicking Off A Scrum Startup
 

Viewers also liked

Как размножается Sphinx
Как размножается SphinxКак размножается Sphinx
Как размножается SphinxAlexander Byndyu
 
ElasticSearch: Найдется все... и быстро!
ElasticSearch: Найдется все... и быстро!ElasticSearch: Найдется все... и быстро!
ElasticSearch: Найдется все... и быстро!Alexander Byndyu
 
Пять самых важных составляющих процесса выпуска проектов
Пять самых важных составляющих процесса выпуска проектовПять самых важных составляющих процесса выпуска проектов
Пять самых важных составляющих процесса выпуска проектовAlexander Byndyu
 
Customer satisfaction для программистов
Customer satisfaction для программистовCustomer satisfaction для программистов
Customer satisfaction для программистовAlexander Byndyu
 
Impact mapping in practice
Impact mapping in practiceImpact mapping in practice
Impact mapping in practiceAlexander Byndyu
 
Impact Mapping на практике v2
Impact Mapping на практике v2Impact Mapping на практике v2
Impact Mapping на практике v2Alexander Byndyu
 
Пять самых важных составляющих процесса выпуска продуктов
Пять самых важных составляющих процесса выпуска продуктовПять самых важных составляющих процесса выпуска продуктов
Пять самых важных составляющих процесса выпуска продуктовAlexander Byndyu
 
Баг-трекер по-новому: что и почему JetBrains изменил в последней версии YouTrack
Баг-трекер по-новому: что и почему JetBrains изменил в последней версии YouTrackБаг-трекер по-новому: что и почему JetBrains изменил в последней версии YouTrack
Баг-трекер по-новому: что и почему JetBrains изменил в последней версии YouTrackAlexander Byndyu
 
Бизнес-гибкость через микросервисную архитектуру
Бизнес-гибкость через микросервисную архитектуруБизнес-гибкость через микросервисную архитектуру
Бизнес-гибкость через микросервисную архитектуруAlexander Byndyu
 
CUDAfy.NET параллельное программирование на видеокартах NVidia и не только
CUDAfy.NET параллельное программирование на видеокартах NVidia и не только CUDAfy.NET параллельное программирование на видеокартах NVidia и не только
CUDAfy.NET параллельное программирование на видеокартах NVidia и не только Victor Vedeneev
 
Unit тестирование на энтузиазме
Unit тестирование на энтузиазмеUnit тестирование на энтузиазме
Unit тестирование на энтузиазмеKozhevnikovDmitry
 
Micro-services, Упрощаем монолитные приложения
Micro-services, Упрощаем монолитные приложенияMicro-services, Упрощаем монолитные приложения
Micro-services, Упрощаем монолитные приложенияRinat Abdullin
 
Эволюция управления зависимостями в коде
Эволюция управления зависимостями в кодеЭволюция управления зависимостями в коде
Эволюция управления зависимостями в кодеAlexander Byndyu
 
Использование сервера Continuous Integration для разработки мобильных приложений
Использование сервера Continuous Integration для разработки мобильных приложенийИспользование сервера Continuous Integration для разработки мобильных приложений
Использование сервера Continuous Integration для разработки мобильных приложенийAlexander Byndyu
 
Облачный бекенд для мобильной разработки
Облачный бекенд для мобильной разработкиОблачный бекенд для мобильной разработки
Облачный бекенд для мобильной разработкиAlexander Byndyu
 

Viewers also liked (17)

Как размножается Sphinx
Как размножается SphinxКак размножается Sphinx
Как размножается Sphinx
 
ElasticSearch: Найдется все... и быстро!
ElasticSearch: Найдется все... и быстро!ElasticSearch: Найдется все... и быстро!
ElasticSearch: Найдется все... и быстро!
 
Час Кода 2015
Час Кода 2015Час Кода 2015
Час Кода 2015
 
Пять самых важных составляющих процесса выпуска проектов
Пять самых важных составляющих процесса выпуска проектовПять самых важных составляющих процесса выпуска проектов
Пять самых важных составляющих процесса выпуска проектов
 
Customer satisfaction для программистов
Customer satisfaction для программистовCustomer satisfaction для программистов
Customer satisfaction для программистов
 
Impact mapping in practice
Impact mapping in practiceImpact mapping in practice
Impact mapping in practice
 
Impact Mapping на практике v2
Impact Mapping на практике v2Impact Mapping на практике v2
Impact Mapping на практике v2
 
Пять самых важных составляющих процесса выпуска продуктов
Пять самых важных составляющих процесса выпуска продуктовПять самых важных составляющих процесса выпуска продуктов
Пять самых важных составляющих процесса выпуска продуктов
 
Баг-трекер по-новому: что и почему JetBrains изменил в последней версии YouTrack
Баг-трекер по-новому: что и почему JetBrains изменил в последней версии YouTrackБаг-трекер по-новому: что и почему JetBrains изменил в последней версии YouTrack
Баг-трекер по-новому: что и почему JetBrains изменил в последней версии YouTrack
 
Бизнес-гибкость через микросервисную архитектуру
Бизнес-гибкость через микросервисную архитектуруБизнес-гибкость через микросервисную архитектуру
Бизнес-гибкость через микросервисную архитектуру
 
CUDAfy.NET параллельное программирование на видеокартах NVidia и не только
CUDAfy.NET параллельное программирование на видеокартах NVidia и не только CUDAfy.NET параллельное программирование на видеокартах NVidia и не только
CUDAfy.NET параллельное программирование на видеокартах NVidia и не только
 
Unit тестирование на энтузиазме
Unit тестирование на энтузиазмеUnit тестирование на энтузиазме
Unit тестирование на энтузиазме
 
ховатти светлана
ховатти светланаховатти светлана
ховатти светлана
 
Micro-services, Упрощаем монолитные приложения
Micro-services, Упрощаем монолитные приложенияMicro-services, Упрощаем монолитные приложения
Micro-services, Упрощаем монолитные приложения
 
Эволюция управления зависимостями в коде
Эволюция управления зависимостями в кодеЭволюция управления зависимостями в коде
Эволюция управления зависимостями в коде
 
Использование сервера Continuous Integration для разработки мобильных приложений
Использование сервера Continuous Integration для разработки мобильных приложенийИспользование сервера Continuous Integration для разработки мобильных приложений
Использование сервера Continuous Integration для разработки мобильных приложений
 
Облачный бекенд для мобильной разработки
Облачный бекенд для мобильной разработкиОблачный бекенд для мобильной разработки
Облачный бекенд для мобильной разработки
 

Similar to Переход от монолитной архитектуры к распределенной

Гатиятов Руслан, технический директор ООО “Дроид Лабс”: “Система управления п...
Гатиятов Руслан, технический директор ООО “Дроид Лабс”: “Система управления п...Гатиятов Руслан, технический директор ООО “Дроид Лабс”: “Система управления п...
Гатиятов Руслан, технический директор ООО “Дроид Лабс”: “Система управления п...Provectus
 
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только одинHappyDev
 
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)Ontico
 
Микросервисный фронтенд
Микросервисный фронтендМикросервисный фронтенд
Микросервисный фронтендViacheslav Slinko
 
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)Ontico
 
Что такое мобильная платформа HyperHive
Что такое мобильная платформа HyperHiveЧто такое мобильная платформа HyperHive
Что такое мобильная платформа HyperHivePavel Lipanov
 
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)Ontico
 
Javascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только одинJavascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только одинSergey Xek
 
Архитектурные решения при создании облачного сервиса на Asp.Net
Архитектурные решения при создании облачного сервиса на Asp.NetАрхитектурные решения при создании облачного сервиса на Asp.Net
Архитектурные решения при создании облачного сервиса на Asp.NetGoSharp
 
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.Vadim Martynov
 
Микросервисы в .NET Core
Микросервисы в .NET CoreМикросервисы в .NET Core
Микросервисы в .NET CoreAndrew Gubskiy
 
Андрей Завадский "Бессерверная архитектура"
 Андрей Завадский "Бессерверная архитектура" Андрей Завадский "Бессерверная архитектура"
Андрей Завадский "Бессерверная архитектура"Fwdays
 
Что нового в ASP.NET 5
Что нового в ASP.NET 5Что нового в ASP.NET 5
Что нового в ASP.NET 5Microsoft
 
Александр Воинов - Тренды Web
Александр Воинов - Тренды WebАлександр Воинов - Тренды Web
Александр Воинов - Тренды WebDrupalSib
 
Фронтенд в Яндексе
Фронтенд в ЯндексеФронтенд в Яндексе
Фронтенд в ЯндексеYandex
 
Фронтенд в Яндексе
Фронтенд в ЯндексеФронтенд в Яндексе
Фронтенд в ЯндексеYandex
 
Фронтенд в Яндексе
Фронтенд в ЯндексеФронтенд в Яндексе
Фронтенд в ЯндексеYandex
 
Andrii Gryshchenko: "An Overview of CQRS and Event Sourcing"
Andrii Gryshchenko: "An Overview of CQRS and Event Sourcing"Andrii Gryshchenko: "An Overview of CQRS and Event Sourcing"
Andrii Gryshchenko: "An Overview of CQRS and Event Sourcing"LogeekNightUkraine
 
Микросервисная архитектура на базе CoreOS и Kubernetes
Микросервисная архитектура на базе CoreOS и KubernetesМикросервисная архитектура на базе CoreOS и Kubernetes
Микросервисная архитектура на базе CoreOS и KubernetesDenis Izmaylov
 

Similar to Переход от монолитной архитектуры к распределенной (20)

SECON'2014 - Александр Бындю - Переход от монолитной архитектуры к распределе...
SECON'2014 - Александр Бындю - Переход от монолитной архитектуры к распределе...SECON'2014 - Александр Бындю - Переход от монолитной архитектуры к распределе...
SECON'2014 - Александр Бындю - Переход от монолитной архитектуры к распределе...
 
Гатиятов Руслан, технический директор ООО “Дроид Лабс”: “Система управления п...
Гатиятов Руслан, технический директор ООО “Дроид Лабс”: “Система управления п...Гатиятов Руслан, технический директор ООО “Дроид Лабс”: “Система управления п...
Гатиятов Руслан, технический директор ООО “Дроид Лабс”: “Система управления п...
 
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
 
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)
 
Микросервисный фронтенд
Микросервисный фронтендМикросервисный фронтенд
Микросервисный фронтенд
 
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
 
Что такое мобильная платформа HyperHive
Что такое мобильная платформа HyperHiveЧто такое мобильная платформа HyperHive
Что такое мобильная платформа HyperHive
 
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
 
Javascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только одинJavascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только один
 
Архитектурные решения при создании облачного сервиса на Asp.Net
Архитектурные решения при создании облачного сервиса на Asp.NetАрхитектурные решения при создании облачного сервиса на Asp.Net
Архитектурные решения при создании облачного сервиса на Asp.Net
 
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
 
Микросервисы в .NET Core
Микросервисы в .NET CoreМикросервисы в .NET Core
Микросервисы в .NET Core
 
Андрей Завадский "Бессерверная архитектура"
 Андрей Завадский "Бессерверная архитектура" Андрей Завадский "Бессерверная архитектура"
Андрей Завадский "Бессерверная архитектура"
 
Что нового в ASP.NET 5
Что нового в ASP.NET 5Что нового в ASP.NET 5
Что нового в ASP.NET 5
 
Александр Воинов - Тренды Web
Александр Воинов - Тренды WebАлександр Воинов - Тренды Web
Александр Воинов - Тренды Web
 
Фронтенд в Яндексе
Фронтенд в ЯндексеФронтенд в Яндексе
Фронтенд в Яндексе
 
Фронтенд в Яндексе
Фронтенд в ЯндексеФронтенд в Яндексе
Фронтенд в Яндексе
 
Фронтенд в Яндексе
Фронтенд в ЯндексеФронтенд в Яндексе
Фронтенд в Яндексе
 
Andrii Gryshchenko: "An Overview of CQRS and Event Sourcing"
Andrii Gryshchenko: "An Overview of CQRS and Event Sourcing"Andrii Gryshchenko: "An Overview of CQRS and Event Sourcing"
Andrii Gryshchenko: "An Overview of CQRS and Event Sourcing"
 
Микросервисная архитектура на базе CoreOS и Kubernetes
Микросервисная архитектура на базе CoreOS и KubernetesМикросервисная архитектура на базе CoreOS и Kubernetes
Микросервисная архитектура на базе CoreOS и Kubernetes
 

More from Alexander Byndyu

Инфраструктура для совместной предпроктной работы IT-компаний и реального ...
Инфраструктура для совместной предпроктной работы IT-компаний и реального ...Инфраструктура для совместной предпроктной работы IT-компаний и реального ...
Инфраструктура для совместной предпроктной работы IT-компаний и реального ...Alexander Byndyu
 
Применение low-code платформ в энтерпрайзе
Применение low-code платформ в энтерпрайзеПрименение low-code платформ в энтерпрайзе
Применение low-code платформ в энтерпрайзеAlexander Byndyu
 
Антихрупкость в IT или как полюбить изменения
Антихрупкость в IT или как полюбить измененияАнтихрупкость в IT или как полюбить изменения
Антихрупкость в IT или как полюбить измененияAlexander Byndyu
 
Карта гипотез как метод стратегического планирования
Карта гипотез как метод стратегического планированияКарта гипотез как метод стратегического планирования
Карта гипотез как метод стратегического планированияAlexander Byndyu
 
Как перейти от проектного мышления к продуктовому. Опыт из заказной разработки
Как перейти от проектного мышления к продуктовому. Опыт из заказной разработкиКак перейти от проектного мышления к продуктовому. Опыт из заказной разработки
Как перейти от проектного мышления к продуктовому. Опыт из заказной разработкиAlexander Byndyu
 
История о том, как техническое задание подменяет цель проекта
История о том, как техническое задание подменяет цель проектаИстория о том, как техническое задание подменяет цель проекта
История о том, как техническое задание подменяет цель проектаAlexander Byndyu
 
Шпаргалка по IT-миру для предпринимателя
Шпаргалка по IT-миру для предпринимателяШпаргалка по IT-миру для предпринимателя
Шпаргалка по IT-миру для предпринимателяAlexander Byndyu
 
IT-директор на аутсорсе
IT-директор на аутсорсеIT-директор на аутсорсе
IT-директор на аутсорсеAlexander Byndyu
 
Индексы в MSSQL: принципы работы и способы оптимизации
Индексы в MSSQL: принципы работы и способы оптимизацииИндексы в MSSQL: принципы работы и способы оптимизации
Индексы в MSSQL: принципы работы и способы оптимизацииAlexander Byndyu
 
Data mining в реальном проекте
Data mining в реальном проектеData mining в реальном проекте
Data mining в реальном проектеAlexander Byndyu
 
Большие возможности для маленькой компании
Большие возможности для маленькой компанииБольшие возможности для маленькой компании
Большие возможности для маленькой компанииAlexander Byndyu
 

More from Alexander Byndyu (11)

Инфраструктура для совместной предпроктной работы IT-компаний и реального ...
Инфраструктура для совместной предпроктной работы IT-компаний и реального ...Инфраструктура для совместной предпроктной работы IT-компаний и реального ...
Инфраструктура для совместной предпроктной работы IT-компаний и реального ...
 
Применение low-code платформ в энтерпрайзе
Применение low-code платформ в энтерпрайзеПрименение low-code платформ в энтерпрайзе
Применение low-code платформ в энтерпрайзе
 
Антихрупкость в IT или как полюбить изменения
Антихрупкость в IT или как полюбить измененияАнтихрупкость в IT или как полюбить изменения
Антихрупкость в IT или как полюбить изменения
 
Карта гипотез как метод стратегического планирования
Карта гипотез как метод стратегического планированияКарта гипотез как метод стратегического планирования
Карта гипотез как метод стратегического планирования
 
Как перейти от проектного мышления к продуктовому. Опыт из заказной разработки
Как перейти от проектного мышления к продуктовому. Опыт из заказной разработкиКак перейти от проектного мышления к продуктовому. Опыт из заказной разработки
Как перейти от проектного мышления к продуктовому. Опыт из заказной разработки
 
История о том, как техническое задание подменяет цель проекта
История о том, как техническое задание подменяет цель проектаИстория о том, как техническое задание подменяет цель проекта
История о том, как техническое задание подменяет цель проекта
 
Шпаргалка по IT-миру для предпринимателя
Шпаргалка по IT-миру для предпринимателяШпаргалка по IT-миру для предпринимателя
Шпаргалка по IT-миру для предпринимателя
 
IT-директор на аутсорсе
IT-директор на аутсорсеIT-директор на аутсорсе
IT-директор на аутсорсе
 
Индексы в MSSQL: принципы работы и способы оптимизации
Индексы в MSSQL: принципы работы и способы оптимизацииИндексы в MSSQL: принципы работы и способы оптимизации
Индексы в MSSQL: принципы работы и способы оптимизации
 
Data mining в реальном проекте
Data mining в реальном проектеData mining в реальном проекте
Data mining в реальном проекте
 
Большие возможности для маленькой компании
Большие возможности для маленькой компанииБольшие возможности для маленькой компании
Большие возможности для маленькой компании
 

Переход от монолитной архитектуры к распределенной