SlideShare a Scribd company logo
1 of 59
Download to read offline
Основные принципы
микросервисов
и их реализации
Микросервисы
Что это такое?
Как это оценить?
Зачем это нужно?
Как это делать?
1
2
3
4
1Что такое микросервисы?
Определение микросервисов
Набор независимых, но связанных между собой сервисов
Построены вокруг бизнес-потребностей
Развертываются независимо
Имеют минимум централизованного управления
1
2
3
4
X axis – horizontal duplication
Scale by cloning
Y axis –
functional
decomposition
Scale by splitting
different things
Z
axis–
datapartitioning
Scale
bysplitting
sim
ilarthings
X axis – horizontal duplication
Scale by cloning
Y axis –
functional
decomposition
Scale by splitting
different things
Z
axis–
datapartitioning
Scale
bysplitting
sim
ilarthings
X axis – horizontal duplication
Scale by cloning
Y axis –
functional
decomposition
Scale by splitting
different things
Z
axis–
datapartitioning
Scale
bysplitting
sim
ilarthings
X axis – horizontal duplication
Scale by cloning
Y axis –
functional
decomposition
Scale by splitting
different things
Z
axis–
datapartitioning
Scale
bysplitting
sim
ilarthings
Обещания микросервисов
Инкапсуляция бизнес-логики
Независимость в выборе технологий
Независимость в развертывании отдельного сервиса
Независимое внесение изменений
Меньшее значение Time To Market
Быстрая адаптация к изменениям
1
2
3
4
5
6
Очевидные трудности
Распределенная система
Несогласованность данных
Сложность дизайна целой системы
1
2
3
2Что такое микросервисы?
Параметры оценки
Гибкость при разработке
Простота развертывания
Тестируемость
Масштабируемость
Простота разработки
Производительность
1
2
3
4
5
6
Гибкость при разработке, монолит
application
module #1 module #2
module #3
module #4 module #5
Гибкость при разработке, микросервисы
application
service #1
service #2
service #3
service #4
service #5
Простота развертывания, монолит
git ci cd prod
Простота развертывания, микросервисы
git ci cd prod
git ci cd prod
git ci cd prod
Тестируемость, монолит
module #1
module #1
module #2
module #3
module #4
module #5
module #2
module #3
module #4 module #5
Тестируемость, микросервисы
service #1 service #2
service #3 service #4
service #5
service #1
service #2
service #3
service #4
service #5
?
монолит
монолит
монолит
монолит монолит
Масштабируемость, монолит
service #1 service #2 service #3
service #1 service #2 service #3
service #1 service #2
service #1
Масштабируемость, микросервисы
Простота разработки, монолит
application
module #1
module #2
module #3
module #4
module #5
module #1 module #2
module #3
module #4 module #5
Простота разработки, микросервисы
application
service #1
service #2
service #3
service #4
service #5
?
service #1
service #2
service #3
service #4
service #5
Производительность
module #1 module #2
module #3
module #4 module #5
3Зачем нужны микросервисы?
Кто их использует
Когда их использовать
less complex
higher volume (”internet-scale”)
domain
scalability
complexity
lower volume (”enterprise-scale”)
more complex
micro
services
modular
monoliths
Когда еще их использовать
Необходимо выпускать новый функционал часто
Можно получить большие преимущества при написании
разных частей системы на разных языках
Есть необходимость использовать разные базы данных
для разных задач
1
2
3
Когда лучше не использовать
Не знаете зачем они
Нет соответствующей инфраструктуры
1
2
4Как строить микросервисы?
Как строить микросервисы
Функциональная декомпозиция
Взаимодействие с пользователями системы
Взаимодействие между сервисами
Обеспечение согласованности данных
Service discovery
Тестирование
Логирование
1
2
3
4
5
6
7
Функциональная декомпозиция
application
service #1
service #2
service #3
service #4
service #5
Cильная гранулярность
service #1
service #2
service #3
service #4
service #5
client
service service service
Взаимодействие с пользователями
Минусы прямого
взаимодействия
Больше сервисов — больше запросов
Протоколы могут отличаться от HTTP
Затрудняет рефакторинг
1
2
3
API Gateway
client
API gateway
service service service
Взаимодействие между сервисами
Синхронные запросы Асинхронные уведомления
service#2
service#1 service#2
service#1
service#3 service#n
HTTP
Akka.netе, MS Orleans
WCF
Protobuf
Apache Thrift
Linkerd
1
2
3
4
5
6
Синхронные запросы
Обеспечение согласованности
данных
После совершения пользователем операции в одном
из сервисов изменились данные и нужно эти изменения
отправить в другой сервис.
Нам необходимо построить отчет по неким показателям,
данные для составления отчета распределены по нескольким
микросервисам.
1
2
Apache Kafka
RabbitMQ
Akka.net, MS Orleans
1
2
3
Асинхронные уведомления
Service discovery
service #1 service #2
?
Тестирование
exploratory
end-to-end
component
integration
unit
Уникальные идентификаторы сервисов
Уникальный идентификатор для каждого запроса
Использование UTC timestamp
Агрегация логов
1
2
3
4
Логирование
Использование таймаутов при запросах
Частое переиспользование кода
Статичные контракты
Недоступность целого из-за отказа части
Микролитизация
1
2
3
4
5
Распространенные ошибки
Пример
Исходная позиция
интернет-
эквайринг
POS
в магазинах
терминалы
самообслуживания
Прием заявок
acquiring
landing
POS
landing
applicant
service
SST
landing
CRM
acquiring
landing
POS
landing
applicant
service
SST
landing
CRM
service
Интеграция сервисов
acquiring
landing
POS
landing
applicant
service
SST
landing
message
bus
CRM
service
Сервис для клиентов
CRM
service
message
bus
backoffice
service
web ui
Еще точки входа
acquiring
endpoint
POS
endpoint
SST
landing
Прием средств и переводов
acquiring
endpoint
POS
endpoint
SST
landing
acquiring
service
POS
service
SST
service
Связь с процессингом
acquiring
service
POS
service
message
bus
SST
service
processing
service
external
systems
Связь с клиентом
SST
service
POS
service
acquiring
service
processing
service
message
bus
backoffice
service
web ui
Объединение запросов
Запрос на списание
получен.
ID: xxxx-xxxx-xxxx-xxxx
Списание прошло
успешно.
ID: xxxx-xxxx-xxxx-xxxx
Средства переведены
клиенту.
ID: xxxx-xxxx-xxxx-xxxx
acquiring
landing
POS
landing
SST
landing
acquiring
endpoint
POS
endpoint
SST
endpoint
acquiring
service
POS
service
SST
service
applicant
service
web ui
CRM
service
message bus
processing
service
backoffice
service
external
systems
Итоговая архитектура
web ui
Что в итоге?
Pros&Сons
Распределенная система
Гибкая разработка
Легко масштабируются
Низкий TTM для нового
функционала
+
+
+
+
Распределенная система
Сложное проектирование
Проблемы при тестировании
-
-
-
You shouldn't start a new project with
microservices, even if you're sure your
application will be big enough to make it
worthwhile
Martin Fowler

