1. Знания может применить разработчик на любом языке программирования.
2. Пронесём несколько сервисов на Python через все интеграции.
3. По основам и best practice покажем цельную систему связи работающего приложения.
Этап 1 - Локальное окружение и контуры
Вы узнаете, что сегодня создать локальное окружение идентичное контурам не сложно. Также разберём нюансы грамотного приложения, которые мало освещены. Есть что-то больше, чем 12 факторов.
Стек и теория:
- Vagrant
- Docker
- Грамотное приложение
Этап 2 - Развертывание - CI
Вы увидите первые связки элементов приложения с помощью Docker Composeи поймёте разницу между CI инструментами.
Стек:
- Docker Compose
- Github Actions
- Gitlab CI
- Jenkins
- Team City
Этап 3 - Работа с данными
Вы увидите разницу между подключением баз данных, брокерами сообщений, а также как накатывать миграции.
Стек и теория:
- PostgreSQL
- MySQL
- Oracle
- Redis
- Apache Kafka
- Rabbit
- Миграции баз данных
Этап 4 - Балансировка и сеть
На этом этапе настроим веб-сервер, балансировку нагрузки и затронем тему service mesh.
Стек:
- Nginx
- Apache
- Envoy
- Istio
Этап 5 - Мониторинг и логи
Вы узнаете как настроить метрики, логи, зачем это нужно, какие есть варианты, а также рассмотрим трассировку сервисов с Jaeger.
Стек и теория:
- Prometheus
- Zabbix
- Elastic Stack
- Loki
- Jaeger
- Grafana
- Алерты
Этап 6 - Безопасность
Рассмотрим статическую и динамическую безопасность на уровне приложения, а также базовую безопасность от DDos на 2 и 3 уровнях сетевой модели OSI.
Стек и теория:
- SonarQube
- Динамический анализ и другие типы
- DDoS: анализ логов Nginx
Этап 7 - Деплой
На заключительном этапе вновь вернёмся к автоматизации и задеплоим наши сервисы, посмотрим разницу в возможных инструментах.
Стек:
- Gitlab CI
- Jenkins
- Ansible