LFCA: Tgħallem il-Kunċetti Bażiċi tal-Użu tal-Kontenituri - Parti 22


Maż-żmien, hekk kif id-domanda għall-ittestjar rapidu u l-iskjerament tal-applikazzjonijiet kibret flimkien ma 'ċikli tan-negozju aktar mgħaġġla, l-organizzazzjonijiet kienu mġiegħla jinnovaw sabiex ilaħħqu mal-ambjent tan-negozju b'ritmu mgħaġġel.

It-tfittxija biex jiġu mmodernizzati l-applikazzjonijiet u jinbnew oħrajn ġodda biex jinħolqu flussi tax-xogħol b'aġilità wasslet għall-kunċett tal-użu tal-kontenituri. It-teknoloġija tal-kontenerizzazzjoni hija kważi qadima daqs il-virtwalizzazzjoni. Madankollu, il-kontenituri ma qabdux ħafna eċċitament sakemm Docker sploda fix-xena fl-2013 u qajjem interess frenetiku fost l-iżviluppaturi u professjonisti oħra tal-IT.

Bħalissa, l-entitajiet teknoloġiċi ġganti kollha bħal Google, Amazon, Microsoft, u Red Hat biex insemmu xi ftit qabżu fuq il-bandwagon.

Għaliex Kontenituri?

Waħda mill-isfidi li ffaċċjaw l-iżviluppaturi hija d-differenza fl-ambjenti tal-kompjuters f'kull stadju tal-iżvilupp tas-softwer. Il-kwistjonijiet jinqalgħu meta l-ambjent tas-softwer ikun differenti minn stadju għall-ieħor.

Per eżempju, applikazzjoni tista 'taħdem bla xkiel fuq ambjent ta' ttestjar billi tuża Python 3.6. Madankollu, l-applikazzjoni taġixxi b'mod stramb, tirritorna xi żbalji jew tiġġarraf għal kollox meta tiġi trasferita għal ambjent ta 'produzzjoni li jħaddem Python 3.9.

Kontenituri daħlu fuq il-post biex jindirizzaw din l-isfida u jiżguraw li l-applikazzjonijiet jaħdmu b'mod affidabbli meta jiġu mċaqalqa minn ambjent tal-kompjuter għall-ieħor f'kull stadju tal-iżvilupp tas-softwer - mill-PC tal-iżviluppaturi sa l-ambjent tal-produzzjoni. U mhuwiex biss l-ambjent tas-softwer li jista 'jġib tali inkonsistenzi, iżda wkoll id-differenzi fil-politiki tas-sigurtà.

X'inhuma l-Kontenituri?

Kontenitur huwa unità ta’ softwer iżolata li tippakkja l-kodiċi binarju, il-libreriji, l-eżekutibbli, id-dipendenzi u l-fajls tal-konfigurazzjoni kollha f’pakkett wieħed b’tali mod li l-applikazzjoni taħdem bla xkiel meta tiġi trasferita minn ambjent tal-kompjuter għal ieħor. Ma tiġix b'immaġni tas-sistema operattiva li tagħmilha ħafifa u faċilment portabbli.

Immaġini ta 'kontenitur hija pakkett waħdu, ħafif u eżekutibbli li jiġbor dak kollu meħtieġ biex tesegwixxi l-applikazzjoni. Fil-ħin tar-runtime, immaġini ta 'kontenitur tittrasforma f'kontenitur. Fil-każ ta 'Docker, pereżempju, immaġni Docker issir kontenitur docker meta tiġi eżegwita fuq Docker Engine. Docker huwa ambjent ta 'runtime użat għall-bini ta' applikazzjonijiet f'kontejners.

Il-kontenituri jaħdmu f'iżolament sħiħ mis-sistema operattiva sottostanti, u l-applikazzjonijiet fil-kontejners dejjem se jaħdmu b'mod konsistenti irrispettivament mill-ambjent tal-kompjuter jew l-infrastruttura. Huwa għal din ir-raġuni li żviluppatur jista 'jiżviluppa applikazzjoni mill-kumdità ta' dan il-laptop u jużaha faċilment fuq server.

Il-konsistenza u l-affidabbiltà tat-tħaddim tal-kontenituri jagħtu paċi tal-moħħ lill-iżviluppaturi li jkunu jafu li l-applikazzjonijiet tagħhom se jaħdmu kif mistenni irrispettivament minn fejn jiġu skjerati.

Kif huma differenti l-Kontenituri mill-Magni Virtwali?

