SlideShare a Scribd company logo
1 of 64
Download to read offline
Ринат Абдуллин
HappyPancake
twitter.com/abdullin
8-я конференция .NET разработчиков
6 апреля 2014
dotnetconf.ru
Micro-services
Упрощаем монолитные приложения
Обо мне
• До 2014 - .NET Tech Lead в lokad.com
• C 2014 - разработчик в HappyPancake
• Блог - abdullin.com / twitter.com/abdullin
• Подкасты
• BeingTheWorst.com
• DistributedPodcast.com
• Happy Friday : RD.HappyPancake.com
• Я еще только учусь
План
• Что такое micro-services?
• Опыт применения в .NET компании
• Опыт применения в !.NET компании
Архитектура в .NET
N-Layered Architecture
А в другой галактике
Micro-services holy wars raged
Fred George
https://twitter.com/fgeorge52
Computer Anarchist
James Lewis
https://twitter.com/boicy
Consultant at ThoughtWorks
Stefan Tilkov
https://twitter.com/stilkov
CEO at InnoQ
Martin Fowler
https://twitter.com/
martinfowler
Programmer at
ThoughtWorks
Micro-Services
Что это такое?
Монолит vs Компоненты
Весь функционал 

в одном процессе
Каждый элемент

в отдельном процессе
Монолит vs Компоненты
Масштабирование
Это уже было!
• Service-Oriented Architecture
• Enterprise Integration Patterns
• SOAP, WS-*, ESB
!
• Или “micro-services с вредными привычками”
Micro-services
• Новое название для старого подхода
• Просто нормальный Service-oriented design
• Без фанатичного использования технологий
Архитектура
это “побочный эффект”
Нас интересует
процесс
Micro-services - это лишь результат
Как разбить монолит?
“Protective bubble”
Разбить
непросто
Методики
• Domain-driven analysis
• Event storming
• Transaction boundaries
• Technological requirements
• Существующие команды
• Существующие продукты
Где узнать больше?
• Fred George: http://vimeo.com/79866979
• James Lewis: http://vimeo.com/74452550
• Martin Fowler: http://martinfowler.com/articles/
microservices.html
• Stefan Tilkov : http://www.infoq.com/presentations/
Breaking-the-Monolith
Опыт в Lokad.com
Lokad.com
• Основана в 2008 в Париже
• BigData аналитика для
торговых сетей
• ~6 разработчиков
• ~5 продуктов
• ~15 git repositories
• .NET & Windows Azure
История одного
приложения
Lokad.HUB
Что такое Lokad HUB
• Регистрация
• Управление аккаунтами
• Статистика
• Авторизация
• Биллинг
• Администрирование
• Платформа + Web UI
• Windows Azure
• API : JSON + HTTP
• ~99% SLA
• ~10 запросов в секунду
• 99% < 18ms
• 200000 events
• Простая как пень
Lokad Hub 2008
ASP.NET + SQL
Проблемы 2008
• SQL + CRUD
• Угадайте, где бизнес логика
• Монолитная архитектура - сложно менять
• Не любит Windows Azure
Решение
• Domain-Driven Design
• CQRS + EventSourcing
• Event-Driven Design
• Lokad.CQRS
Процесс
• Отчаянное прототипирование
• Отчаянное разделение на Bounded Contexts
• Общаются между собой сообщениями
• Каждый BC - строится из кирпичиков
Кирпичики
Lokad.CQRS
Это сработало, но было ошибкой
1. Aggregate with ES
Источник событий
2. Projection
Проецирует события во вьюхи
3. Process
Реализация бизнес-процессов
4. Workflow
Связывание раздельных контекстов
–Из опыта
“Детали реализации каждого компонента -
это только его собачье дело.”
Lokad Hub 2011
Lokad.CQRS + Windows Azure
Lokad Hub 2011
• 5 bounded contexts
• Event Sourcing rules
• Команда обожает Views
• Быстрые итерации
• Работает как локально так и
в Azure
• Про проект написали в
Microsoft P&P CQRS Journey
Проблемы
• Все еще монолит
• Плохая производительность
• Функционал повторяется в
других системах
• Building blocks все
усложняют
• Команда ругается
Решение
• Разбить все на компоненты
• Пусть компоненты общаются по HTTP
• Дизайн каждого компонента - это его дело
• Компоненты должны быть простыми
Lokad Hub 2013
Простой Stack
Только самое нужное
Простой
дизайн
Код == дизайн
Компоненты
просты
Самый сложный компонент
Все остальные - проще
Жизнь компонента
У каждого - свой путь
Плюшки
• Fiddler + wrk + weighttp
• Авто-генерируемая документация
• Полная статистика
• Разработчикам очень просто начать работать
• Апгрейды без отключений
Узнать больше
http://beingtheworst.com
Опыт за
пределами .NET
HappyPancake
HappyPancake.com
• Крупнейшая сеть знакомств в
Швеции
• Каждый 10-й швед в сети
• Норвегия и Финляндия
• Бесплатная, доход за счет
рекламы
• С 2014г - 3 разработчика
HPC 2013
Работает
Проблемы
• ASP.NET + SQL
• Бизнес-логика - сами знаете
где
• Плохо масштабируется
• Сложно разрабатывать
Требования
• Простая архитектура из небольших компонентов
• 99% запросов (без кэша) - быстрее 25ms
• при 25000 запросов в секунду
• в виртуализированной среде
• Linux
• event-sourcing (для аналитики)
HPC 2014
В разработке
Stack
• Ubuntu 12 LTS
• Go
• FoundationDB
• Sublime / Vim
• Docker
• Statsd + Librato Metrics
• Logsd + Logentries
Sublime IDE
или vim/emacs
Design
• Вся логика - в одном сервере
• Несколько экземпляров сервера за load balancer
• Сервер состоит из компонентов
• FoundationDB кластер для хранения
• Event-driven design + CQRS + Domain-driven
design
Хотелки
• Подключение новых компонентов “на лету”
• Feature toggling
• Ghost mode
• Ramp up
HPC 2015
В планах
Планируется
• + NanoMsg
• + ETCD
• + Drone.io
• + Quay.io
Узнать больше
http://rd.happypancake.com
Вопросы?
http://twitter.com/abdullin