More Related Content

Similar to Андрей Матвеев "Основные принципы микросервисов и их реализации"

SDN в корпоративных сетях
SDN в корпоративных сетяхSDN в корпоративных сетях
SDN в корпоративных сетяхCisco Russia
 
Потоковая обработка данных и Микросервисная архитектура
Потоковая обработка данных и Микросервисная архитектураПотоковая обработка данных и Микросервисная архитектура
Потоковая обработка данных и Микросервисная архитектураVyacheslav Benedichuk
 
AiCare - самоорганизующийся сервис управления
AiCare - самоорганизующийся сервис управленияAiCare - самоорганизующийся сервис управления
AiCare - самоорганизующийся сервис управленияКварта Технологии
 
Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...
Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...
Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...Cisco Russia
 
Результаты опроса "Практика и планы по использованию Облачных вычислений (Обл...
Результаты опроса "Практика и планы по использованию Облачных вычислений (Обл...Результаты опроса "Практика и планы по использованию Облачных вычислений (Обл...
Результаты опроса "Практика и планы по использованию Облачных вычислений (Обл...Michael Kozloff
 
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Coit-people
 
Nf ref pr
Nf ref prNf ref pr
Nf ref prrr55
 
Быстрое создание облачного ЦОД на базе решения EMC HybridCloudи конвергентной...
Быстрое создание облачного ЦОД на базе решения EMC HybridCloudи конвергентной...Быстрое создание облачного ЦОД на базе решения EMC HybridCloudи конвергентной...
Быстрое создание облачного ЦОД на базе решения EMC HybridCloudи конвергентной...Cisco Russia
 
«Microservices. Как правильно делать и когда применять?»
«Microservices. Как правильно делать и когда применять?»«Microservices. Как правильно делать и когда применять?»
«Microservices. Как правильно делать и когда применять?»DataArt
 
Symfony в архитектуре Upwork Enterprise
Symfony в архитектуре Upwork EnterpriseSymfony в архитектуре Upwork Enterprise
Symfony в архитектуре Upwork EnterpriseDmitry Semenov
 
Microservices for test automation
Microservices for test automationMicroservices for test automation
Microservices for test automationNikita Makarov
 
Intelligent multiservice network
Intelligent multiservice networkIntelligent multiservice network
Intelligent multiservice networkKuznechiK .
 
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)Ontico
 
Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?Vadim Madison
 
