Cuprins:
- Containere 101
- O defalcare rapidă a peisajului containerului
- Ce probleme de afaceri pot rezolva containerele?
Video: Case din containere marimite – Dezavantaje (Noiembrie 2024)
Până acum, containerele sunt un concept familiar pentru departamentul dvs. IT. Cele mai agile întreprinderi mici sau mijlocii (IMM-uri) sau întreprinderi pot să le folosească deja. În ceea ce privește dezvoltarea aplicațiilor și infrastructura IT, containerele Linux sunt la fel de la modă precum veți vedea cu acest tip de tehnologie.
De fapt, 451 de cercetare proiectează piața de containere pentru aplicații să se extindă de la 762 milioane USD în 2016 la 2, 7 miliarde dolari până în 2020. Între timp, Gartner prognozează că peste 50 la sută din organizațiile globale vor administra aplicații containerizate în 2020, o creștere de la mai puțin de 20 la sută în 2017.
Am explicat deja cum arhitectura de aplicații modulare a microserviciilor ajută dezvoltarea și echipele IT să funcționeze mai eficient, reducând în același timp costurile și complexitatea adăugării de noi funcții și funcționalități. Din punct de vedere al tehnologiei, containerele sunt agentul de catalizare al ecuației DevOps. Sunt pachetul convenabil prin care DevOps și echipele IT pot trece rapid și constant codul, configurațiile și dependențele unei aplicații înainte și înapoi.
Dar ce înseamnă asta de fapt pentru afacerea dvs.? Am vorbit cu soluțiile IT pentru întreprinderi și compania de software open-source Red Hat pentru a afla. Acest explicator va prezenta nu numai ce sunt containerele și modul în care funcționează, ci diferitele moduri în care - după ce ați înțeles tehnologia - organizația dvs. poate utiliza implementări containerizate în partea de sus a centrului de date sau a infrastructurii cloud pentru a oferi mai rapid un software de calitate.
Containere 101
La nivelul lor cel mai de bază, containerele Linux sunt numite în mod adecvat pentru containerele de transport metalic la care sunt echivalate atât de des. Indiferent dacă este pe o navă de marfă, un tren de marfă sau pe spatele unui camion mare, containerul în sine este același vas uniform de transport de mărfuri. Lars Herrmann, directorul general al Unității de Afaceri a Soluțiilor Integrate la Red Hat, supraveghează tehnologia containerului Linux a companiei. Herrmann a spus că întreprinderile ar trebui să privească pur și simplu containerele ca o nouă unitate de muncă.
"Containerele sunt despre agilitate", a spus Herrmann. "Într-o organizație complexă, este vorba despre atribuirea de responsabilități împreună cu libertatea de a furniza funcții. Iar containerele vă oferă această tehnologie pentru a o menține totul împreună, în timp ce vă administrați în continuare responsabilitatea pentru securitate, disponibilitate, respectarea reglementărilor - toate lucrurile care contează."
Faceți clic pe imagine pentru infografie completă. Credit imagine: Twistlock
În acest fel, omogenitatea containerelor le face blocuri de construcție ușor de utilizat. Sunt unități mici, conectabile, pe baza cărora puteți construi o arhitectură microservicii care să asigure eficiența operațională și controlul versiunilor. În același timp, acestea oferă echipelor DevOps și IT un control granular asupra modului de implementare a resurselor infrastructurii. Herrmann a subliniat, de asemenea, că containerele sunt fundamental o tehnologie a sistemului de operare (OS).
"Containerele iau sistemul de operare și îl taie în două bucăți", a explicat Herrmann. „Pe de o parte, primiți unitatea de lucru pentru aplicație, care conține codul aplicației și dependențe într-un mod care poate fi optimizat de echipele DevOps, și le oferă autonomie și control pentru a lua decizii atunci când doresc. Nu mai trebuie așteptați alte echipe.
"Cealaltă piesă este nucleul sistemului de operare. Nucleul OS și sarcina utilă a containerului oferă suport pentru resursele și elementele primite pe care le doriți, cum ar fi stocarea, rețeaua și securitatea. Deoarece containerele sunt o tehnologie de sistem de operare, le puteți rula oriunde, fie virtual gazde sau un cloud public. Acea calitate hibridă vă permite să gestionați orice aplicație în orice mediu folosind aceeași tehnologie, în timp ce vă consolidați echipele DevOps."
Containerele nu sunt, de asemenea, același lucru ca și virtualizarea. Herrmann a explicat că containerele și virtualizarea sunt forțe reciproce. Virtualizarea emulează un mediu hardware virtual pentru a rula diverse stive de software; furnizează ceea ce se numește un strat de abstractizare pentru a oferi acel mediu de cloud computing flexibilitate în ceea ce privește modul în care aplicațiile și datele sunt structurate și dislocate. Deci, pe un singur nucleu de sistem virtualizat, puteți rula apoi mai multe servere sau instanțe. Containerele sunt instanțele.
"Există încă o mulțime de confuzii în jurul conjugării containerelor cu virtualizarea", a spus Herrmann. "Virtualizarea rezolvă o problemă diferită și credem că containerele și virtualizarea se completează foarte bine. Virtualizarea oferă abstracție și emulare și, cu containere, obțineți un fel similar de abstractizare, dar fără a emula. Împreună, acestea nu vă oferă nicio măsură generală și o tonă de eficiență operațională, dar poate fi dificil să le separați pe cele două ".
O defalcare rapidă a peisajului containerului
DevOps și principiile agile despre care vorbim în ceea ce privește containerele nu sunt noi, întrucât revin la conceptul de arhitectură orientată către servicii (SOA), care este detaliat în explicatorul nostru de microservicii de mai sus. Containerul Linux modern a fost inventat atunci când Docker a schimbat jocul. Docker este câteva lucruri diferite, dar, în primul rând, este o tehnologie open-source popular, care a fost dezvoltată de Docker Project în 2013. Este concepută pentru ambalarea, transportul și rularea oricărei aplicații ca un container ușor. În 2017, Docker a adăugat posibilitatea de a rula containere Linux pe Windows folosind tehnologia Hyper-V.
Docker se numără printre mai multe proiecte open-source care ajută la modelarea tehnologiei și a spațiului. Kubernetes, dezvoltat inițial de Google și gestionat acum de Cloud Native Computing Foundation, este un sistem open-source pentru automatizarea implementării, scalării și gestionării containerelor. Docker și Kubernetes sunt cele două proiecte open-powerhouse care au cea mai mare influență în ceea ce privește dezvoltarea tehnologiei. De fapt, în aprilie, Dockers a lansat Docker Enterprise Edition (EE) 2.0, care permite utilizatorilor să își gestioneze și să-și asigure sarcinile de lucru în Kubernetes într-un mediu multi-Linux, multi-OS sau multi-cloud. Această flexibilitate reduce șansa ca întreprinderile să fie blocate într-o anumită tehnologie sau infrastructură. Docker spune că EE 2.0 permite companiilor să obțină mai multă eficiență în materie de costuri, gestionând aplicațiile dintr-o singură interfață de control pentru a ține evidența imaginilor, stocării și rețelelor.
Există zeci de alte companii, împreună cu Proiectul Atomic Red Hat (pentru stivele combinate Docker / Kubernetes) și Inițiativa Open Container a Fundației Linux, care urmăresc crearea de standarde industriale deschise în jurul containerelor. Pentru Docker, au fost imaginile Docker care au dat foc lumii dezvoltării. Un container stochează codul, bibliotecile și fișierele de configurare pentru a rula o imagine în orice locație. "Containerele au pus toate serviciile pe același nod până când Docker a introdus noțiunea de implementare bazată pe imagine", a spus Herrmann.
Faceți clic pe imagine pentru infografie completă. Imagine: Sondajul Docker, 2016
Docker este, de asemenea, un startup (fondat în 2010 ca dotCloud) care a strâns peste 242 milioane dolari în finanțare. Compania oferă o suită de instrumente de tip Container-as-a-Service (CaaS) pentru implementarea Docker în centre de date și cloud private. Desigur, când vine vorba de gestionarea containerelor pentru întreprinderi, Docker nu este singur în spațiu. Red Hat oferă propria sa suită de instrumente pentru dezvoltatori CaaS în toate produsele sale Red Hat Enterprise Linux (RHEL), OpenShift și JBoss.
Tot mai multe companii tehnologice cu nume mari au intrat în acțiune. Serviciile Web Amazon (AWS), Microsoft Azure și Google Cloud Platform (GCP) au toate instrumentele integrate de orchestrare și gestionare a containerelor în platformele respective de infrastructură cloud-ca-serviciu (IaaS). Pe 8 mai, Microsoft a anunțat un parteneriat cu Red Hat pentru a permite dezvoltatorilor să ruleze software bazat pe containere în Azure. În aceeași zi, IBM a raportat că își va extinde colaborarea cu Red Hat pentru a permite dezvoltatorilor să construiască aplicații pe o platformă de container integrată. În câțiva ani, spațiul containerelor a devenit destul de aglomerat.
Ce probleme de afaceri pot rezolva containerele?
Când vine vorba de implementarea arhitecturilor moderne de aplicații și a principiilor DevOps în cadrul unei întreprinderi, containerele sunt răspunsul la o serie de probleme. În special atunci când organizația este înrădăcinată în tehnologia tradițională și în politicile tradiționale de dezvoltare, containerele sunt platforma de dedesubt ușor integrată care poate netezi tranziția și o pot facilita pe departamentul IT.
"Momentan, vedem containerizarea ca fiind cel mai practic mod de a introduce cloud, DevOps și microservicii în mediul dvs.. Containerele se integrează în mod natural cu tehnologiile pe care le aveți deja", a spus Herrmann.
Rich Sharples, director principal al Managementului produselor pentru Middleware la Red Hat, a spus că este vorba despre furnizarea de software de calitate într-o cadență mai rapidă. Toate companiile încearcă să scoată mai rapid software-ul pentru a concura pe propriile piețe și această presiune cade adesea asupra unui departament IT supraîncărcat. Sharples a spus că containerele sunt o modalitate de a produce aplicații și servicii care pot fi schimbate mai repede - fie că se adaugă o caracteristică nouă sau o soluție critică de securitate - menținând calitatea. El a vorbit, de asemenea, despre infrastructura containerizată, precum podul pentru a pregăti întreprinderile pentru microservicii.
"Avem acest principiu de proiectare: nu ne putem permite să lăsăm în urmă aplicații", a spus Sharples. "Suntem în această minunată lume nouă a DevOps și a dezvoltării de software agil. Dar întreprinderile nu pot rescrie toate aplicațiile pentru a se alătura petrecerii. Cum le putem îndrepta către aceste idei noi?
"Investiția în platforme precum containerele este o modalitate de a vă asigura că organizația este gata să înceapă să construiască ceva precum microservicii. Microservici și containere la un loc este locul unde se află adevărata putere. Nu există nimic interesant în privința unui singur microserviciu; doar în pluralitate vedeți acest lucru rețea de cooperare formată din bucăți discrete de funcționalitate."
Credit imagine: Docs.Docker.com
Evaluarea dacă trebuie să investească și să adopte containere nu înseamnă doar tehnologie. Sharples a explicat că pentru o tranziție de succes la DevOps, care încorporează containere și microservicii, veți avea nevoie de arhitectura, platformele de bază și procese agile în loc.
"Aceasta nu este doar o decizie tehnologică", a spus Sharples. "Trebuie să vă gândiți dacă organizația dvs. este gata, dacă aveți probleme specifice de livrare de software pe care trebuie să le rezolvați și să înțelegeți cum arată șoferii de afaceri în jurul automatizării și DevOps. Înțelegeți cerințele dvs. cheie, priviți nevoile diferitelor proiecte și apoi decideți ce combinație de cloud, arhitectură de aplicații și tehnologie de containere poate face acest lucru."
Herrmann a oferit departamentelor IT ale întreprinderii trei sfaturi atunci când analizează modul în care containerele se încadrează în organizația lor:
1. Începeți
Potrivit lui Herrmann, combinația de DevOps, agile, containere, microservicii nu este doar o schimbare a tehnologiei de izolare. „Este o călătorie care duce la o transformare destul de semnificativă în modul în care va funcționa afacerea dvs.”, a spus el. "Primul meu sfat este să începem pentru că concurenții tăi sunt. Lăsați adoptatorii timpurii să pună piesele laolaltă este o strategie greșită, deoarece este posibil să nu fiți capabili."
2. Viziune cuprinzătoare
Herrmann a sfătuit să vă apropiați de containere dintr-un punct de vedere mai holistic. „Alege-ți cel mai important obiectiv”, a spus el. "Abilitatea de a furniza software-ul mai repede este un punct de plecare excelent. Pe baza acelui obiectiv, gândiți-vă la modul în care vă aduceți organizația în proces și structurați această lucrare fără riscuri și pericol pentru operațiunile dvs. existente."
3. Ecosistem
Herrmann a subliniat că multe întreprinderi sunt în limitele arhitecturii, proceselor și platformelor moștenite. "Nu poți schimba arhitectura fără să te gândești la platformele pe care vrei să te bazezi", a spus el. "Atunci întrebarea este: cu cine lucrez? Cu cine vorbesc? Recomandarea noastră este să căutăm companii care să poată ajuta nu doar cu problemele tehnologice, dar să gestioneze transformarea pe toate aceste dimensiuni: tehnologie, proces, până la capăt la organizație. Atunci când aveți de-a face cu cloud, DevOps, containere și microservicii împreună, doriți să vă bazați pe un ecosistem care vă poate ajuta să oferiți succes într-o perioadă scurtă de timp și să vă scăpați de la capătul fără fir."