More Related Content

What's hot

Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв
Обзор Drupal 8 by Andrei Khalipau, Kostya  Halipov and Егор БогатырёвОбзор Drupal 8 by Andrei Khalipau, Kostya  Halipov and Егор Богатырёв
Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор БогатырёвMinsk PHP User Group
 
Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)
Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)
Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)Ontico
 
Использование Wiki-системы большой командой для управления БА информацией
Использование Wiki-системы большой командой для управления БА информациейИспользование Wiki-системы большой командой для управления БА информацией
Использование Wiki-системы большой командой для управления БА информациейDenis Dniprovskiy
 
От репозитория до CI/CD-инфраструктуры в продакшне за неделю / Дмитрий Чумак ...
От репозитория до CI/CD-инфраструктуры в продакшне за неделю / Дмитрий Чумак ...От репозитория до CI/CD-инфраструктуры в продакшне за неделю / Дмитрий Чумак ...
От репозитория до CI/CD-инфраструктуры в продакшне за неделю / Дмитрий Чумак ...Ontico
 
Андрей Лузин
Андрей ЛузинАндрей Лузин
Андрей ЛузинCodeFest
 
Владимир Русинов, Алексей Капранов "Яндекс.Диск: архитектура, синхронизация и...
Владимир Русинов, Алексей Капранов "Яндекс.Диск: архитектура, синхронизация и...Владимир Русинов, Алексей Капранов "Яндекс.Диск: архитектура, синхронизация и...
Владимир Русинов, Алексей Капранов "Яндекс.Диск: архитектура, синхронизация и...Yandex
 
рентабельный код
рентабельный кодрентабельный код
рентабельный кодMax Arshinov
 
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?CEE-SEC(R)
 
Как за $5 и несколько вечеров сделать интегрированную новостную платформу
Как за $5 и несколько вечеров сделать интегрированную новостную платформуКак за $5 и несколько вечеров сделать интегрированную новостную платформу
Как за $5 и несколько вечеров сделать интегрированную новостную платформуAndrew Gubskiy
 
Кейс SKCG: Викторина INTEL
Кейс SKCG: Викторина INTELКейс SKCG: Викторина INTEL
Кейс SKCG: Викторина INTELSKCG
 
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...Ontico
 