Ħaġa komuni li l-kontenituri u l-magni virtwali jaqsmu hija li joperaw f'ambjent virtwali. Il-kontenerizzazzjoni, f'ċertu sens, hija forma ta 'teknoloġija virtwalizzata. Madankollu, il-kontenituri huma differenti minn magni virtwali f'aktar minn wieħed.

Magna virtwali msemmija wkoll bħala istanza virtwali jew VM fil-qosor hija emulazzjoni ta 'server fiżiku jew PC. Il-virtwalizzazzjoni hija teknoloġija li tagħmilha possibbli li jinħolqu magni virtwali. Il-kunċett tal-virtwalizzazzjoni jmur lura għall-bidu tas-snin sebgħin u stabbilixxa l-pedament għall-ewwel ġenerazzjoni tat-teknoloġija tal-cloud.

Fil-virtwalizzazzjoni, jinħoloq saff ta' astrazzjoni fuq server tal-metall vojt jew ħardwer tal-kompjuter. Dan jagħmilha possibbli li r-riżorsi tal-ħardwer ta' server wieħed ikunu kondiviżi bejn magni virtwali multipli.

Is-softwer użat biex jagħmel is-saff ta 'l-astrazzjoni jissejjaħ hypervisor. L-hypervisor jastraxxi l-magna virtwali u l-OS mistieden mill-bare metal jew hardware tal-kompjuter attwali. Għalhekk, magna virtwali tiltaqa 'fuq l-hypervisor li tagħmel ir-riżorsi tal-ħardwer disponibbli grazzi għas-saff ta' astrazzjoni.

Il-magni virtwali jħaddmu sistema operattiva sħiħa (mistieden OS) li hija indipendenti mis-sistema operattiva sottostanti (host OS) li fuqha huwa installat l-hypervisor. L-OS mistieden imbagħad jipprovdi pjattaforma biex jibni, jittestja u juża applikazzjonijiet flimkien mal-libreriji u l-binarji tagħhom.

