SlideShare a Scribd company logo
● Вы слышали про идею микросервисов
● Вы знаете какой профит это принесёт
● Вы провели совещание на эту тему
● . . .
● . . .
● и что теперь делать?..
Краткое содержание предыдущих серий
микросервис
Больше сути
● Декомпозиция приложения на сервисы
● Интеграция UI с сервисами
● Интеграция сервисов между собой
Сегодня в программе
Декомпозиция приложения
Проблема
Приложение-пример
FooSource
BarSource
Extract FooDestination
BarDestination
Transform
Load
{Pipeline}
Awesome-ETL
Практика монолитного приложения
UserPipeline
Foo
Access Source
Destination
Bar
Access Source
Destination
History Payment
Сущность
Бизнес-функция
Bounded Context
Billing Service
Identity Service
Foo to Bar Service
UserPayment
Foo Access Source Pipeline
History User
Bar Access Destination
UserAuthentication Log
Bar to Foo Service
Bar Access Source Pipeline
History User
Foo Access Destination
Billing Service
Identity Service
Foo to Bar Service
UserPayment
Foo Access Source Pipeline
History User
Bar Access Destination
UserAuthentication Log
Bar to Foo Service
Bar Access Source Pipeline
History User
Foo Access Destination
Billing Service
Identity Service
Foo to Bar Service
UserPayment
Foo Access Source Pipeline
History User
Bar Access Destination
UserAuthentication Log
Bar to Foo Service
Bar Access Source Pipeline
History User
Foo Access Destination
Billing Service
Identity Service
Foo to Bar Service
UserPayment
Foo Access Source Pipeline
History User
Bar Access Destination
UserAuthentication Log
Bar to Foo Service
Bar Access Source Pipeline
History User
Foo Access Destination
Billing Service
Identity Service
Foo to Bar Service
UserPayment
Foo Access Source Pipeline
History User
Bar Access Destination
UserAuthentication Log
Bar to Foo Service
Bar Access Source Pipeline
History User
Foo Access Destination
Интеграция UI с сервисами
UI
Foo to Bar
Service
Bar to Foo
Service
Billing
Service
Identity
Service
Порядок взаимодействия
● Request headers
o Origin
o Access-Control-Request-Method
o Access-Control-Request-Headers
● Response headers
o Access-Control-Allow-Origin
o Access-Control-Allow-Credentials
o Access-Control-Expose-Headers
o Access-Control-Max-Age
o Access-Control-Allow-Methods
o Access-Control-Allow-Headers
CORS (Cross-origin resource sharing)
server {
server_name awesome-etl.com;
location /services/foo-to-bar/ {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass https://awesome-etl-foo-to-bar.appspot.com/;
}
location /services/bar-to-foo/ {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass https://awesome-etl-bar-to-foo.appspot.com/;
}
location /services/billing/ {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass https://awesome-etl-billing.heroku.com/;
}
location /services/identity/ {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass https://awesome-etl-identity.heroku.com/;
}
}
server {
server_name awesome-etl.com;
location /services/foo-to-bar/ {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass https://awesome-etl-foo-to-bar.appspot.com/;
}
location /services/bar-to-foo/ {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass https://awesome-etl-bar-to-foo.appspot.com/;
}
location /services/billing/ {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass https://awesome-etl-billing.heroku.com/;
}
location /services/identity/ {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass https://awesome-etl-identity.heroku.com/;
}
}
Сервисы без состояния + аутентификация
Credential
s
UI
Identity
Service
JSON Web Token
Service
Authorization: Bearer
{identity token}
Cущности на пересечении сервисов
UI
id=1
id=2
id=3
Foo
Bar
Baz
Связь Identity и Entity токена
{
iat: 1437133223
exp: 1437738023
sub: de305d54-75b4-431b-adb2-eb6b9e546014
iss: identity
aud: da23614e02469a0d7c7bd1bdab5c9c474b1904dc
}
{
iat: 1437134451
exp: 1437138051
iss: foo
aud: de305d54-75b4-431b-adb2-eb6b9e546014
sub: 123e4567-e89b-12d3-a456-426655440000
permissions: [edit, delete]
}
jwt.io
JSON Web Tokens libraries and debugger
Интеграция сервисов
● shared database
● REST / RPC
● asynchronous messaging
Возможные способы
● подкупает своей простотой
● нарушает инкапсуляцию сервисов
● не всегда плохо
Shared database
● очевидный и логичный
● связывает пару сервисов
● не является fault tolerance
REST / RPC
● сохраняет слабую связанность сервисов
● снимает ограничение по доступности сервисов
● усложняет всё решение в целом
Asynchronous messaging
Шина сообщений
UI
Foo to Bar
Service
Bar to Foo
Service
Billing
Service
Identity
Service
MessageBus
● Сообщение
● Канал
● Производитель сообщений
● Потребитель сообщений
Сущности шины сообщений
● передаёт однородные сообщения
● именуем в scope.under_score стиле
Канал
{
version: ...
body: {
...
}
}
Сообщение
● body – содержимое сообщения
● version – версия структуры body
● можно использовать JSON Schema для валидации body
● свойства именуем в under_score стиле
● Команда – необходимо сделать
Пример канала: billing.register_usage_command
● Событие – уже произошло
Позволяют синхронизировать сущности между сервисами.
Пример канала: billing.overdue_payment_event
● Запрос – необходимо получить
Пример канала: some_component.whatever_query
● Ответ – получено при запросе
Пример канала: some_component.whatever_response
Типы сообщений
Производитель сообщений
Transaction
DB
Entity Message MessageBus
Push режим
Сервис получает сообщение сразу после его размещения.
Быстрая реакция на сообщение.
Pull режим
Cервис потребляет сообщение когда считает нужным.
Управление интенсивностью потребления.
Мы используем гибрид: push режим, но складываем во внутреннею
очередь из который получаем сообщения в pull режиме.
Потребитель сообщений
Примеры идемпотентных операций:
● сложение с нулём:
● умножение на единицу:
Идемпоте́нтность
Термин, означающий свойство математического объекта,
которое проявляется в том, что повторное действие над
объектом не изменяет его.
● идемпотентные потребители
● потребление с подтверждением
Best practice потребления сообщений
● RabbitMQ
● Apache Kafka
● . . .
● iron.io
● Amazon SQS
● Google Pub/Sub
● . . .
Реализации MessageBus
Eventual consistency
● данные между сервисами консистенты с задержкой
● в UI приходиться принимать локальные решения
Компромисы Eventual consistency
Ресурсы к изучению
Domain-Driven Design
Enterprise Integration Patterns
Building Microservices
Exploring CQRS and Event Sourcing
Microservices Resource Guide
http://martinfowler.com/microservices/
Немного философии
Буду благодарен за обратную связь!
maxvoloshin.com
maxvoloshin.com@gmail.com

