- Сourse
- Location
Рассматривается создание инфраструктуры для цифровых проектов, чтобы процесс разработки и выкатки был предсказуемым. Курс является продолжением курса "Введение в Docker".
В процессе обучения мы развернем инфраструктуру проекта, настроим автоматизированный конвейер поставки ПО и научимся использовать системы получения быстрой обратной связи о состоянии проекта.
По окончании курса участники смогут управлять всем жизненным циклом приложения. А именно:
- делать выкатку кода простым и приятным процессом в духе "нажми одну кнопку", который можно выполнять десятки раз в день;
- делать настройку новой машины полностью автоматизированной: вы запускаете одну команду, выпиваете чашку кофе и получаете полностью готовый к работе сервер;
- создавать прозрачный и понятный Continuous Delivery Pipeline и выкатывать изменения часто и небольшими частями;
- делать десятки тестовых стендов в день для разных команд и разных версий продукта, при этом конфигурация стенда будет практически идентичной боевой среде;
- увеличивать скорость разработки, тестирования и выкатки за счет применения современной системы автоматизации развертывания контейнеров Docker;
- разворачивать масштабируемую инфраструктуру для запуска микросервисов;
- получать быструю обратную связь от систем мониторинга и логирования на всех основных этапах жизненного цикла ПО.
Цели
Научить участников разворачивать инфраструктуру проекта, настраивать автоматизированный конвейер поставки ПО и использовать системы получения быстрой обратной связи о состоянии проекта.
Целевая аудитория
Системные администраторы, инфраструктурные инженеры, разработчики, продвинутые тестировщики.
Разбираемые темы
- Методология DevOps:
- Развитие подходов в управлении ИТ-инфраструктурой, путь к DevOps, CAMS (Culture, Automation, Measurement, Knowledge Sharing), подходы к автоматизации, работа в команде, основные DevOps практики. Чему учит DevOps и откуда такая популярность.
- Технология непрерывной поставки ПО:
- Continuous Integration, Continuous Delivery, тестирование, управление конфигурацией, виртуализация, контейнеризация. Автоматизация сборок, тестирование Docker контейнеров.
- Практика. Построение базового CI/CD процесса на Google Cloud Platform (GCP), выкатка новой версии приложения, решения часто возникающих проблем.
- Оркестрация и стратегии деплоя:
- Что такое оркестрация, преимущества и недостатки актуальных оркестраторов. Введение в Kubernetes, основные компоненты. Микросервисная архитектура, преимущества и недостатки сервисного подхода. Стратегии деплоя микросервисов. Сетевое взаимодействие в Docker кластере: Overlay Network, Docker IPVS Load Balancer.
- Практика. Создание и настройка Kubernetes кластера на GCP. Интеграция Kubernetes с Gitlab CI.
- Непрерывная обратная связь (мониторинг и логирование):
- Как получать обратную связь от проекта. Что и зачем нужно мониторить в проекте. Сбор метрик инфраструктуры и бизнес логики приложений, end-user experience мониторинг. Поставка систем сбора метрик как сервис внутри проекта, разделение ответственности между разработкой и эксплуатацией. Обзор актуальных систем мониторинга и логирования. Особенности сбора метрик с микросервисов и Docker-контейнеров.
- Практика. Развертывание системы мониторинга Prometheus и системы логирования Elastic Stack. Настройка централизованного сбора метрик с Docker контейнеров. Получение обратной связи при деплое, анализ собранных метрик с помощью Grafana.