Практики Devops
Система контроля версий как основа разработки ПО
знакомство с GIT
Объяснить для чего нужна система контроля версий и как с ней работать DevOPS
Работа с репозиторием
Локальный репозтиорий
Удаленный репозторий на примере GitHUB и Bitbucket
Рассказываем что можно делать в репозитории
Исправление коммитов
Решение конфликтов
Работа с ветками
Делаем commit, push, pull в Github
Локальное окружение инженера
ChatOPS и визуализация рабочего окружения инженера
Настроить локальный репозиторий
Сделать интеграцию с Travic CI и Slack
Основные сервисы Google Cloud Platform (GCP)
Ручной деплой тестового приложения
Написать bash скрипт для автоматизации задач настройки VM и деплоя приложения
Проанализировать основные практики безопасного доступа к ресурсам
Создать виртуальную машину в GCP Computer Engine
VPN
Настройка OpenVPN для доступа к проектам
SSH
Настройка подкючения SSH через Bastion HOST
Управление инфраструктурой
Модель управления инфраструктой Packer
Что это такое и зачем нужно
Что еще есть у HashiCorp
Используем Packer
Собираем готовый образ с установленным приложением с помощью Packer
Деплоим на GCP
Terraform
Задание №1
Описать GCP инфраструктуры в виде кода
Принципы и подходы IaC
Задание №2
Описать и настроить нескольких окружений в Terraform
Настроить remote backend
Управление конфигурацией. Asible
Обзор инструментов
Chef
Ansible
Puppet
Salt
Задание №1
Произвести сборку образа с помощью Ansible и Packer
Задание №2
Написание своих плейбуков
формирование инвентарей
templates
handlers
dynamic inventory
vault
tags
Задание №3
Управление настройками нескольких окружений
best practies
задание №4
Разработка Ansible ролей с Vagrant
Тестирование конфигураций
Molecula
Testinfra
bagrant
CI/CD
Docker
Введение в Docker
Отличие Docker от виртуализации
Зачем нужен Docker
Задание
Создать образ и запустить контейнер
Работа с Docker
Создать образ приложения
Загрузить образ на Dockerhub
Микросервисы
Разбить приложения на микросервисы
Собрать для каждого приложения отдельный образ
Использовать Dockerfile
сети Docker
Создавать и управлять сетями
Subtopic 2
Непрерывная поставка приложений
Для чего нужна
Как ее внедрить в рабочий процесс
Gitlab CI
Настройка Gitlab
Написать pipeline
Fast Feedback Loop
Как правильно мониторить сервисы. Соверменный подход
Настройка Prometheus
Настройка exportes
Настройка мониторинга веб-сервера Nginx
Визуализация полученных данных
Инструменты для работы с логами
Обработка структурированных логов
Обработка неструктурированных логов
Создание системы централизованного логгирования
Контейнерная оркестрация
Kubernetes
Развернуть компоненты
Основные модели безопасности и компоненты
Ingres контроллеры и сервисы
Настройка балансировщика нагрузки
Kubernetes в Gitlab CI
Мониторинг и логгирование