Бизнес на кончиках пальцев
Бизнес на кончиках пальцевБизнес на кончиках пальцев
Бизнес на кончиках пальцевКРОК
 
Микросервисные архитектуры и немного жизненного опыта
Микросервисные архитектуры и немного жизненного опытаМикросервисные архитектуры и немного жизненного опыта
Микросервисные архитектуры и немного жизненного опытаElena Grahovac
 
Что вас ждет на пути реализации Soa (Битрикс отступает)
Что вас ждет на пути реализации Soa (Битрикс отступает)Что вас ждет на пути реализации Soa (Битрикс отступает)
Что вас ждет на пути реализации Soa (Битрикс отступает)Василий Савунов
 
Новые бизнес возможности UCCE 11.5
Новые бизнес возможности UCCE 11.5Новые бизнес возможности UCCE 11.5
Новые бизнес возможности UCCE 11.5Cisco Russia
 

Similar to Андрей Матвеев "Основные принципы микросервисов и их реализации" (20)

SDN в корпоративных сетях
SDN в корпоративных сетяхSDN в корпоративных сетях
SDN в корпоративных сетях
 
Потоковая обработка данных и Микросервисная архитектура
Потоковая обработка данных и Микросервисная архитектураПотоковая обработка данных и Микросервисная архитектура
Потоковая обработка данных и Микросервисная архитектура
 
AiCare - self-organizing device management service
AiCare - self-organizing device management serviceAiCare - self-organizing device management service
AiCare - self-organizing device management service
 
AiCare - самоорганизующийся сервис управления
AiCare - самоорганизующийся сервис управленияAiCare - самоорганизующийся сервис управления
AiCare - самоорганизующийся сервис управления
 
Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...
Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...
Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...
 