More Related Content

Viewers also liked

Александр Пронин «Как вырастить мобильного разработчика за 21 день?!»
Александр Пронин «Как вырастить мобильного разработчика за 21 день?!»Александр Пронин «Как вырастить мобильного разработчика за 21 день?!»
Александр Пронин «Как вырастить мобильного разработчика за 21 день?!»
DataArt
 
Артем Оробец «На пути к low-latency»
Артем Оробец «На пути к low-latency»Артем Оробец «На пути к low-latency»
Артем Оробец «На пути к low-latency»
DataArt
 
Дмитрий Иванов «Мое первое приложение в облаках или почему стоит использовать...
Дмитрий Иванов «Мое первое приложение в облаках или почему стоит использовать...Дмитрий Иванов «Мое первое приложение в облаках или почему стоит использовать...
Дмитрий Иванов «Мое первое приложение в облаках или почему стоит использовать...
DataArt
 
Виктор Сергиенко «Асинхронный IO-boundPython: миф или реальность?»
Виктор Сергиенко «Асинхронный IO-boundPython: миф или реальность?»Виктор Сергиенко «Асинхронный IO-boundPython: миф или реальность?»
Виктор Сергиенко «Асинхронный IO-boundPython: миф или реальность?»
DataArt
 
Антон Валюх - Использование паттерна Mvvm в android
Антон Валюх - Использование паттерна Mvvm в androidАнтон Валюх - Использование паттерна Mvvm в android
Антон Валюх - Использование паттерна Mvvm в android
DataArt
 
The Rental Policies You Need to Know About
The Rental Policies You Need to Know AboutThe Rental Policies You Need to Know About
The Rental Policies You Need to Know About
UrbanBound
 
