marp: true
theme: default
paginate: true
CI/CD та DevSecOps
- Опис:
Автоматизація конвеєрів збірки та доставки, раннє злиття, принцип «все як код» та інтегрована безпека.
- Основні інструменти:
YAML конвеєри (GitLab CI, GitHub Actions), статичний аналіз коду, сканери (Snyk, Trivy, OWASP ZAP).
- Переваги:
Покращена повторюваність, скорочення помилок та безпека протягом усього процесу розробки.
GitOps
- Опис:
Управління інфраструктурою через Git з автоматичною синхронізацією між кодом та станом середовища.
- Основні інструменти:
Argo CD, Flux CD, Helm у поєднанні з принципами GitOps.
- Переваги:
Прозоре управління змінами, оборотні оновлення та автоматичні відкати.
Інфраструктура як код та управління конфігурацією
- Опис:
Декларативні визначення інфраструктури з версіонуванням та автоматичним застосуванням змін.
- Основні інструменти:
Terraform (та форки), Pulumi, Ansible, CDK, Kustomize, Crossplane.
- Переваги:
Універсальність, модульне управління ресурсами та мінімізація ручних операцій.
Спостережуваність та моніторинг
- Опис:
Комплексний збір метрик, логів, трасувань та профілювання (з використанням таких методів, як eBPF) для повної видимості системи.
- Основні інструменти:
Prometheus, Grafana, OpenTelemetry, Loki, Jaeger, Tempo, різні інструменти eBPF.
- Переваги:
Раннє виявлення проблем, стандартизований збір даних та глибоке розуміння продуктивності.
Відмовостійкість та аварійне відновлення
- Опис:
Проектування систем високої доступності з використанням хаос-інженерії та розробка надійних планів відновлення після інцидентів.
- Основні інструменти:
Chaos Mesh, LitmusChaos, Velero, інструкції з аварійного відновлення (DR playbooks), реплікація, стратегії резервного копіювання.
- Переваги:
Мінімізація часу простою, швидке реагування на інциденти та підвищена стійкість системи.
- Опис:
Створення внутрішніх платформ, що інтегрують CI/CD, хмарні ресурси та сервіси, з упором на полегшення навантаження на розробників.
- Основні інструменти:
Backstage, шаблони розгортання, інструменти самообслуговування.
- Переваги:
Скорочення часу виведення продукту на ринок (time-to-market), покращення якості продукту та оптимізація взаємодії між командами.
Інструменти CI/CD
- Приклади: Jenkins, GitLab CI/CD, GitHub Actions, Argo Workflows, Tekton, Spinnaker.
- Плюси:
Гнучкість, глибока інтеграція з репозиторіями коду, масштабованість для хмарних рішень.
- Мінуси:
Застарілі системи можуть вимагати додаткового адміністрування; деякі інструменти з відкритим вихідним кодом мають обмеження щодо масштабованості.
Інструменти GitOps
- Приклади: Argo CD, Flux CD, Helm з GitOps, Terraform Cloud/Enterprise.
- Плюси:
Автоматизоване розгортання, повна прозорість змін та єдине джерело істини.
- Мінуси:
В основному орієнтовані на Kubernetes; вимагають вивчення специфічних концепцій.
Інструменти IaC та управління конфігурацією
- Приклади: Terraform (та форки), Pulumi, Ansible, Helm, Kustomize, Crossplane.
- Плюси:
Універсальне управління інфраструктурою, модульність та мультіхмарні можливості.
- Мінуси:
Складнощі управління станом (state), проблеми з виявленням дрейфу конфігурації (drift) та ліцензійні обмеження (наприклад, Terraform BSL).
Інструменти моніторингу та спостережуваності
- Приклади: Prometheus, Grafana, ELK/EFK Stack, Loki, Jaeger, Tempo, OpenTelemetry, Alertmanager.
- Плюси:
Стандартизовані метрики/логи, гнучка візуалізація, масштабованість через федерацію.
- Мінуси:
Високі вимоги к ресурсам та складність у розподілених конфігураціях.
Платформні рішення та інфраструктурні платформи
Хмарні платформи
- Приклади: AWS, Azure, GCP, AWS Outposts, Azure Arc, Google Anthos.
- Ключові особливості:
Масштабованість, керовані сервіси, гібридні рішення, мультіхмарна архітектура.
Контейнерні платформи
- Приклади: Kubernetes, OpenShift, Rancher, VMware Tanzu, MicroK8s, K3s.
- Ключові особливості:
Оркестрація контейнерів, автоматизоване розгортання, уніфіковане управління додатками.
Гібридні хмари та Edge-рішення
- Гібридні хмари:
Уніфіковані платформи управління (наприклад, Terraform, VPN/DirectConnect).
- Edge та мультіхмарність:
Такі рішення, як KubeEdge, K3s для граничних обчислень, платформи CDN (наприклад, Cloudflare Workers).
- Ключові особливості:
Уніфіковані набори інструментів для хмари та on-prem, висока відмовостійкість та мінімальна затримка для локальної обробки.
Мови програмування, фреймворки та практики SRE
Мови програмування та конфігурації
- Програмування:
Go (системний рівень), Python (скрипти/автоматизація), Shell, JavaScript/TypeScript, Rust (безпека та продуктивність).
- Конфігурація:
YAML (найбільш поширений), HCL (для Terraform), JSON, CUE (з’являється для валідації).
Фреймворки, бібліотеки та практики SRE
- Фреймворки та бібліотеки:
AWS/Azure/GCP SDK, клієнтські бібліотеки Kubernetes, Terratest, Molecule, OPA, ChatOps боти.
- Практики SRE:
Фокус на SLO/SLI, бюджети помилок (error budgets), безпристрасні постмортеми (blameless post-mortems), авто-відновлення та ChatOps.
- Мета:
Вимірювання доступності системи, автоматизація усунення помилок та оптимізація витрат шляхом навчання на інцидентах.
Заключні примітки
- Стратегія контенту:
Розподіляйте інформацію по декількох слайдах, щоб не перевантажувати один слайд.
- Стиль презентації:
Використовуйте короткі тези та розкривайте деталі усно.
- Порада:
Налаштовуйте дизайн слайдів та розмір тексту для оптимальної читабельності на різних пристроях.