Микросервисы в продакшн. От коммита до релиза: полная автоматизация в KubernetesМикросервисы
Lead TechOps Automation Engineer в компании N26 и соведущая подкаста GolangShow. Опыт в веб-разработке — более 10 лет. Начала интересоваться вопросами написания микросервисов на Go около 4 лет назад. За это время успела поработать над разными проектами с разными командами, что привело к появлению набора компонент и практик, помогающих упростить процессы разработки и эксплуатации распределенных приложений.
Работаю в компании Openprovider в качестве инженера SRE. Автоматизирую процессы разработки микросервисов в компании. Обеспечиваю их надежность и высокую доступность. Фанатик стабильности во всех доверенных мне сферах.
Крупные компании могут позволить себе целые команды релиз-инженеров, которые обеспечивают надежную и стабильную инфраструктуру. Мы же покажем, как можно быстро и эффективно подготовить такую инфраструктуру очень простыми действиями.
Когда приложения или сервисы регулярно обновляются в боевой высоконагруженной среде, новый код не должен вызывать сбоев или даже катастроф. Мы продемонстрируем, как легко этого достичь. И вас удивит, насколько просто можно усилиями одного или двух человек за считанные часы создать полностью автоматизированную систему доставки кода в боевые условия с тестированием и выявлением проблем до релиза.
В демонстрации будет использована система управления контейнерами Kubernetes.
Мы расскажем:
- как выработать требования, которым должны удовлетворять приложения для успешной работы в общей инфраструктуре, и почему важно подумать об этом заранее;
- как развернуть и подготовить среду управления контейнерами Kubernetes к эксплуатации;
- как с помощью инструментов непрерывной интеграции обеспечить непрерывную поставку микросервисов на заданное стейдж- или продакшн-окружение.
На мастер-классе участникам предлагается попробовать себя в решении следующих задач:
- написание простейшего REST-сервиса на Go;
- доработка сервиса под специфику конкретных задач;
- взаимодействие сервисов между собой;
- упаковка сервиса в минимальный необходимый Docker-контейнер;
- настройка процессов Continuous Integration и Continuous Delivery;
- подготовка шаблонных конфигураций сервиса для менеджера релизов Helm;
- автоматические релизы сервиса на разные окружения в Kubernetes.
К концу занятия мы получим единую среду, в которой будут жить приложения всех участников мастер-класса, и сможем обсудить любые возникшие вопросы.