CapstonereportA4_11564841_ITC571
CapstonereportA4_11564841_ITC571CapstonereportA4_11564841_ITC571
CapstonereportA4_11564841_ITC571
abhinay reddy
 
«Как разработать надежное решение».Владимир Мельник, Ruby Developer, DataArt
«Как разработать надежное решение».Владимир Мельник, Ruby Developer, DataArt«Как разработать надежное решение».Владимир Мельник, Ruby Developer, DataArt
«Как разработать надежное решение».Владимир Мельник, Ruby Developer, DataArt
DataArt
 
"В поисках эффективности: Slack и BitBucket", Юлия Писаревская, GoodSellUs
"В поисках эффективности: Slack и BitBucket", Юлия Писаревская, GoodSellUs"В поисках эффективности: Slack и BitBucket", Юлия Писаревская, GoodSellUs
"В поисках эффективности: Slack и BitBucket", Юлия Писаревская, GoodSellUs
DataArt
 
Майстер-клас "Автоматизоване тестування. З чого почати?" (частина 1)
Майстер-клас "Автоматизоване тестування. З чого почати?" (частина 1)Майстер-клас "Автоматизоване тестування. З чого почати?" (частина 1)
Майстер-клас "Автоматизоване тестування. З чого почати?" (частина 1)DataArt
 
180 blue dining room training
180 blue dining room training180 blue dining room training
180 blue dining room training
Bill Buffalo
 
“Разговоры на разных диалектах”, Артем Захарченко, DevPro
“Разговоры на разных диалектах”, Артем Захарченко, DevPro“Разговоры на разных диалектах”, Артем Захарченко, DevPro
“Разговоры на разных диалектах”, Артем Захарченко, DevPro
DataArt
 
Роман Еникеев - PHP или откуда взялся слон
Роман Еникеев - PHP или откуда взялся слонРоман Еникеев - PHP или откуда взялся слон
Роман Еникеев - PHP или откуда взялся слонDataArt
 
Pertumbuhan dan Perkembangan Manusia
Pertumbuhan dan Perkembangan ManusiaPertumbuhan dan Perkembangan Manusia
Pertumbuhan dan Perkembangan Manusia
azyaNS
 
World renown directors
World renown directorsWorld renown directors
World renown directors
Abbey Cotterill
 
Pen pc
Pen pcPen pc
Jornal HOJE! - Edição 840
Jornal HOJE! - Edição 840Jornal HOJE! - Edição 840
Jornal HOJE! - Edição 840
Jornal HOJE!
 
Languor
Languor Languor
Languor
DataArt
 
Артем Маркушев - JavaScript
Артем Маркушев - JavaScriptАртем Маркушев - JavaScript
Артем Маркушев - JavaScript
DataArt
 
TAB records
TAB recordsTAB records
TAB records
Abbey Cotterill
 

Viewers also liked (20)

Александр Пронин «Как вырастить мобильного разработчика за 21 день?!»
Александр Пронин «Как вырастить мобильного разработчика за 21 день?!»Александр Пронин «Как вырастить мобильного разработчика за 21 день?!»
Александр Пронин «Как вырастить мобильного разработчика за 21 день?!»
 
Артем Оробец «На пути к low-latency»
Артем Оробец «На пути к low-latency»Артем Оробец «На пути к low-latency»
Артем Оробец «На пути к low-latency»
 
Дмитрий Иванов «Мое первое приложение в облаках или почему стоит использовать...
Дмитрий Иванов «Мое первое приложение в облаках или почему стоит использовать...Дмитрий Иванов «Мое первое приложение в облаках или почему стоит использовать...
Дмитрий Иванов «Мое первое приложение в облаках или почему стоит использовать...
 
Виктор Сергиенко «Асинхронный IO-boundPython: миф или реальность?»
Виктор Сергиенко «Асинхронный IO-boundPython: миф или реальность?»Виктор Сергиенко «Асинхронный IO-boundPython: миф или реальность?»
Виктор Сергиенко «Асинхронный IO-boundPython: миф или реальность?»
 
Антон Валюх - Использование паттерна Mvvm в android
Антон Валюх - Использование паттерна Mvvm в androidАнтон Валюх - Использование паттерна Mvvm в android
Антон Валюх - Использование паттерна Mvvm в android
 