[ Tista' wkoll tixtieq: Kif tinstalla KVM fuq CentOS/RHEL 8 ]

Hemm żewġ tipi ta' Hypervisors:

Dan l-hypervisor huwa installat direttament fuq server fiżiku jew il-hardware sottostanti. M'hemm l-ebda sistema operattiva li tpoġġi bejn l-hypervisor u l-ħardwer tal-kompjuter, għalhekk l-isem tat-tikketta hypervisor bare-metal. Jipprovdi appoġġ eċċellenti peress li r-riżorsi mhumiex kondiviżi mas-sistema operattiva ospitanti.

Minħabba l-effiċjenza tagħhom, l-hypervisors tat-Tip 1 jintużaw l-aktar f'ambjenti ta 'intrapriżi. Il-bejjiegħa tal-hypervisor tat-Tip 1 jinkludu VMware Esxi u KVM.

Dan huwa wkoll meqjus bħala hypervisor ospitat. Huwa installat fuq is-sistema operattiva ospitanti u jaqsam ir-riżorsi tal-hardware sottostanti mal-OS ospitanti.

L-hypervisors tat-Tip 2 huma ideali għal ambjenti informatiċi żgħar u jintużaw l-aktar għall-ittestjar tas-sistemi operattivi u r-riċerka. Il-bejjiegħa tal-hypervisor tat-Tip 2 jinkludu VMware Workstation Pro.

Magni virtwali għandhom it-tendenza li jkunu kbar fid-daqs (Jistgħu jieħdu diversi GBs), bil-mod biex jibdew u jieqfu u gobble ħafna riżorsi tas-sistema li jwasslu għal hang-ups u prestazzjoni bil-mod minħabba riżorsi limitati. Bħala tali, magna virtwali hija kkunsidrata goffa u hija assoċjata ma 'spejjeż ġenerali għoljin.

Kontenituri

B'differenza minn magna virtwali, kontenitur ma jeħtieġx hypervisor. Kontenitur joqgħod fuq server fiżiku u s-sistema operattiva tiegħu u jaqsam l-istess qalba bħall-OS fost affarijiet oħra bħal libreriji u binarji. Kontenituri multipli jistgħu jaħdmu fuq l-istess sistema, kull wieħed iħaddem is-sett ta 'applikazzjonijiet u proċessi tiegħu mill-bqija. Pjattaformi tal-kontejners popolari jinkludu Docker u Podman.

B'differenza mill-magni virtwali, il-kontenituri jaħdmu f'iżolament sħiħ mis-sistema operattiva sottostanti. Il-kontenituri huma eċċezzjonalment ħfief – ftit Megabytes biss – jieħdu inqas spazju, u jiffavorixxu r-riżorsi. Huma faċli biex jibdew u jitwaqqfu u jistgħu jimmaniġġjaw aktar applikazzjonijiet minn magna virtwali.

Il-kontenituri jipprovdu mod konvenjenti ta’ kif jiġu ddisinjati, ttestjati, u skjerati applikazzjonijiet mill-PC tiegħek dritt għal ambjent ta’ produzzjoni, kemm jekk ikun fuq il-premessa jew sħaba. Hawn huma xi wħud mill-benefiċċji tal-użu ta 'applikazzjonijiet fil-kontejners.

Qabel il-kontenituri, kellna l-mudell monolitiku antikwat fejn applikazzjoni sħiħa li tinkludi kemm komponenti frontend kif ukoll backend tkun miġbura f'pakkett wieħed. Il-kontenituri jagħmluha possibbli li applikazzjoni tinqasam f'komponenti individwali multipli li jistgħu jikkomunikaw ma' xulxin.

Dan il-mod, timijiet ta 'żvilupp jistgħu jikkollaboraw fuq diversi partijiet ta' applikazzjoni sakemm ma jsiru l-ebda modifiki kbar fir-rigward ta 'kif l-applikazzjonijiet jinteraġixxu ma' xulxin.

Fuq dan huwa bbażat il-kunċett tal-mikroservizzi.

Iktar modularità tfisser aktar produttività peress li l-iżviluppaturi huma kapaċi jaħdmu fuq komponenti individwali tal-applikazzjoni u jiddebuggjaw żbalji ħafna aktar malajr minn qabel.

Meta mqabbla ma' magni virtwali u ambjenti informatiċi konvenzjonali oħra, il-kontenituri jużaw inqas riżorsi tas-sistema peress li ma jinkludux sistema operattiva. Dan jevita nefqa bla bżonn fuq l-akkwist ta' servers għaljin biex jinbnew u jiġu ttestjati l-applikazzjonijiet.

Minħabba l-impronta żgħira tagħhom, l-applikazzjonijiet fil-kontejners jiġu skjerati faċilment f'diversi ambjenti informatiċi/sistemi operattivi.

Kontenituri jippermettu skjerament rapidu u skalar ta 'applikazzjonijiet. Jipprovdu wkoll il-flessibbiltà tant meħtieġa biex jintużaw applikazzjonijiet f'diversi ambjenti tas-softwer.

Kif Jibbenefikaw il-Kontenituri għat-Timijiet DevOps?

Il-kontenituri għandhom rwol ewlieni fid-DevOps u jkun impossibbli li wieħed jimmaġina kif tkun is-sitwazzjoni mingħajr applikazzjonijiet fil-kontejners. Allura, x'iġibu l-kontenituri fuq il-mejda?

L-ewwel, il-kontenituri jirfdu l-arkitettura tal-mikroservizzi, li jippermettu li l-blokki tal-bini ta 'applikazzjoni sħiħa jiġu żviluppati, skjerati, u skalati b'mod indipendenti. Kif issemma, dan iwassal għal kollaborazzjoni akbar u skjerament rapidu tal-applikazzjonijiet.

Il-kontenerizzazzjoni għandha wkoll rwol ewlieni fil-faċilitazzjoni tal-pipelines CI/CD billi tipprovdi ambjent ikkontrollat u konsistenti għall-applikazzjonijiet tal-bini. Il-libreriji u d-dipendenzi kollha huma ppakkjati flimkien mal-kodiċi f'unità waħda għal skjerament aktar mgħaġġel u eħfef. L-applikazzjoni ttestjata se tkun is-softwer eżatt li se jiġi skjerat fil-produzzjoni.

Barra minn hekk, il-kontenituri jtejbu t-tnedija ta' garżi u aġġornamenti meta applikazzjoni tinqasam f'diversi mikroservizzi, kull wieħed f'kontenitur separat. Kontenituri individwali jistgħu jiġu eżaminati, patched, u jerġgħu jibdew mingħajr interruzzjoni tal-bqija tal-applikazzjoni.

Kwalunkwe organizzazzjoni li tfittex li tikseb il-maturità fid-DevOps għandha tikkunsidra li tisfrutta l-qawwa tal-kontenituri għal skjeramenti b'aġilità u bla xkiel. L-isfida tinsab f'li tkun taf kif tikkonfigurahom, tissigura, u tiskjerahom bla xkiel f'diversi ambjenti.