====== DevOps ====== **DevOps** není konkrétní nástroj ani pracovní pozice, ale především **kombinace kulturní filozofie, postupů a nástrojů**, které zvyšují schopnost organizace dodávat aplikace a služby vysokou rychlostí. ===== Nekonečná smyčka DevOps ===== DevOps se často znázorňuje jako symbol nekonečna, který ukazuje, že vývoj a provoz jsou neustále propojené procesy. * **Plánování (Plan):** Definování cílů a požadavků. * **Kódování (Code):** Psaní zdrojového kódu a verzování (např. v Gitu). * **Sestavení (Build):** Automatizované kompilování a balení aplikace. * **Testování (Test):** Automatické prověření funkčnosti a bezpečnosti. * **Vydání (Release):** Příprava balíčku k nasazení. * **Nasazení (Deploy):** Přesun do produkčního prostředí. * **Provoz (Operate):** Správa infrastruktury a aplikací v běhu. * **Monitorování (Monitor):** Sběr dat o výkonu a chybách pro další vylepšení. ===== Klíčové praktiky ===== ^ Metoda ^ Popis ^ | **CI/CD** | **Continuous Integration / Continuous Delivery.** Automatizace integrace kódu a jeho následného nasazování. | | **Microservices** | Rozdělení velké aplikace na malé, nezávislé služby, které lze vyvíjet a nasazovat samostatně. | | **IaC** | **Infrastructure as Code.** Správa serverů a sítí pomocí konfiguračních souborů (např. Terraform, Ansible). | | **Monitoring** | Neustálé sledování zdraví systému v reálném čase, aby bylo možné předcházet výpadkům. | ===== Proč organizace přecházejí na DevOps? ===== 1. **Rychlost:** Častější vydávání nových funkcí a oprav chyb. 2. **Spolehlivost:** Automatizované testování snižuje riziko lidské chyby. 3. **Škálovatelnost:** Snadnější správa rozsáhlých systémů díky automatizaci. 4. **Lepší spolupráce:** Boří se "zdi" mezi vývojáři (kteří chtějí změny) a administrátory (kteří chtějí stabilitu). ===== Populární nástroje v DevOps ekosystému ===== * **Verzování:** Git, GitHub, GitLab. * **CI/CD servery:** Jenkins, GitHub Actions, GitLab CI. * **Kontejnerizace:** Docker, Kubernetes (K8s). * **Infrastruktura:** Terraform, Cloud (AWS, Azure, GCP). * **Monitoring:** Prometheus, Grafana, ELK Stack (Elasticsearch, Logstash, Kibana). --- ===== Souvislost s metrikami DORA ===== Výkonnost DevOps týmů se nejčastěji měří pomocí metodiky **[[DORA]]**, která sleduje frekvenci nasazení, dobu realizace změn, chybovost změn a dobu obnovy po výpadku. > **Motto:** "You build it, you run it." (Pokud jsi to vyvinul, jsi zodpovědný i za to, jak to běží.) //Viz také: [[CI/CD]], [[DORA]], [[Kubernetes]], [[Docker]]//