The Rental Policies You Need to Know About
The Rental Policies You Need to Know AboutThe Rental Policies You Need to Know About
The Rental Policies You Need to Know About
 
CapstonereportA4_11564841_ITC571
CapstonereportA4_11564841_ITC571CapstonereportA4_11564841_ITC571
CapstonereportA4_11564841_ITC571
 
«Как разработать надежное решение».Владимир Мельник, Ruby Developer, DataArt
«Как разработать надежное решение».Владимир Мельник, Ruby Developer, DataArt«Как разработать надежное решение».Владимир Мельник, Ruby Developer, DataArt
«Как разработать надежное решение».Владимир Мельник, Ruby Developer, DataArt
 
"В поисках эффективности: Slack и BitBucket", Юлия Писаревская, GoodSellUs
"В поисках эффективности: Slack и BitBucket", Юлия Писаревская, GoodSellUs"В поисках эффективности: Slack и BitBucket", Юлия Писаревская, GoodSellUs
"В поисках эффективности: Slack и BitBucket", Юлия Писаревская, GoodSellUs
 
Майстер-клас "Автоматизоване тестування. З чого почати?" (частина 1)
Майстер-клас "Автоматизоване тестування. З чого почати?" (частина 1)Майстер-клас "Автоматизоване тестування. З чого почати?" (частина 1)
Майстер-клас "Автоматизоване тестування. З чого почати?" (частина 1)
 
180 blue dining room training
180 blue dining room training180 blue dining room training
180 blue dining room training
 
“Разговоры на разных диалектах”, Артем Захарченко, DevPro
“Разговоры на разных диалектах”, Артем Захарченко, DevPro“Разговоры на разных диалектах”, Артем Захарченко, DevPro
“Разговоры на разных диалектах”, Артем Захарченко, DevPro
 
Роман Еникеев - PHP или откуда взялся слон
Роман Еникеев - PHP или откуда взялся слонРоман Еникеев - PHP или откуда взялся слон
Роман Еникеев - PHP или откуда взялся слон
 
Pertumbuhan dan Perkembangan Manusia
Pertumbuhan dan Perkembangan ManusiaPertumbuhan dan Perkembangan Manusia
Pertumbuhan dan Perkembangan Manusia
 
World renown directors
World renown directorsWorld renown directors
World renown directors
 
Pen pc
Pen pcPen pc
Pen pc
 
Jornal HOJE! - Edição 840
Jornal HOJE! - Edição 840Jornal HOJE! - Edição 840
Jornal HOJE! - Edição 840
 
Languor
Languor Languor
Languor
 
Артем Маркушев - JavaScript
Артем Маркушев - JavaScriptАртем Маркушев - JavaScript
Артем Маркушев - JavaScript
 
TAB records
TAB recordsTAB records
TAB records
 

Similar to Макс Волошин «Микросервисы на практике»

Что вас ждет на пути реализации Soa (Битрикс отступает)
Что вас ждет на пути реализации Soa (Битрикс отступает)Что вас ждет на пути реализации Soa (Битрикс отступает)
Что вас ждет на пути реализации Soa (Битрикс отступает)
Василий Савунов
 
Видеозвонки и шаринг экрана в мобильном приложении
Видеозвонки и шаринг экрана в мобильном приложенииВидеозвонки и шаринг экрана в мобильном приложении
Видеозвонки и шаринг экрана в мобильном приложении
Voximplant
 
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
Ontico
 
Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?
Vadim Madison
 
Мониторинг качества доставки сервисов в корпоративной сети
Мониторинг качества доставки сервисов в корпоративной сетиМониторинг качества доставки сервисов в корпоративной сети
Мониторинг качества доставки сервисов в корпоративной сети
СвязьКомплект
 
Новые перспективы Cisco ASR 9000 в роли BNG
Новые перспективы Cisco ASR 9000 в роли BNGНовые перспективы Cisco ASR 9000 в роли BNG
Новые перспективы Cisco ASR 9000 в роли BNG
Cisco Russia
 
Тимур Каримбаев (Ютинет.ру)
Тимур Каримбаев (Ютинет.ру)Тимур Каримбаев (Ютинет.ру)
Тимур Каримбаев (Ютинет.ру)Ontico
 
