DevOps: автоматизация сборки, развертывания, тестирования и доставки программного обеспечения
DevOps
Подход к объединению взаимодействия разработчиков, тестировщиков и поддержки. Автоматизация сборки, развертывания, тестирования и доставки ПО до конечного пользователя. Основные подходы и инструменты.
Темы курса
Контейнеры, образы, основы работы Dockerfile, Docker Compose
Развертывание в контейнере, обеспечение персистентности, резервное копирование
Автоматизация развертывания, интеграция с контейнерами Jenkins, Gitlab CI, Github workflow Автоматизация сборки и тестирования, использование различных окружений
Сети, хранилища при работе с контейнерами Конфигурация внутреннего и внешнего доступа Балансировка нагрузки
Сокеты при масштабировании и обмене данными Подходы и технологии связи контейнеров и компонентов
Ресурсы в контейнере, конфигурация, мониторинг и ограничение
Принципы и методы балансировки Proxy и Reverse proxy, настройка и конфигурация
Инструменты сбора логов, подключение к приложениям
Мониторинг системы и контейнеров, автоматические оповещения
Инструменты визуализации Grafana + Prometheus
Принципы, управление доступом, защита от уязвимостей и атак
Инструменты и методы
Мониторинг и обнаружение аномалий
Версии, релизы и ветвление в контейнерных приложениях
Подходы для миграции приложений в контейнерное окружение
Работа с большими проектами и монолитными приложениями в контейнерной среде
Обеспечение непрерывной работы
Архитектурные принципы и методы
Репликация и кластеризация
Восстановление после сбоев
Настройка систем оповещений и уведомлений, почтовых сервисов
Протоколы и форматы данных
Работа с мультиязычными микросервисными архитектурами в контейнерной среде
Создание и развертывание собственных дистрибутивов и коробочных решений в контейнерной среде
Управление обновлениями и распространение изменений
Дополнительные компоненты в контейнерной среде
Разворачивание и интеграция сервисов, СУБД, брокеров сообщений
Введение, понятия, оркестрация
Настройка кластера
Развертывание и масштабирование
Управление обновлениями и откатами
Мониторинг и логирование в кластере
Монолит
Микросервисы
Событийно-ориентированная
CQRS (Command Query Responsibility Segregation)
CAP-теорема и распределенные системы
Serverless
Кеширование: развертывание, настройка, использование
Очереди и шины сообщений: RabbitMQ, Kafka, Pulsar
Поиск и индексация: ElasticSearch, Solr, поиск и анализ данных