Kako kontejnerizacija može pomoći u brzini i učinkovitosti projekta?

Autor: Roger Morrison
Datum Stvaranja: 28 Rujan 2021
Datum Ažuriranja: 19 Lipanj 2024
Anonim
Testcontainers – From Zero to Hero
Video: Testcontainers – From Zero to Hero

Sadržaj


Izvor: Sashazamarasha / Dreamstime.com

Oduzeti:

Kontejneri omogućuju programerima brži i učinkovitiji rad nego s virtualnim strojevima.

Ako ste čuli išta o virtualizaciji mreže, praksi apstrahiranja mreža od golog metala i pružanja im virtualnih resursa, vjerojatno ste čuli za spremnike. Ako ste dovoljno pročitali da biste shvatili kako se IT kontejneri razlikuju od, recimo, otpreme za kontejnere, znate malo o njihovoj strukturi i sastavu.

Kontejner je resurs za virtualizaciju koji dijeli jezgru kloniranog operativnog sustava s drugim spremnicima. Za postavljanje je potrebno manje napora nego virtualni stroj općenito, a ima i neke druge ključne prednosti. Sustavi koji uključuju Docker i Kubernetes spremnike omogućuju tvrtkama da grade i razmjeraju na nove i uzbudljive načine.

Zašto su kontejneri toliko popularni i kako doprinose učinkovitosti i poboljšanim operacijama? Evo nekoliko ideja nekih pionira kontejnerizacije koji su ovu filozofiju stavili u svoje tvrtke i organizacije. (Više o spremnicima potražite u odjeljku Kako spremnici pomažu u korporativnim aplikacijama.)


Inkapsulacija, mikroservisi i artefakti

Jedno od razgovora koje najčešće dobivate od inženjera koji s entuzijazmom koriste postavljanje spremnika je da sami spremnici mogu smjestiti potpunu bazu kodova sa svim svojim ovisnostima, onu koja je spremna za upotrebu.

Pomoću statičke datoteke koja se naziva slika spremnika, inženjeri mogu kombinirati biblioteke sustava i druge resurse sa cijelom aplikacijom ili njenim dijelom. To zauzvrat pokreće stvaranje i isporuku mikroservisa, gdje različiti spremnici imaju različite funkcije koje se mogu sastaviti zajedno u stvaranju agilnog ekosustava.

"Vjerujemo da je spremnik, ili bolje rečeno, slika spremnika novi artefakt isporuke softvera", kaže Chris Ciborowski, izvršni direktor NebulaWorks-a, koji s kontejnerima radi od njihovih ranih dana u 2000-ima. "Što mislim pod tim i zašto? Artefakt isporuke je izvršna verzija aplikacije za programere koja je spremna za primjenu. U prošlosti je to uključivalo samo izvršni kod, što je rješavanje ovisnosti o vremenu prepuštanja ostavilo operacijama. Korištenjem slike spremnika, programeri mogu uključiti sve njihove ovisnosti, uvelike smanjujući vjerojatnost neuspjeha runtimea zbog ljudske pogreške tijekom implementacije aplikacije. "


"Kontejneri koji omogućuju organizacijama da lako migriraju i aplikacije i njihove ovisnosti između strojeva imaju puno smisla za organizacije koje rade interni razvoj softvera", kaže Peter Tsai, viši analitičar tehnologije u SpiceWorksu, ističući da su spremnici još uvijek relativno nova tehnologija. "Rješenja trećih proizvođača za spremnike nisu toliko snažna koliko se nalaze u virtualizacijskom okruženju. Prema podacima Spiceworks-a, u 2018. samo je 19 posto organizacija koristilo kontejnere, iako se očekivalo da će taj broj porasti na 35 posto do 2020. "

Scott Buchanan, potpredsjednik marketinga u Heptiou, objašnjava to u obliku korisne logističke analogije.

Bez grešaka, bez stresa - Vaš korak po korak vodič za stvaranje softvera koji mijenja život bez uništavanja života

Ne možete poboljšati svoje programiranje kad nikoga nije briga za kvalitetu softvera.

"Razmislite o selidbi", kaže Buchanan. "Trebat će vam mnogo kartonskih kutija. Dakle, rasporedite ih hrpu u svom domu, a zatim ih napunite svim stvarima koje su vam važne: aplikacije. Umjesto da ih zatvorite i izgubite pristup svom posjedu, oni ostaju otvoreni tako da po potrebi možete organizirati svoje stvari između kutija. A kad trebate premjestiti te kutije, mnogo je jednostavnije od postavljanja kuće na kotače. Te kartonske kutije su spremnici i nude vam prenosivost kako biste svoje stvari premještali između lokacija, uključujući javni i privatni oblak. "

Filozofija DevOpsa