Архитектура и дизайн распределенной корпоративной сети высокой доступности.
 Архитектура и дизайн распределенной корпоративной сети высокой доступности. Архитектура и дизайн распределенной корпоративной сети высокой доступности.
Архитектура и дизайн распределенной корпоративной сети высокой доступности.Cisco Russia
 
Принципы и подходы Cisco для автоматизации в сетях операторов связи
Принципы и подходы Cisco для автоматизации в сетях операторов связиПринципы и подходы Cisco для автоматизации в сетях операторов связи
Принципы и подходы Cisco для автоматизации в сетях операторов связи
Cisco Russia
 
Автоматизация: технологии и средства
Автоматизация: технологии и средстваАвтоматизация: технологии и средства
Автоматизация: технологии и средства
Cisco Russia
 
Юлия Цисык «RESTFul API в вашем.NET приложении: как, зачем и почему?»
Юлия Цисык «RESTFul API в вашем.NET приложении: как, зачем и почему?»Юлия Цисык «RESTFul API в вашем.NET приложении: как, зачем и почему?»
Юлия Цисык «RESTFul API в вашем.NET приложении: как, зачем и почему?»
Yulia Tsisyk
 
Как мы разрабатываем новый фронтенд / Филипп Нехаев (Tinkoff.ru)
Как мы разрабатываем новый фронтенд / Филипп Нехаев (Tinkoff.ru)Как мы разрабатываем новый фронтенд / Филипп Нехаев (Tinkoff.ru)
Как мы разрабатываем новый фронтенд / Филипп Нехаев (Tinkoff.ru)
Ontico
 
2015-12-06 Евгений Тюменцев - Разработка надежных параллельных, распределенны...
2015-12-06 Евгений Тюменцев - Разработка надежных параллельных, распределенны...2015-12-06 Евгений Тюменцев - Разработка надежных параллельных, распределенны...
2015-12-06 Евгений Тюменцев - Разработка надежных параллельных, распределенны...
HappyDev
 
DEV Labs 2016. Микросервисы - первая кровь
DEV Labs 2016. Микросервисы - первая кровьDEV Labs 2016. Микросервисы - первая кровь
DEV Labs 2016. Микросервисы - первая кровь
Sasha Soleev
 
Внедрение Cisco Jabber внутри предприятия
Внедрение Cisco Jabber внутри предприятияВнедрение Cisco Jabber внутри предприятия
Внедрение Cisco Jabber внутри предприятия
Cisco Russia
 
Андрей Завадский "Бессерверная архитектура"
 Андрей Завадский "Бессерверная архитектура" Андрей Завадский "Бессерверная архитектура"
Андрей Завадский "Бессерверная архитектура"
Fwdays
 
8 создание приложений по технологии windows communications foundation
8 создание приложений по технологии windows communications foundation8 создание приложений по технологии windows communications foundation
8 создание приложений по технологии windows communications foundation
KewpaN
 
Асинхронный биллинг для службы такси - IzhDevCom November 2014
Асинхронный биллинг для службы такси - IzhDevCom November 2014Асинхронный биллинг для службы такси - IzhDevCom November 2014
Асинхронный биллинг для службы такси - IzhDevCom November 2014
Egor Konovalov
 
Разработка надежных параллельных, распределенных приложений: быстро и дешево
Разработка надежных параллельных, распределенных приложений: быстро и дешевоРазработка надежных параллельных, распределенных приложений: быстро и дешево
Разработка надежных параллельных, распределенных приложений: быстро и дешево
DotNetConf
 
Решения Brocade для построения IP сетей будущего
Решения Brocade для построения IP сетей будущегоРешения Brocade для построения IP сетей будущего
Решения Brocade для построения IP сетей будущего
ARCCN
 

Similar to Макс Волошин «Микросервисы на практике» (20)

Что вас ждет на пути реализации Soa (Битрикс отступает)
Что вас ждет на пути реализации Soa (Битрикс отступает)Что вас ждет на пути реализации Soa (Битрикс отступает)
Что вас ждет на пути реализации Soa (Битрикс отступает)
 
Видеозвонки и шаринг экрана в мобильном приложении
Видеозвонки и шаринг экрана в мобильном приложенииВидеозвонки и шаринг экрана в мобильном приложении
Видеозвонки и шаринг экрана в мобильном приложении
 
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
 
Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?
 
