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 SDKs, клиентски библиотеки за Kubernetes, Terratest, Molecule, OPA, ChatOps ботове.
- SRE практики:
Фокус върху SLO/SLI, бюджети за грешки (error budgets), безпристрастни постмортеми (blameless post-mortems), авто-корекция и ChatOps.
- Цел:
Измерване на наличността на системата, автоматизиране на разрешаването на грешки и оптимизиране на разходите чрез поуки от инциденти.
Заключителни бележки
- Стратегия за съдържанието:
Разпределете информацията на множество слайдове, за да избегнете претоварването на един слайд.
- Стил на представяне:
Използвайте кратки тезиси и разширявайте подробностите устно.
- Съвет:
Настройте дизайна на слайдовете и размера на текста за оптимална четливост на различни устройства.