Результаты опроса "Практика и планы по использованию Облачных вычислений (Обл...
Результаты опроса "Практика и планы по использованию Облачных вычислений (Обл...Результаты опроса "Практика и планы по использованию Облачных вычислений (Обл...
Результаты опроса "Практика и планы по использованию Облачных вычислений (Обл...
 
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
 
Nf ref pr
Nf ref prNf ref pr
Nf ref pr
 
Быстрое создание облачного ЦОД на базе решения EMC HybridCloudи конвергентной...
Быстрое создание облачного ЦОД на базе решения EMC HybridCloudи конвергентной...Быстрое создание облачного ЦОД на базе решения EMC HybridCloudи конвергентной...
Быстрое создание облачного ЦОД на базе решения EMC HybridCloudи конвергентной...
 
«Microservices. Как правильно делать и когда применять?»
«Microservices. Как правильно делать и когда применять?»«Microservices. Как правильно делать и когда применять?»
«Microservices. Как правильно делать и когда применять?»
 
Symfony в архитектуре Upwork Enterprise
Symfony в архитектуре Upwork EnterpriseSymfony в архитектуре Upwork Enterprise
Symfony в архитектуре Upwork Enterprise
 
Microservices for test automation
Microservices for test automationMicroservices for test automation
Microservices for test automation
 
Intelligent multiservice network
Intelligent multiservice networkIntelligent multiservice network
Intelligent multiservice network
 
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
 
Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?
 
Бизнес на кончиках пальцев
Бизнес на кончиках пальцевБизнес на кончиках пальцев
Бизнес на кончиках пальцев
 
Микросервисные архитектуры и немного жизненного опыта
Микросервисные архитектуры и немного жизненного опытаМикросервисные архитектуры и немного жизненного опыта
Микросервисные архитектуры и немного жизненного опыта
 
CQRS innovations
CQRS innovationsCQRS innovations
CQRS innovations
 
Что вас ждет на пути реализации Soa (Битрикс отступает)
Что вас ждет на пути реализации Soa (Битрикс отступает)Что вас ждет на пути реализации Soa (Битрикс отступает)
Что вас ждет на пути реализации Soa (Битрикс отступает)
 
Новые бизнес возможности UCCE 11.5
Новые бизнес возможности UCCE 11.5Новые бизнес возможности UCCE 11.5
Новые бизнес возможности UCCE 11.5
 

More from MskDotNet Community

Антон Сысоев «IIoT: на границе HW и .NET»
Антон Сысоев «IIoT: на границе HW и .NET»Антон Сысоев «IIoT: на границе HW и .NET»
Антон Сысоев «IIoT: на границе HW и .NET»MskDotNet Community
 
Николай Гусев «Функциональное программирование для C# разработчиков»
 Николай Гусев «Функциональное программирование для C# разработчиков» Николай Гусев «Функциональное программирование для C# разработчиков»
Николай Гусев «Функциональное программирование для C# разработчиков»MskDotNet Community
 
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...MskDotNet Community
 
Юлия Ковалёва. Fscheck — альтернативный путь для unit тестов
Юлия Ковалёва. Fscheck — альтернативный путь для unit тестовЮлия Ковалёва. Fscheck — альтернативный путь для unit тестов
Юлия Ковалёва. Fscheck — альтернативный путь для unit тестовMskDotNet Community
 
Владимир Кочетков "OWASP TOP 10 для.NET"
Владимир Кочетков  "OWASP TOP 10 для.NET"Владимир Кочетков  "OWASP TOP 10 для.NET"
Владимир Кочетков "OWASP TOP 10 для.NET"MskDotNet Community
 
Дмитрий Сошников Искусственный интеллект и нейросети для .NET-разработчиков
Дмитрий Сошников    Искусственный интеллект и нейросети для .NET-разработчиковДмитрий Сошников    Искусственный интеллект и нейросети для .NET-разработчиков
Дмитрий Сошников Искусственный интеллект и нейросети для .NET-разработчиковMskDotNet Community
 
Викторина MskDotNet Субботник
Викторина MskDotNet СубботникВикторина MskDotNet Субботник
Викторина MskDotNet СубботникMskDotNet Community
 
Елизавета Голенок Переходим на mono или как это было
Елизавета Голенок  Переходим на mono или как это былоЕлизавета Голенок  Переходим на mono или как это было
Елизавета Голенок Переходим на mono или как это былоMskDotNet Community
 
Иван Кочуркин. Теория и практика парсинга формальных языков
Иван Кочуркин. Теория и практика парсинга формальных языковИван Кочуркин. Теория и практика парсинга формальных языков
Иван Кочуркин. Теория и практика парсинга формальных языковMskDotNet Community
 
Дмитрий Тежельников «Разработка вэб-решений с использованием Asp.NET.Core и ...
Дмитрий Тежельников  «Разработка вэб-решений с использованием Asp.NET.Core и ...Дмитрий Тежельников  «Разработка вэб-решений с использованием Asp.NET.Core и ...
Дмитрий Тежельников «Разработка вэб-решений с использованием Asp.NET.Core и ...MskDotNet Community
 
Павел Притчин "Конфигурации в.NET"
Павел Притчин  "Конфигурации в.NET"Павел Притчин  "Конфигурации в.NET"
Павел Притчин "Конфигурации в.NET"MskDotNet Community
 
Андрей Кирпичев "Гибкая модульность инструментами АОП"
Андрей Кирпичев  "Гибкая модульность инструментами АОП"Андрей Кирпичев  "Гибкая модульность инструментами АОП"
Андрей Кирпичев "Гибкая модульность инструментами АОП"MskDotNet Community
 
Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
 Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере" Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"MskDotNet Community
 
Александр Сурков «Вещи» в «Интернете вещей»
Александр Сурков «Вещи» в «Интернете вещей»Александр Сурков «Вещи» в «Интернете вещей»
Александр Сурков «Вещи» в «Интернете вещей»MskDotNet Community
 
Петр Тимошевский «Industrial IoT на практике»
Петр Тимошевский «Industrial IoT на практике»Петр Тимошевский «Industrial IoT на практике»
Петр Тимошевский «Industrial IoT на практике»MskDotNet Community
 
Стас Павлов «Построение безопасной архитектуры IoT решений на примере Azure I...
Стас Павлов «Построение безопасной архитектуры IoT решений на примере Azure I...Стас Павлов «Построение безопасной архитектуры IoT решений на примере Azure I...
Стас Павлов «Построение безопасной архитектуры IoT решений на примере Azure I...MskDotNet Community
 
Илья Ефимов «IoC/DI на примере Autofac»
Илья Ефимов «IoC/DI на примере Autofac»Илья Ефимов «IoC/DI на примере Autofac»
Илья Ефимов «IoC/DI на примере Autofac»MskDotNet Community
 
Кирилл Маурин «Проектирование и разработка модульных приложений»
Кирилл Маурин «Проектирование и разработка модульных приложений»Кирилл Маурин «Проектирование и разработка модульных приложений»
Кирилл Маурин «Проектирование и разработка модульных приложений»MskDotNet Community
 
Владимир Кошелев «Автоматический поиск ошибок»
Владимир Кошелев «Автоматический поиск ошибок»Владимир Кошелев «Автоматический поиск ошибок»
Владимир Кошелев «Автоматический поиск ошибок»MskDotNet Community
 

More from MskDotNet Community (19)

Антон Сысоев «IIoT: на границе HW и .NET»
Антон Сысоев «IIoT: на границе HW и .NET»Антон Сысоев «IIoT: на границе HW и .NET»
Антон Сысоев «IIoT: на границе HW и .NET»
 
Николай Гусев «Функциональное программирование для C# разработчиков»
 Николай Гусев «Функциональное программирование для C# разработчиков» Николай Гусев «Функциональное программирование для C# разработчиков»
Николай Гусев «Функциональное программирование для C# разработчиков»
 
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...
 
Юлия Ковалёва. Fscheck — альтернативный путь для unit тестов
Юлия Ковалёва. Fscheck — альтернативный путь для unit тестовЮлия Ковалёва. Fscheck — альтернативный путь для unit тестов
Юлия Ковалёва. Fscheck — альтернативный путь для unit тестов
 
Владимир Кочетков "OWASP TOP 10 для.NET"
Владимир Кочетков  "OWASP TOP 10 для.NET"Владимир Кочетков  "OWASP TOP 10 для.NET"
Владимир Кочетков "OWASP TOP 10 для.NET"
 
Дмитрий Сошников Искусственный интеллект и нейросети для .NET-разработчиков
Дмитрий Сошников    Искусственный интеллект и нейросети для .NET-разработчиковДмитрий Сошников    Искусственный интеллект и нейросети для .NET-разработчиков
Дмитрий Сошников Искусственный интеллект и нейросети для .NET-разработчиков
 
Викторина MskDotNet Субботник
Викторина MskDotNet СубботникВикторина MskDotNet Субботник
Викторина MskDotNet Субботник
 
Елизавета Голенок Переходим на mono или как это было
Елизавета Голенок  Переходим на mono или как это былоЕлизавета Голенок  Переходим на mono или как это было
Елизавета Голенок Переходим на mono или как это было
 
Иван Кочуркин. Теория и практика парсинга формальных языков
Иван Кочуркин. Теория и практика парсинга формальных языковИван Кочуркин. Теория и практика парсинга формальных языков
Иван Кочуркин. Теория и практика парсинга формальных языков
 
Дмитрий Тежельников «Разработка вэб-решений с использованием Asp.NET.Core и ...
Дмитрий Тежельников  «Разработка вэб-решений с использованием Asp.NET.Core и ...Дмитрий Тежельников  «Разработка вэб-решений с использованием Asp.NET.Core и ...
Дмитрий Тежельников «Разработка вэб-решений с использованием Asp.NET.Core и ...
 
Павел Притчин "Конфигурации в.NET"
Павел Притчин  "Конфигурации в.NET"Павел Притчин  "Конфигурации в.NET"
Павел Притчин "Конфигурации в.NET"
 
Андрей Кирпичев "Гибкая модульность инструментами АОП"
Андрей Кирпичев  "Гибкая модульность инструментами АОП"Андрей Кирпичев  "Гибкая модульность инструментами АОП"
Андрей Кирпичев "Гибкая модульность инструментами АОП"
 
Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
 Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере" Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
 
Александр Сурков «Вещи» в «Интернете вещей»
Александр Сурков «Вещи» в «Интернете вещей»Александр Сурков «Вещи» в «Интернете вещей»
Александр Сурков «Вещи» в «Интернете вещей»
 
Петр Тимошевский «Industrial IoT на практике»
Петр Тимошевский «Industrial IoT на практике»Петр Тимошевский «Industrial IoT на практике»
Петр Тимошевский «Industrial IoT на практике»
 
Стас Павлов «Построение безопасной архитектуры IoT решений на примере Azure I...
Стас Павлов «Построение безопасной архитектуры IoT решений на примере Azure I...Стас Павлов «Построение безопасной архитектуры IoT решений на примере Azure I...
Стас Павлов «Построение безопасной архитектуры IoT решений на примере Azure I...
 
Илья Ефимов «IoC/DI на примере Autofac»
Илья Ефимов «IoC/DI на примере Autofac»Илья Ефимов «IoC/DI на примере Autofac»
Илья Ефимов «IoC/DI на примере Autofac»
 
Кирилл Маурин «Проектирование и разработка модульных приложений»
Кирилл Маурин «Проектирование и разработка модульных приложений»Кирилл Маурин «Проектирование и разработка модульных приложений»
Кирилл Маурин «Проектирование и разработка модульных приложений»
 
Владимир Кошелев «Автоматический поиск ошибок»
Владимир Кошелев «Автоматический поиск ошибок»Владимир Кошелев «Автоматический поиск ошибок»
Владимир Кошелев «Автоматический поиск ошибок»
 

Андрей Матвеев "Основные принципы микросервисов и их реализации"