Самодиагностика сервисов на базе платформы .NET
Самодиагностика сервисов на базе платформы .NETСамодиагностика сервисов на базе платформы .NET
Самодиагностика сервисов на базе платформы .NETAndrew Gubskiy
 
Илья Ефимов «IoC/DI на примере Autofac»
Илья Ефимов «IoC/DI на примере Autofac»Илья Ефимов «IoC/DI на примере Autofac»
Илья Ефимов «IoC/DI на примере Autofac»Yulia Tsisyk
 
Дмитрий Евдокимов
Дмитрий ЕвдокимовДмитрий Евдокимов
Дмитрий ЕвдокимовCodeFest
 
Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Highway to Сontinuous Integration, Денис Трифонов (2GIS)Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Highway to Сontinuous Integration, Денис Трифонов (2GIS)Ontico
 

What's hot (18)

Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв
Обзор Drupal 8 by Andrei Khalipau, Kostya  Halipov and Егор БогатырёвОбзор Drupal 8 by Andrei Khalipau, Kostya  Halipov and Егор Богатырёв
Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв
 
Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)
Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)
Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)
 
презентация.1
презентация.1презентация.1
презентация.1
 
Использование Wiki-системы большой командой для управления БА информацией
Использование Wiki-системы большой командой для управления БА информациейИспользование Wiki-системы большой командой для управления БА информацией
Использование Wiki-системы большой командой для управления БА информацией
 
От репозитория до CI/CD-инфраструктуры в продакшне за неделю / Дмитрий Чумак ...
От репозитория до CI/CD-инфраструктуры в продакшне за неделю / Дмитрий Чумак ...От репозитория до CI/CD-инфраструктуры в продакшне за неделю / Дмитрий Чумак ...
От репозитория до CI/CD-инфраструктуры в продакшне за неделю / Дмитрий Чумак ...
 
Андрей Лузин
Андрей ЛузинАндрей Лузин
Андрей Лузин
 
Владимир Русинов, Алексей Капранов "Яндекс.Диск: архитектура, синхронизация и...
Владимир Русинов, Алексей Капранов "Яндекс.Диск: архитектура, синхронизация и...Владимир Русинов, Алексей Капранов "Яндекс.Диск: архитектура, синхронизация и...
Владимир Русинов, Алексей Капранов "Яндекс.Диск: архитектура, синхронизация и...
 
рентабельный код
рентабельный кодрентабельный код
рентабельный код
 
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
 
Как за $5 и несколько вечеров сделать интегрированную новостную платформу
Как за $5 и несколько вечеров сделать интегрированную новостную платформуКак за $5 и несколько вечеров сделать интегрированную новостную платформу
Как за $5 и несколько вечеров сделать интегрированную новостную платформу
 
Кейс SKCG: Викторина INTEL
Кейс SKCG: Викторина INTELКейс SKCG: Викторина INTEL
Кейс SKCG: Викторина INTEL
 
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
 
Coding like a sex
Coding like a sexCoding like a sex
Coding like a sex
 
Самодиагностика сервисов на базе платформы .NET
Самодиагностика сервисов на базе платформы .NETСамодиагностика сервисов на базе платформы .NET
Самодиагностика сервисов на базе платформы .NET
 
Илья Ефимов «IoC/DI на примере Autofac»
Илья Ефимов «IoC/DI на примере Autofac»Илья Ефимов «IoC/DI на примере Autofac»
Илья Ефимов «IoC/DI на примере Autofac»
 
Yacovlev
YacovlevYacovlev
Yacovlev
 
Дмитрий Евдокимов
Дмитрий ЕвдокимовДмитрий Евдокимов
Дмитрий Евдокимов
 
Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Highway to Сontinuous Integration, Денис Трифонов (2GIS)Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Highway to Сontinuous Integration, Денис Трифонов (2GIS)
 

Viewers also liked

CQRS на практике. В поиске точки масштабирования и новых метафор
CQRS на практике. В поиске точки масштабирования и новых метафорCQRS на практике. В поиске точки масштабирования и новых метафор
CQRS на практике. В поиске точки масштабирования и новых метафорAlexander Byndyu
 
Шаблоны интеграции - актуальные инструменты и решения
Шаблоны интеграции - актуальные инструменты и решенияШаблоны интеграции - актуальные инструменты и решения
Шаблоны интеграции - актуальные инструменты и решенияAlexander Byndyu
 
