Vai jūs tikai sākat izmantot vizualizācijas rīkus? Vai uzlauzt savu ceļu caur tehnoloģiju sarunu konteineros un virtuālajās mašīnās.
Virtualizācija ietver procesu, kurā atsevišķus resursus, piemēram, RAM, centrālo procesoru, tīklus un diskus var „virtualizēt” un uzskatīt par vairākiem resursiem. Galvenā atšķirība ir tā, ka konteineri var virtualizēt tikai programmatūras slāņus, kas izveidoti virs operētājsistēmas līmeņa. Turpretim virtuālās mašīnas var virtualizēt visas mašīnas aparatūras slāņos.
Lai gan ir skaidra atšķirība, pastāv saraksts ar līdzībām starp konteineriem un virtuālajām mašīnām, tostarp to, kā tie uzlabo IT efektivitāti, nodrošina pārnesamību uz lietojumprogrammām, uzlabo DevOps un programmatūras izstrādes dzīves ciklu (SDLC). Vairāk par to vēlāk.
Šajā rakstā ir izdalīti konteineri un virtuālās mašīnas, apskatītas abu priekšrocības un nobeigumā sniegta piezīme par pareizā rīka izvēli atbilstoši jūsu vajadzībām. Tas arī pieņem, ka jums ir priekšzināšanas par konteineriem un virtuālajām mašīnām. Ja vēl neesat to izdarījis, tā joprojām ir lieliska vieta, kur sākt.
Virtualizācijas vēsture
Pirms konteineru izplatīšanas virtuālās mašīnas bija vienīgais risinājums vides izolēšanai fiziskajā infrastruktūrā. Taču tikai 2013. gadā Docker izlaida savu pirmo konteinerizācijas programmatūru.
Un kopš tā laika jūs, iespējams, pamanījāt lielo interesi par konteineriem un to, kā tie veido mākoņdatošanas ainavu.
Daudzi izstrādātāji ir ieguvuši lielāku interesi, jo īpaši par konteineru piedāvātās elastīgās attīstības priekšrocībām. Tomēr jāņem vērā, ka konteineri un virtuālās mašīnas ir veidotas, optimizējot esošās fiziskās infrastruktūras resursus.
Kā darbojas virtualizācija
Virtualizācija ietver programmatūras izmantošanu, lai izveidotu abstrakcijas slāni virs datora aparatūras, ļaujot aparatūras elementus, piemēram, jo īpaši no viena datora, sadalīt vairākos datoros. Šādu programmatūru sauc par hipervizoru.
Hypervisor ļauj vienlaikus darboties dažādām operētājsistēmām, koplietojot kopējos fiziskos skaitļošanas resursus. Ja to izmanto fiziskos datoros vai serveros datu centros, tas ļaus fiziskajiem datoriem atdalīt datoru operētājsistēmas (OS) un lietojumprogrammas no aparatūras. Pēc tam tas var sadalīties vairākās „virtuālajās mašīnās”.
Kas ir konteiners?
Avots: docker.com
Konteineri ir viegla, elastīga metode virtualizācijas apstrādei. Un, tā kā tiem nav nepieciešami hipervizori, tie dod jums tiesības uz ātrāku resursu nodrošināšanu un ātru pieejamību jaunām lietojumprogrammām.
Varat arī skatīt konteinerus kā programmatūras pakotnes, kas satur atkarības, kas nepieciešamas pārvaldītās lietojumprogrammatūras lietojumprogrammas izpildei.
Atkarības ietver sistēmu bibliotēkas, ārējās (trešās puses) kodu pakotnes un visu citu operētājsistēmas līmeņa lietojumprogrammu iekļaušanu. Visas konteinerā iekļautās atkarības pastāv steka līmeņos, kas ir augstāki par operētājsistēmām.
Plusi 👍
Mīnusi 👎
Populāri konteineru pārdevēji
Šeit ir daži labi zināmi konteineru nodrošinātāji:
Kas ir virtuālā mašīna?
Avots: docker.com
No otras puses, virtuālās mašīnas (VM) ir lielas (smagas) programmatūras pakotnes, kas nodrošina pilnīgu zema līmeņa aparatūras aprīkojuma, piemēram, centrālā procesora bloka (CPU), diska un tīkla ierīču emulāciju.
Virtuālās mašīnas ļauj darbināt vairākas mašīnas dažādās operētājsistēmās, tomēr vienā datorā. Kā minēts iepriekš, hipervizori ir veids, kā virtuālās mašīnas mijiedarbojas ar fiziskiem datoriem. Hipervizori atdala virtuālās mašīnas vienu no otras un sadala resursus, piemēram, atmiņu un procesorus.
Plusi 👍
Mīnusi 👎
Populāri virtuālo mašīnu pārdevēji
Šeit ir daži populāri virtuālo mašīnu pārdevēji:
Konteineri pret virtuālajām mašīnām
Lai gan virtuālās mašīnas pastāv jau tik ilgi, tās tiek aizstātas ar konteineriem līdzīgiem mērķiem. Jūs esat redzējis abu tehnoloģiju kopumu plusus un mīnusus. Šeit ir galvenās atšķirības.
FunkcijasKonteineri Virtuālās mašīnasLieli un mazāk pārnēsājami, pamatojoties uz katru virtuālo mašīnu, kurai ir sava operētājsistēma. Virtuālās mašīnas aizņem lielu vietu, mērot gigabaitos.
Virtuālās mašīnas nav pārnēsājamas.Tām nav savas operētājsistēmas.Ir savas operētājsistēmas un tādējādi veic papildu uzdevumus, tostarp; ar resursdatora operētājsistēmu nesaderīgu programmu palaišana, vairākas programmas dažādās operētājsistēmās un lietojumprogrammu izpilde, kas nevar koplietot operētājsistēmas resursus un funkcijas.Izmērs un pārnesamībaMazie un pārnēsājamie maksājumi par koplietošanas operētājsistēmu. Konteineri aizņem vietu, mērot megabaitos.
Konteinerus var pārvietot pa dažādiem datoriem. Konteineri tiek izpildīti ātrāk nekā virtuālās mašīnas, jo to operētājsistēma jau darbojas. Darbināšana prasa sekundes. Sāknēšanas laika ātruma virtuālās mašīnas ir lēnas, jo tām vispirms ir jāboot savas operētājsistēmas. Sāknēšana prasa vairākas minūtes.VM cena ir salīdzinoši augstāka — liela vajadzība pēc resursiem un sarežģītības līmeņi un augstas izmaksas.Piekļuve resursiemKonteineriem ir piekļuve visiem resursdatora resursiem.Virtuālās mašīnas izmanto tiem piešķirtos īpašos resursus. ko hipervizors.Drošība Mazāk droša. Konteineri, kas darbojas ar koplietojamo resursdatora operētājsistēmu, ir neaizsargāti, ja tiek apdraudēta resursdatora OS.Sarežģīta izvietošana; VM sarežģītības līmenis norāda, ka to izstrādei nepieciešams vairāk laika. Izvietošana neatšķiras.IzvietošanaViegla izvietošana; Tas ir saistīts ar to, ka tas ir “pašpietiekams”, un to ir viegli izvietot, pārvietot vai jaunināt. Virtuālo mašīnu cena ir salīdzinoši augstāka. Augstā nepieciešamība pēc resursiem un sarežģītības līmeņi kopā ar to rada augstas izmaksas.IzmaksasKonteineru cena ir salīdzinoši zemāka, jo tiem ir mazāk prasību nekā virtuālajām mašīnām. Virtuālās mašīnas cena ir salīdzinoši augstāka — liela nepieciešamība pēc resursiem un sarežģītība. līmeņi, kā arī augstās izmaksas.
Kā vienlaikus izmantot konteinerus un virtuālās mašīnas
Ja esat domājis, vai ir iespējams izmantot konteinerus un virtuālās mašīnas kopā, atbilde ir jā. Lai gan praktiskie gadījumi ir ierobežoti. Varat izveidot virtuālo mašīnu, lai emulētu noteiktas aparatūras konfigurācijas un instalētu operētājsistēmu.
Kad jūsu virtuālā mašīna ir sāknējusi operētājsistēmu un ir pilnībā funkcionāla, tagad esat aprīkots ar emulētu skaitļošanas sistēmu ar īpašu aparatūru, kurā varat instalēt konteinerus.
Labs piemērs šīs konfigurācijas ilustrēšanai ir eksperimentēšana ar sistēmu mikroshēmu izvietošanai. Dažas populāras metodes mikroshēmas skaitļošanas ierīcēm, piemēram, BeagleBone izstrādes plates un Raspberry Pi, var emulēt kā virtuālās mašīnas, lai eksperimentētu ar operatīviem (darbojošiem) konteineriem pirms testēšanas ar faktisko aparatūru.
Vēl viena konteineru un virtuālo mašīnu savienības izmantošanas priekšrocība ir drošības palielināšana. Piemēram, varat izvietot konteinerus virtuālajās mašīnās. Apsveriet piemēru, kur vienā datorā ir izvietoti desmit konteineri, lai parādītu, cik tas ir noderīgi.
Ja dators tiek apdraudēts, pastāv risks, ka tiks ietekmēti desmit konteineri. Risinājums tiek panākts, sadalot desmit konteinerus desmit virtuālajās mašīnās. Ja viena virtuālā mašīna tiek apdraudēta, pārējās sistēmas lietojumprogrammas daļas joprojām parasti darbojas.
Nobeiguma vārdi
Ja jums ir precīzas aparatūras specifikācijas savam projektam vai izstrādājat vienu aparatūru un joprojām mērķējat uz citu, piemēram, Windows vai MacOS, vislabāk būtu izmantot virtuālās mašīnas. Citos gadījumos, kad prasības ir “tikai programmatūra”, labākais risinājums būtu izmantot konteinerus.
Vairumā gadījumu jūsu vajadzības tiks apmierinātas ar jebkuru no jūsu izvēlēm. Lai izvēlētos labāko, izprotiet savas resursu vajadzības un saistītos kompromisus. Tāpēc pareizais rīks būs atkarīgs no jūsu projekta.
Ja jums nepieciešama ātra un efektīva izvietošana, konteineri ir labākā izvēle. Ja jūsu organizācijai ir jāvirtualizē visa operētājsistēma aparatūrā, vislabākās ir virtuālās mašīnas. Un, ja vēlaties palielināt drošību, vislabāk būtu abu veidu kombinācija; tomēr tam ir saistītas izmaksas.
Visbeidzot, gan konteineri, gan virtuālās mašīnas ir derīgi risinājumi. Tomēr jūsu specifikācijām vajadzētu būt noteicošajam faktoram. Ja jums joprojām ir nepieciešami papildu norādījumi un dziļa izpratne, es iesaku doties uz Docker vs. virtuālo mašīnu.