Kontejneri također pomažu tvrtkama da nastave s nečim što se zove "DevOps", što je vrsta svetog grala u poslovnoj tehnologiji. Ideja je da premošćujete odjele za razvoj i operacije, pomažete timovima da bolje sarađuju, a to poboljšava cjevovod i stvara okretniji sustav puštanja. (Želite saznati više o DevOpsu? Provjerite DevOps menadžeri objasnite što rade.)

"Ne samo što Devsi ostvaruju korist - već i operacije", objašnjava Ciborowski opisujući neke od ovih DevOps funkcionalnosti. "Budući da je slika spremnika prijenosna, operativni timovi mogu pokrenuti sliku spremnika na bilo kojem domaćinu koji ima usklađeno vrijeme izvršavanja spremnika - poput Dockera - i kako usvajanje raste, iskoristite alate za orkestraciju poput Kubernetesa za gotovo BILO KOJI niz aplikacija, za bilo koje vrste infrastrukture, za na primjer, lokalno i u oblaku. "

Izvršni direktor Ali Golshan iz StackRoxa dalje objašnjava neke od DevOps filozofije svojstvenih dizajnu spremnika, opisujući kako kontejnerizacija može pomoći poboljšanju cjevovoda.

"Kontejnerizacija omogućuje organizacijama da mnogo brže puštaju aplikacije i uvode nove funkcionalnosti za korisnike", kaže Golshan. "Budući da spremnici izoliraju kôd u manje jedinice, programeri mogu raditi samostalnije na poboljšanju funkcionalnosti. Container tehnologija također smanjuje teret testiranja, što ubrzava uvođenje softvera, jer programeri mogu testirati samo novi kôd, uvjereni da nisu "razbili" drugi dio aplikacije. "

ConDati-jev Dan Bartow opisuje kako je Kubernetes kontejnerizacija pomogla njegovoj tvrtki da se razvija.

"Prije Kubernetesa, morali smo se ručno obrušiti u svako okruženje i ručno napraviti nadogradnje povlačenjem novih spremnika, zaustavljanjem starih, pokretanjem novih i ručnim ponavljanjem za svakog kupca", kaže Bartow. „Kubernetes je pretvorio sate i sate rada u dane puštanja u samo nekoliko minuta. S nekoliko klikova možemo izvršiti obnavljanje ponovnog pokretanja svakog spremnika u bilo kojem ili svim okruženjima. To se događa neprimjetno. "

Kad ove vrste operacija pomognu programerima da usko sarađuju s operativnim timovima i razbiju barijere između odjela, oni mogu omogućiti bolji DevOps model, čineći tvrtku konkurentnijom u svojoj industriji.

sigurnosti

Uz sve što spremnici obećavaju u pogledu funkcionalnosti, oni imaju i neke važne sigurnosne prednosti. Golshan ima puno toga za reći kako "tanka napadna površina" u smještanju spremnika smanjuje rizik.

"Napadna površina s kontejnerima postaje i pojednostavljena i komplicirana", kaže Golshan. "S jedne strane, svaki 'komad' koda je manji, što smanjuje površinu napada. Osim toga, spremnici dolaze s puno deklarativnih informacija o tome kako ih treba konfigurirati, označiti i koristiti što može poboljšati sigurnost. "

A, dodaje, to nije sve.

"S druge strane, kontejneri uvode nove napadne površine na dva načina. Efermeralnost je jedan element. Budući da kontejneri rutinski dolaze i odlaze, u redu je poduzeti drastične sigurnosne mjere, poput ubijanja spremnika ako se ponaša "pogrešno." Ali ta ephemeralnost također znači da napadači mogu lakše prekriti svoje tragove i sprečiti forenzike pokretanjem napada, izvlačenjem podataka i zatim ubiju spremnik kad završe. Drugi element šire površine napada dolazi s drugim elementima ekosustava - ponajviše orkestratorom. Orkestratori pružaju organizacijama način da povećaju stvaranje, raspoređivanje i upravljanje spremnicima, ali industrija je vidjela više napada i ranjivosti vezane za orkestra. Tesla je vidio da je njegova Kubernetes-ova infrastruktura ugrožena na način koji je dopuštao napadačima da miniraju kriptovalute, a izvješće detaljno objašnjava kako napadač može ugroziti Shoberfyjeve Kubernetesove klastere. "

U Bartowovom slučaju, stvarna sigurnosna revizija treće strane potvrdila je da je manja napadna površina kontejnera plus za ConDati.

"Upravo smo završili test penetracije treće strane ... prvo što smo napravili, i oni su nam doslovno rekli da imamo" malu površinu napada ", kaže Bartow. "Kubernetes je ogroman dio zašto je to istina."

Sve gore navedeno upućuje na veliki potencijal kontejnera u sutrašnjem poslovnom IT svijetu. Razmislite o svim načinima na koje se te bitne prednosti mogu primijeniti na bilo koji vrhunski poslovni model.