CUDAfy.NET параллельное программирование на видеокартах NVidia и не только
CUDAfy.NET параллельное программирование на видеокартах NVidia и не только CUDAfy.NET параллельное программирование на видеокартах NVidia и не только
CUDAfy.NET параллельное программирование на видеокартах NVidia и не только Victor Vedeneev
 
Unit тестирование на энтузиазме
Unit тестирование на энтузиазмеUnit тестирование на энтузиазме
Unit тестирование на энтузиазмеKozhevnikovDmitry
 
математическое обоснование Solid принципов. Конференция dotnetconf (Челябинск...
математическое обоснование Solid принципов. Конференция dotnetconf (Челябинск...математическое обоснование Solid принципов. Конференция dotnetconf (Челябинск...
математическое обоснование Solid принципов. Конференция dotnetconf (Челябинск...etyumentcev
 
Переход от монолитной архитектуры к распределенной
Переход от монолитной архитектуры к распределеннойПереход от монолитной архитектуры к распределенной
Переход от монолитной архитектуры к распределеннойAlexander Byndyu
 
Как размножается Sphinx
Как размножается SphinxКак размножается Sphinx
Как размножается SphinxAlexander Byndyu
 
ElasticSearch: Найдется все... и быстро!
ElasticSearch: Найдется все... и быстро!ElasticSearch: Найдется все... и быстро!
ElasticSearch: Найдется все... и быстро!Alexander Byndyu
 
Пять самых важных составляющих процесса выпуска продуктов
Пять самых важных составляющих процесса выпуска продуктовПять самых важных составляющих процесса выпуска продуктов
Пять самых важных составляющих процесса выпуска продуктовAlexander Byndyu
 
Баг-трекер по-новому: что и почему JetBrains изменил в последней версии YouTrack
Баг-трекер по-новому: что и почему JetBrains изменил в последней версии YouTrackБаг-трекер по-новому: что и почему JetBrains изменил в последней версии YouTrack
Баг-трекер по-новому: что и почему JetBrains изменил в последней версии YouTrackAlexander Byndyu
 
Tarantool как платформа для микросервисов / Антон Резников, Владимир Перепели...
Tarantool как платформа для микросервисов / Антон Резников, Владимир Перепели...Tarantool как платформа для микросервисов / Антон Резников, Владимир Перепели...
Tarantool как платформа для микросервисов / Антон Резников, Владимир Перепели...Ontico
 
Dennis Anikin - Tarantool Case Studies in Mail.Ru Group
Dennis Anikin - Tarantool Case Studies in Mail.Ru GroupDennis Anikin - Tarantool Case Studies in Mail.Ru Group
Dennis Anikin - Tarantool Case Studies in Mail.Ru GroupMail.ru Group
 
Дмитрий Новиков - Tarantool в Badoo
Дмитрий Новиков - Tarantool в BadooДмитрий Новиков - Tarantool в Badoo
Дмитрий Новиков - Tarantool в BadooMail.ru Group
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitecturePaul Mooney
 
facebook architecture for 600M users
facebook architecture for 600M usersfacebook architecture for 600M users
facebook architecture for 600M usersJongyoon Choi
 
Бизнес-гибкость через микросервисную архитектуру
Бизнес-гибкость через микросервисную архитектуруБизнес-гибкость через микросервисную архитектуру
Бизнес-гибкость через микросервисную архитектуруAlexander Byndyu
 

Viewers also liked (19)

CQRS на практике. В поиске точки масштабирования и новых метафор
CQRS на практике. В поиске точки масштабирования и новых метафорCQRS на практике. В поиске точки масштабирования и новых метафор
CQRS на практике. В поиске точки масштабирования и новых метафор
 
Шаблоны интеграции - актуальные инструменты и решения
Шаблоны интеграции - актуальные инструменты и решенияШаблоны интеграции - актуальные инструменты и решения
Шаблоны интеграции - актуальные инструменты и решения
 
CUDAfy.NET параллельное программирование на видеокартах NVidia и не только
CUDAfy.NET параллельное программирование на видеокартах NVidia и не только CUDAfy.NET параллельное программирование на видеокартах NVidia и не только
CUDAfy.NET параллельное программирование на видеокартах NVidia и не только
 
ховатти светлана
ховатти светланаховатти светлана
ховатти светлана
 
Unit тестирование на энтузиазме
Unit тестирование на энтузиазмеUnit тестирование на энтузиазме
Unit тестирование на энтузиазме
 
Dapper + QueryObject
Dapper + QueryObjectDapper + QueryObject
Dapper + QueryObject
 
математическое обоснование Solid принципов. Конференция dotnetconf (Челябинск...
математическое обоснование Solid принципов. Конференция dotnetconf (Челябинск...математическое обоснование Solid принципов. Конференция dotnetconf (Челябинск...
математическое обоснование Solid принципов. Конференция dotnetconf (Челябинск...
 
Переход от монолитной архитектуры к распределенной
Переход от монолитной архитектуры к распределеннойПереход от монолитной архитектуры к распределенной
Переход от монолитной архитектуры к распределенной
 
Как размножается Sphinx
Как размножается SphinxКак размножается Sphinx
Как размножается Sphinx
 
ElasticSearch: Найдется все... и быстро!
ElasticSearch: Найдется все... и быстро!ElasticSearch: Найдется все... и быстро!
ElasticSearch: Найдется все... и быстро!
 
Пять самых важных составляющих процесса выпуска продуктов
Пять самых важных составляющих процесса выпуска продуктовПять самых важных составляющих процесса выпуска продуктов
Пять самых важных составляющих процесса выпуска продуктов
 
Баг-трекер по-новому: что и почему JetBrains изменил в последней версии YouTrack
Баг-трекер по-новому: что и почему JetBrains изменил в последней версии YouTrackБаг-трекер по-новому: что и почему JetBrains изменил в последней версии YouTrack
Баг-трекер по-новому: что и почему JetBrains изменил в последней версии YouTrack
 
Tarantool как платформа для микросервисов / Антон Резников, Владимир Перепели...
Tarantool как платформа для микросервисов / Антон Резников, Владимир Перепели...Tarantool как платформа для микросервисов / Антон Резников, Владимир Перепели...
Tarantool как платформа для микросервисов / Антон Резников, Владимир Перепели...
 
Dennis Anikin - Tarantool Case Studies in Mail.Ru Group
Dennis Anikin - Tarantool Case Studies in Mail.Ru GroupDennis Anikin - Tarantool Case Studies in Mail.Ru Group
Dennis Anikin - Tarantool Case Studies in Mail.Ru Group
 
Дмитрий Новиков - Tarantool в Badoo
Дмитрий Новиков - Tarantool в BadooДмитрий Новиков - Tarantool в Badoo
Дмитрий Новиков - Tarantool в Badoo
 
"Обзор Tarantool DB"
"Обзор Tarantool DB""Обзор Tarantool DB"
"Обзор Tarantool DB"
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic Architecture
 
facebook architecture for 600M users
facebook architecture for 600M usersfacebook architecture for 600M users
facebook architecture for 600M users
 
Бизнес-гибкость через микросервисную архитектуру
Бизнес-гибкость через микросервисную архитектуруБизнес-гибкость через микросервисную архитектуру
Бизнес-гибкость через микросервисную архитектуру
 

Similar to Micro-services, Упрощаем монолитные приложения

Cеминар в Виннице (22.03.2014)
Cеминар в Виннице (22.03.2014)Cеминар в Виннице (22.03.2014)
Cеминар в Виннице (22.03.2014)Alexander Babich
 
React новая эра фронтенд разработки / Роберт Харитонов (Liberty Global)
React новая эра фронтенд разработки / Роберт Харитонов (Liberty Global)React новая эра фронтенд разработки / Роберт Харитонов (Liberty Global)
React новая эра фронтенд разработки / Роберт Харитонов (Liberty Global)Ontico
 
Микросервисы: первая кровь
Микросервисы: первая кровьМикросервисы: первая кровь
Микросервисы: первая кровьМаксим Сячин
 
Cisco WebEx - от XaaS до on-premise решений.
Cisco WebEx - от XaaS до on-premise решений. Cisco WebEx - от XaaS до on-premise решений.
Cisco WebEx - от XaaS до on-premise решений. Cisco Russia
 
Как перейти с двухзвенной архитектуры Desktop приложения на трехзвенную за од...
Как перейти с двухзвенной архитектуры Desktop приложения на трехзвенную за од...Как перейти с двухзвенной архитектуры Desktop приложения на трехзвенную за од...
Как перейти с двухзвенной архитектуры Desktop приложения на трехзвенную за од...GoSharp
 
Видеозвонки и шаринг экрана в мобильном приложении
Видеозвонки и шаринг экрана в мобильном приложенииВидеозвонки и шаринг экрана в мобильном приложении
Видеозвонки и шаринг экрана в мобильном приложенииVoximplant
 
Test Driven Development in .NET Applications
Test Driven Development in .NET ApplicationsTest Driven Development in .NET Applications
Test Driven Development in .NET ApplicationsAnton Vidishchev
 
JS Lab2017_Алексей Зеленюк_Сбалансированное окружение для вашей продуктивности
JS Lab2017_Алексей Зеленюк_Сбалансированное окружение для вашей продуктивностиJS Lab2017_Алексей Зеленюк_Сбалансированное окружение для вашей продуктивности
JS Lab2017_Алексей Зеленюк_Сбалансированное окружение для вашей продуктивностиGeeksLab Odessa
 
Микросервисы в .NET Core
Микросервисы в .NET CoreМикросервисы в .NET Core
Микросервисы в .NET CoreAndrew Gubskiy
 
Экосистема или зоопарк / Федор Щудло (EastBanc Technologies)
Экосистема или зоопарк / Федор Щудло (EastBanc Technologies)Экосистема или зоопарк / Федор Щудло (EastBanc Technologies)
Экосистема или зоопарк / Федор Щудло (EastBanc Technologies)Ontico
 
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...Stas Vyschepan
 
Test driven development in net
Test driven development in netTest driven development in net
Test driven development in netAlex Tumanoff
 
Как сделать интернет-сайт на SharePoint и не передумать на полпути
Как сделать интернет-сайт на SharePoint и не передумать на полпутиКак сделать интернет-сайт на SharePoint и не передумать на полпути
Как сделать интернет-сайт на SharePoint и не передумать на полпутиAndrew Mayorov
 
Inversion of Control в .NET
Inversion of Control в .NETInversion of Control в .NET
Inversion of Control в .NETDotNetConf
 
Денис Чистяков — JavaScript на фронте и в тылу
Денис Чистяков — JavaScript на фронте и в тылуДенис Чистяков — JavaScript на фронте и в тылу
Денис Чистяков — JavaScript на фронте и в тылуYandex
 
CodeFest 2014. Шкредов С. — Управление зависимостями в архитектуре. Переход о...
CodeFest 2014. Шкредов С. — Управление зависимостями в архитектуре. Переход о...CodeFest 2014. Шкредов С. — Управление зависимостями в архитектуре. Переход о...
CodeFest 2014. Шкредов С. — Управление зависимостями в архитектуре. Переход о...CodeFest
 
Python & Web: От простого к сложному
Python & Web: От простого к сложномуPython & Web: От простого к сложному
Python & Web: От простого к сложномуIlya Bolkhovsky
 
Tech Talks @NSU: Проходим тест Джоэла
Tech Talks @NSU: Проходим тест ДжоэлаTech Talks @NSU: Проходим тест Джоэла
Tech Talks @NSU: Проходим тест ДжоэлаTech Talks @NSU
 
Эволюция управления зависимостями в коде
Эволюция управления зависимостями в кодеЭволюция управления зависимостями в коде
Эволюция управления зависимостями в кодеAlexander Byndyu
 
Devconf 2011 - PHP - Как разрабатывается фреймворк Yii
Devconf 2011 - PHP - Как разрабатывается фреймворк YiiDevconf 2011 - PHP - Как разрабатывается фреймворк Yii
Devconf 2011 - PHP - Как разрабатывается фреймворк YiiAlexander Makarov
 

Similar to Micro-services, Упрощаем монолитные приложения (20)

Cеминар в Виннице (22.03.2014)
Cеминар в Виннице (22.03.2014)Cеминар в Виннице (22.03.2014)
Cеминар в Виннице (22.03.2014)
 
React новая эра фронтенд разработки / Роберт Харитонов (Liberty Global)
React новая эра фронтенд разработки / Роберт Харитонов (Liberty Global)React новая эра фронтенд разработки / Роберт Харитонов (Liberty Global)
React новая эра фронтенд разработки / Роберт Харитонов (Liberty Global)
 
Микросервисы: первая кровь
Микросервисы: первая кровьМикросервисы: первая кровь
Микросервисы: первая кровь
 
Cisco WebEx - от XaaS до on-premise решений.
Cisco WebEx - от XaaS до on-premise решений. Cisco WebEx - от XaaS до on-premise решений.
Cisco WebEx - от XaaS до on-premise решений.
 
Как перейти с двухзвенной архитектуры Desktop приложения на трехзвенную за од...
Как перейти с двухзвенной архитектуры Desktop приложения на трехзвенную за од...Как перейти с двухзвенной архитектуры Desktop приложения на трехзвенную за од...
Как перейти с двухзвенной архитектуры Desktop приложения на трехзвенную за од...
 
Видеозвонки и шаринг экрана в мобильном приложении
Видеозвонки и шаринг экрана в мобильном приложенииВидеозвонки и шаринг экрана в мобильном приложении
Видеозвонки и шаринг экрана в мобильном приложении
 
Test Driven Development in .NET Applications
Test Driven Development in .NET ApplicationsTest Driven Development in .NET Applications
Test Driven Development in .NET Applications
 
JS Lab2017_Алексей Зеленюк_Сбалансированное окружение для вашей продуктивности
JS Lab2017_Алексей Зеленюк_Сбалансированное окружение для вашей продуктивностиJS Lab2017_Алексей Зеленюк_Сбалансированное окружение для вашей продуктивности
JS Lab2017_Алексей Зеленюк_Сбалансированное окружение для вашей продуктивности
 
Микросервисы в .NET Core
Микросервисы в .NET CoreМикросервисы в .NET Core
Микросервисы в .NET Core
 
Экосистема или зоопарк / Федор Щудло (EastBanc Technologies)
Экосистема или зоопарк / Федор Щудло (EastBanc Technologies)Экосистема или зоопарк / Федор Щудло (EastBanc Technologies)
Экосистема или зоопарк / Федор Щудло (EastBanc Technologies)
 
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...
 
Test driven development in net
Test driven development in netTest driven development in net
Test driven development in net
 
Как сделать интернет-сайт на SharePoint и не передумать на полпути
Как сделать интернет-сайт на SharePoint и не передумать на полпутиКак сделать интернет-сайт на SharePoint и не передумать на полпути
Как сделать интернет-сайт на SharePoint и не передумать на полпути
 
Inversion of Control в .NET
Inversion of Control в .NETInversion of Control в .NET
Inversion of Control в .NET
 
Денис Чистяков — JavaScript на фронте и в тылу
Денис Чистяков — JavaScript на фронте и в тылуДенис Чистяков — JavaScript на фронте и в тылу
Денис Чистяков — JavaScript на фронте и в тылу
 
CodeFest 2014. Шкредов С. — Управление зависимостями в архитектуре. Переход о...
CodeFest 2014. Шкредов С. — Управление зависимостями в архитектуре. Переход о...CodeFest 2014. Шкредов С. — Управление зависимостями в архитектуре. Переход о...
CodeFest 2014. Шкредов С. — Управление зависимостями в архитектуре. Переход о...
 
Python & Web: От простого к сложному
Python & Web: От простого к сложномуPython & Web: От простого к сложному
Python & Web: От простого к сложному
 
Tech Talks @NSU: Проходим тест Джоэла
Tech Talks @NSU: Проходим тест ДжоэлаTech Talks @NSU: Проходим тест Джоэла
Tech Talks @NSU: Проходим тест Джоэла
 
Эволюция управления зависимостями в коде
Эволюция управления зависимостями в кодеЭволюция управления зависимостями в коде
Эволюция управления зависимостями в коде
 
Devconf 2011 - PHP - Как разрабатывается фреймворк Yii
Devconf 2011 - PHP - Как разрабатывается фреймворк YiiDevconf 2011 - PHP - Как разрабатывается фреймворк Yii
Devconf 2011 - PHP - Как разрабатывается фреймворк Yii
 

Micro-services, Упрощаем монолитные приложения