Containerele Linux, pe scurt, conțin aplicații pe care le țin izolate de sistemul gazdă pe care rulează. Containerele permit unui dezvoltator să alcătuiască o aplicație cu toate părțile de care are nevoie, cum ar fi bibliotecile și alte dependințe, și să o livreze în întregime ca pe un singur pachet. Acestea sunt concepute astfel încât să faciliteze o experiență consistentă, deoarece dezvoltatorii și administratorii de sistem transferă codul din medii de dezvoltare în producție într-un mod rapid și replicabil.
Într-un fel, containerele se comportă ca o mașină virtuală. Pentru lumea exterioară, ele pot arăta ca un sistem complet. Dar, spre deosebire de o mașină virtuală, mai degrabă decât crearea unui întreg sistem de operare virtual, containerele nu trebuie să replice un întreg sistem de operare, ci doar componentele individuale de care au nevoie pentru a funcționa. Acest lucru oferă un impuls semnificativ de performanță și reduce dimensiunea aplicației. De asemenea, funcționează mult mai repede, spre deosebire de virtualizarea tradițională, procesul desfășurându-se în mod natural pe gazdă, doar cu un strat suplimentar de protecție în jurul acesteia.
Și, important, multe tehnologii care utilizează tehnologia de alimentare cu containere sunt open source. Aceasta înseamnă că ei au o comunitate largă de contribuitori, contribuind la dezvoltarea rapidă a unui ecosistem larg de proiecte conexe care să răspundă nevoilor diverselor organizații, mari și mici.
De ce există un astfel de interes pentru containere?
Fără îndoială, unul dintre motivele cele mai importante pentru interesul recent în tehnologia containerelor a fost proiectul Docker open source, un instrument de linie de comandă care a făcut crearea și lucrul cu containere ușor atât pentru dezvoltatori, cât și pentru administratorii de sistem, similar cu modul în care Vagrant a făcut mai ușor dezvoltatorilor explorarea cu ușurință a mașinilor virtuale.
Docker este un instrument de linie de comandă pentru definirea programată a conținutului unui container Linux în cod, care poate fi apoi versiune, reprodus, partajat și modificat mai ușor ca și cum ar fi fost codul sursă al unui program.
Containerele au provocat, de asemenea, un interes în arhitectura de microservicii, un model de proiectare pentru dezvoltarea de aplicații în care aplicațiile complexe sunt împărțite în bucăți mai mici, care lucrează împreună. Fiecare componentă este dezvoltată separat, iar aplicația este pur și simplu suma elementelor componente. Fiecare piesă sau serviciu poate sta în interiorul unui container și poate fi scalată independent de restul aplicației în caz de necesitate.
Cum pot orchestra containerele?
Pur și simplu punerea aplicațiilor în containere probabil că nu va crea o schimbare fenomenală în modul în care operează organizația dvs., dacă nu vă schimbați și modul în care desfășurați și gestionați acele containere. Un sistem popular pentru gestionarea și organizarea containerelor Linux este Kubernetes.
Kubernetes este un sistem open source pentru gestionarea grupurilor de containere. Pentru a face acest lucru, acesta oferă instrumente pentru implementarea aplicațiilor, pentru scalarea acelor aplicații după cum este necesar, pentru gestionarea modificărilor aplicațiilor existente în containere și vă ajută să optimizați utilizarea hardware-ului de bază sub containerele dvs. Acesta este conceput pentru a fi extensibil, precum și pentru toleranța la erori, permițând componentelor aplicației să se repornească și să se deplaseze între sisteme în funcție de cum este necesar.
Instrumentele de automatizare IT cum ar fi Ansible și platformele că proiecte de servicii precum OpenShift pot adăuga capabilități suplimentare pentru a ușura gestionarea containerelor.
Cum păstrez siguranța containerelor?
Containerul adaugă securitate prin izolarea aplicațiilor de la alte aplicații într-un sistem de operare gazdă, dar pur și simplu o containerizare a unei aplicații nu este suficientă pentru a o menține în siguranță. Dan Walsh, expert în securitatea calculatoarelor, cunoscut pentru contribuția sa la SELinux, explică câteva dintre modalitățile prin care dezvoltatorii lucrează pentru a se asigura că Docker și alte unelte pentru containere se asigură că acestea sunt sigure, precum și unele dintre funcțiile de securitate aflate în prezent în Docker, și cum funcționează acestea.
Comentarii