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