Вот и подоспели материалы с фестиваля РИТ++ 2017. Мы выступили там с докладами по темам machine learning, front-end и mobile разработки и провели отдельный тематический блок, посвященный микросервисам. Под катом – видеозаписи выступлений на этой секции наших докладчиков и коллег из других компаний. Обязательно загляните, чтобы узнать о подходах к работе с микросервисами и интересных приемах, которые реально использовать для решения ваших задач.
Микросервисная архитектура: проблемы и решения
Тему микросервисов на мероприятии открыл Сергей Орлов в главном зале РИТ++. Это был разговор о проблемах, задачах и решениях микросервисной архитектуры, на которую переходят многие современные веб-проекты. Но при этом классические задачи предстают в новом свете. К разработке, эксплуатации, тестированию предъявляются качественно новые требования. Обо всем этом (и, конечно, о подходах к решению проблем) рассказывается в видео.
Преимущества и недостатки микросервисной архитектуры в HeadHunter
Хотите распилить монолит на микросервисы? Учитывайте, что эти изменения затронут всю компанию. Скорее всего, возникнут проблемы с разработкой, деплоем, эксплуатацией и так далее. Иногда они могут даже свести на нет преимущества от использования микросервисов. В своем докладе Антон Иванов из HeadHunter взвешивает преимущества и недостатки при вертикальном и горизонтальном делении на микросервисы.
События, события и ещё раз события
Для сбора событий мы в Avito разработали систему Event Stream Processing. К ней предъявлялись высокие требования. Это хорошая пропускная способность, отказоустойчивость, масштабируемость. Из доклада Антона Сухова вы узнаете, почему для решения наших задач мы предпочли NSQ, а не fluent, как решать проблемы сбора событий, которые неизбежно возникают при переходе от монолита к микросервисам, а также как заложить базу для того, чтобы новые события добавлялись в полностью автоматизированном режиме. Если вы решите, что хотите реализовать подобную систему, то посмотрите наш небольшой чек-лист по требованиям к ней и к вашей инфраструктуре в конце видео.
Мониторинг в микросервисной архитектуре
В этом видео Владимир Колобаев рассказывает о системе мониторинга в Avito. Ключевые слова: мониторинг как сервис (разработчики сами могут отправлять метрики, создавать дашборды, триггеры и нотификации для своих проектов), SLA > 99,99%, низкий порог вхождения. Футуристический прогноз: мониторинг в каждый дом, детектор аномалий, метаданные. И да, машина времени в докладе тоже есть.
Legacy в коробочке. Dev-среда на базе Kubernetes
Новые микросервисы появляются, но монолит никуда не исчезает. Мы в Avito разрабатываем и деплоим сервисы с помощью связки Docker и Kubernetes. Зачастую интегрировать монолит с сервисами довольно проблематично. А что, если его тоже завернуть в Docker+Kubernetes и применять те же практики, что и для микросервисов? В докладе Ильи Сауленко – ответы на вопросы о том, как уместить legacy-приложение вместе с базами и sphinxsearch в изолированной коробочке, сократить различия между окружениями и не забыть про Developer Experience. Будет полезно командам, планирующим или переживающим распил монолита и всем, кому приходится работать со сторонними legacy-системами.
Управление секретами в кластере Kubernetes при помощи Hashicorp Vault
В следующем докладе Сергей Носков рассказал об управлении секретами в кластере Kubernetes при помощи Hashicorp Vault. В видео приведен краткий обзор решения, рассмотрены случаи автоматического и безопасного управления секретами с помощью Puppet + Hiera. Особое внимание уделено встроенным секретам Kubernetes, проблемам управления ими и недостаткам существующих решений для получения секретов из Vault. Рассказано, как мы устранили эти недостатки с помощью простого самописного решения.
От сырых данных до отчета. Архитектурные подходы в проекте «Автотека»
С помощью нашего нового сервиса «Автотека» можно проверить историю автомобиля по VIN-номеру. В этом видео Николай Балакирев рассказывает об архитектурных подходах Avito, которые были реализованы в проекте. Почему мы стали использовать микросервисы для этой задачи? И что же мы сделали для того, чтобы потребитель получал нужную и актуальную информацию менее, чем за секунду? О построении сервиса, который может за это время посетить более 10 сторонних API, извлечь заранее собранные данные, проверить источники со статичной информацией, и, наконец, произвести слияние по определенному набору правил, смотрите в докладе.
Микросервисы для Machine Learning
У нас было 30 миллионов активных объявлений, 20 миллионов активных пользователей, 1,2 миллиарда событий и команда, которая реализует практическое машинное обучение. Что дальше? Смотрите видео, в котором Дмитрий Ходаков рассказывает две истории: о том, как традиционные микросервисы можно использовать для системы раздачи контента на рекомендациях и применения моделей в реальном времени, и о том, как мы распилили монолит пайплайна нашей рекомендательной системы на микросервисы. Click to play!
Микросервисы в продакшн. Kubernetes
И конечно, на РИТ++ не обошлось без практических занятий. Наши коллеги из Openprovider Елена Граховац и Игорь Должиков провели для всех желающих мастер-класс «Микросервисы в продакшн». Он состоял из двух частей.
Часть I:
— некоторые вопросы разработки микросервисов;
— написание сервисов на Go.
Часть II:
— подготовка инфраструктуры;
— релиз сервисов в Kubernetes с использованием CI/CD.
Мастер-класс доступен в следующем видео, а вот ссылка на репозитории с его материалами.
Это все материалы с секции о микросервисах на РИТ++. Задавайте вопросы, если такие возникнут.
Автор: rafinirovannoe