Мониторинг качества доставки сервисов в корпоративной сети
Мониторинг качества доставки сервисов в корпоративной сетиМониторинг качества доставки сервисов в корпоративной сети
Мониторинг качества доставки сервисов в корпоративной сети
 
Новые перспективы Cisco ASR 9000 в роли BNG
Новые перспективы Cisco ASR 9000 в роли BNGНовые перспективы Cisco ASR 9000 в роли BNG
Новые перспективы Cisco ASR 9000 в роли BNG
 
Тимур Каримбаев (Ютинет.ру)
Тимур Каримбаев (Ютинет.ру)Тимур Каримбаев (Ютинет.ру)
Тимур Каримбаев (Ютинет.ру)
 
Архитектура и дизайн распределенной корпоративной сети высокой доступности.
 Архитектура и дизайн распределенной корпоративной сети высокой доступности. Архитектура и дизайн распределенной корпоративной сети высокой доступности.
Архитектура и дизайн распределенной корпоративной сети высокой доступности.
 
Принципы и подходы Cisco для автоматизации в сетях операторов связи
Принципы и подходы Cisco для автоматизации в сетях операторов связиПринципы и подходы Cisco для автоматизации в сетях операторов связи
Принципы и подходы Cisco для автоматизации в сетях операторов связи
 
Автоматизация: технологии и средства
Автоматизация: технологии и средстваАвтоматизация: технологии и средства
Автоматизация: технологии и средства
 
Юлия Цисык «RESTFul API в вашем.NET приложении: как, зачем и почему?»
Юлия Цисык «RESTFul API в вашем.NET приложении: как, зачем и почему?»Юлия Цисык «RESTFul API в вашем.NET приложении: как, зачем и почему?»
Юлия Цисык «RESTFul API в вашем.NET приложении: как, зачем и почему?»
 
Как мы разрабатываем новый фронтенд / Филипп Нехаев (Tinkoff.ru)
Как мы разрабатываем новый фронтенд / Филипп Нехаев (Tinkoff.ru)Как мы разрабатываем новый фронтенд / Филипп Нехаев (Tinkoff.ru)
Как мы разрабатываем новый фронтенд / Филипп Нехаев (Tinkoff.ru)
 
2015-12-06 Евгений Тюменцев - Разработка надежных параллельных, распределенны...
2015-12-06 Евгений Тюменцев - Разработка надежных параллельных, распределенны...2015-12-06 Евгений Тюменцев - Разработка надежных параллельных, распределенны...
2015-12-06 Евгений Тюменцев - Разработка надежных параллельных, распределенны...
 
DEV Labs 2016. Микросервисы - первая кровь
DEV Labs 2016. Микросервисы - первая кровьDEV Labs 2016. Микросервисы - первая кровь
DEV Labs 2016. Микросервисы - первая кровь
 
Внедрение Cisco Jabber внутри предприятия
Внедрение Cisco Jabber внутри предприятияВнедрение Cisco Jabber внутри предприятия
Внедрение Cisco Jabber внутри предприятия
 
Андрей Завадский "Бессерверная архитектура"
 Андрей Завадский "Бессерверная архитектура" Андрей Завадский "Бессерверная архитектура"
Андрей Завадский "Бессерверная архитектура"
 
8 создание приложений по технологии windows communications foundation
8 создание приложений по технологии windows communications foundation8 создание приложений по технологии windows communications foundation
8 создание приложений по технологии windows communications foundation
 
Асинхронный биллинг для службы такси - IzhDevCom November 2014
Асинхронный биллинг для службы такси - IzhDevCom November 2014Асинхронный биллинг для службы такси - IzhDevCom November 2014
Асинхронный биллинг для службы такси - IzhDevCom November 2014
 
Разработка надежных параллельных, распределенных приложений: быстро и дешево
Разработка надежных параллельных, распределенных приложений: быстро и дешевоРазработка надежных параллельных, распределенных приложений: быстро и дешево
Разработка надежных параллельных, распределенных приложений: быстро и дешево
 
Решения Brocade для построения IP сетей будущего
Решения Brocade для построения IP сетей будущегоРешения Brocade для построения IP сетей будущего
Решения Brocade для построения IP сетей будущего
 

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
 

Макс Волошин «Микросервисы на практике»