Capitol gratuit

Ce este DevOps și containerizarea

DevOps este o cultură și un set de practici care apropie echipele de dezvoltare (Development) de echipele de operare (Operations), cu obiectivul de a livra...

Introducere

DevOps este o cultură și un set de practici care apropie echipele de dezvoltare (Development) de echipele de operare (Operations), cu obiectivul de a livra software mai rapid, mai sigur și cu mai puține erori umane în procesul de lansare.

Înainte de DevOps, dezvoltatorii scriau cod pe calculatorul propriu, iar echipa de operare se ocupa separat de instalarea și configurarea serverelor de producție. Diferențele dintre cele două medii (versiuni de librării, sisteme de operare, variabile de configurare) duceau frecvent la celebra problemă: „pe calculatorul meu funcționează".

Principiile de bază ale DevOps

  • Automatizare - eliminarea pașilor manuali repetitivi din build, testare și livrare
  • Integrare continuă (CI) - fiecare modificare de cod este testată automat
  • Livrare continuă (CD) - codul validat ajunge rapid și predictibil în producție
  • Colaborare - dezvoltatorii și administratorii de sistem lucrează pe aceleași obiective, nu în silozuri separate
  • Monitorizare - feedback rapid din producție, pentru a depista problemele înainte ca utilizatorii să le observe

Ce este containerizarea

Containerizarea este tehnica prin care o aplicație, împreună cu tot ce are nevoie pentru a rula (cod, librării de sistem, variabile de mediu, dependențe), este ambalată într-un pachet standard numit container. Acest pachet rulează identic pe orice mașină care are un motor de containere instalat, indiferent de sistemul de operare gazdă.

Practic, containerizarea rezolvă exact problema descrisă mai sus: dacă aplicația rulează corect într-un container pe calculatorul unui dezvoltator, va rula identic și pe serverul de producție, pentru că mediul de execuție este definit o singură dată, în cod, și este identic peste tot.

Container versus mașină virtuală

CriteriuMașină virtuală (VM)Container
Nivel de izolareHardware virtualizat, sistem de operare propriuProces izolat, partajează kernelul gazdei
Dimensiune tipicăCâțiva GB (include un OS complet)Câțiva MB - zeci de MB
Timp de pornireZeci de secunde - minuteSub o secundă - câteva secunde
Densitate pe serverZeci de mașini virtualeSute de containere
PortabilitateLimitată, depinde de hipervizorRidicată, standardizată (OCI)

Scurt istoric al containerizării

AnEveniment
1979chroot în Unix - izolare parțială a sistemului de fișiere
2000-2008FreeBSD Jails, Linux VServer, cgroups, LXC - precursori direcți
2013Lansare Docker - popularizează containerizarea la scară largă
2015Fondarea Open Container Initiative (OCI) - standardizare formate imagini/runtime
2016Kubernetes devine standardul de orchestrare a containerelor
2020Docker Desktop introduce suport nativ WSL2 pe Windows
2026Docker Engine ajunge la seria 29.x, cu îmbunătățiri de performanță și securitate
Sfat: Nu confundați Docker cu containerizarea în general. Docker este cel mai popular instrument pentru a lucra cu containere, dar standardul tehnic (formatul imaginilor, modul de rulare) este definit de OCI (Open Container Initiative) și este respectat și de alte instrumente, precum Podman sau containerd.

De ce contează pentru afaceri

Pentru o echipă tehnică sau o afacere care dezvoltă software, containerizarea și practicile DevOps aduc beneficii concrete: medii de dezvoltare identice cu producția, livrări mai frecvente și mai sigure, posibilitatea de a rula mai multe aplicații pe același server fără conflicte de dependențe, și o bază solidă pentru automatizarea completă a procesului de lansare, subiect pe care îl veți parcurge în capitolele despre CI/CD din acest ghid.

Continuați cu restul cursului

Acesta este capitolul 1 din cele 14 ale cursului, cu 6 lecții din 86. Cumpărați cursul și parcurgeți tot conținutul în cont, cu progres salvat, test final și certificat.

Cumpărați cursul la 130 €