Container
VirtualizareUn container este un mediu izolat și ușor de execuție a aplicațiilor, care partajează kernel-ul sistemului de operare gazdă. Spre deosebire de mașinile virtuale, containerele nu emulează hardware, ci împachetează aplicația împreună cu toate dependențele sale într-o unitate portabilă. Docker este cea mai populară platformă de containerizare, iar Kubernetes orchestrează containere la scară mare.
Containerele reprezintă o evoluție majoră în modul în care aplicațiile sunt împachetate, distribuite și rulate. Un container include aplicația, bibliotecile necesare, fișierele de configurare și toate dependențele, creând un pachet autonom care funcționează identic indiferent de mediul în care este rulat.
Tehnologia containerelor se bazează pe funcționalități ale kernel-ului Linux: namespaces (pentru izolarea proceselor, rețelei și sistemului de fișiere) și cgroups (pentru limitarea resurselor). Aceste mecanisme permit crearea de medii izolate fără overhead-ul unei mașini virtuale complete.
Principalele avantaje ale containerelor față de mașinile virtuale sunt: pornire aproape instantanee (milisecunde vs. minute), consum minim de resurse (megabytes vs. gigabytes), densitate mare (sute de containere pe un server) și portabilitate completă între medii de dezvoltare, testare și producție.
În industria web hosting-ului, containerele au transformat modul în care aplicațiile web sunt livrate. Platformele moderne de hosting folosesc containere pentru a izola aplicațiile clienților, pentru a scala automat în funcție de trafic și pentru a asigura consistența între medii. Docker a devenit standardul de facto pentru împachetarea aplicațiilor.
Pentru site-urile web, containerele oferă avantaje practice: deployment rapid, rollback ușor în caz de probleme, scalare orizontală automată și izolare între aplicații. Mulți furnizori de hosting moderni oferă servicii bazate pe containere, fie direct (container hosting), fie indirect (platforme PaaS construite pe Kubernetes).