Фестиваль РИТ++ 2016 завершён. Изучайте презентации, смотрите фотографии и ждите видео :)
Профессиональная конференция для серверных веб-разработчиков

Чему мы научились, разрабатывая микросервисы?Элементы архитектуры

Доклад принят в программу конференции
Вадим Мадисон

Руководитель разработки «М-Тех».
Разработкой занимаюсь больше 15 лет, из которых 8 — нагруженными сервисами. Последние 3 года занимаюсь разработкой высоконагруженных сервисов в сфере доставки видео. Стараемся использовать современные технологии в разработке и методологии в управлении.

Начав разработку нового продукта через микросервисы, мы неожиданно для себя обнаружили, что микросервисы — это не просто "вместо одного большого приложения теперь пишем много маленьких". При разработке большой системы она сама собой через какое-то время становится набором отдельных сервисов, которые должны взаимодействовать между собой, поэтому стабильная работа сервисов и их взаимодействие не стало чем-то новым. Неожиданностью стало то, что система стала значительно более динамической, она стала постоянно изменяться отдельными небольшими частями, сервисы стали часто перезапускаться, а количество запущенных нод сервисов стало расти по экспоненте.

Очень быстро стал актуальным вопрос конфигурирования — если раньше, выкатив новую версию монолита с единым конфигом, мы применяли правки на всю систему сразу, то с микросервисами все сложнее — пара сотен работающих нод и всем нужно применить изменения. Требования к деплою также поменялись — он стал частью процесса разработки, а тестирование стало частью деплоя. Количество необходимого ПО для функционирования системы также стало некоторым сюрпризом.

В докладе я расскажу о том, как в итоге это работает у нас, как мы решили такие вопросы как:
- конфигурирование сервисов;
- интеграция между собой;
- тестирование;
- версионирование;
- масштабирование.

Расскажу, какие тулзы мы в итоге используем, а от каких отказались.

Другие доклады секции Элементы архитектуры