Виртуелизација физичког хардвера један је од најперспективнијих трендова 21. века. Постоји тихи договор да модерно рачунање треба прећи границе физичког хардвера. Као два најпопуларнија решења за виртуелне ресурсе на тржишту, Доцкер и виртуелне машине (ВМ) су били кључни у покретању транзиције ка виртуелизованом управљању ресурсима.
Међутим, многи су људи заглављени са којим избором да крену. У зависности од кога питате, Доцкер и виртуелне машине имају своје засебне предности. У овом ћемо чланку погледати дебату између Доцкер-а и виртуалних машина да бисмо видјели које предности свако може донијети вашој организацији.
Шта је Доцкер?
Доцкер је алат отвореног кода који користи контејнере за креирање, развити, и управљање дистрибуираним апликацијама. Програмери користе контејнере за креирање пакета за апликације које укључују све основне компоненте (попут библиотека) које су потребне за покретање апликације у изолацији. Искључивање контејнера са машине на којој се покреће осигурава да се апликација покрене чак и ако корисници раде прилагођене поставке на својој Линук машини и служи за минимализацију употребе рачунарских ресурса.
Откако је Доцкер пуштен 2014. године, стекао је критички признат статус. Многе организације се одлучују за коришћење Доцкер-а преко виртуелних машина због предности перформанси које он може да понуди. Данас компаније попут Виса и ПаиПал распоредиле су Доцкер да помогну у управљању њиховим апликацијама.
Шта је виртуелна машина?
А виртуелна машина је датотека (често се назива а хипервизор) који делује као физички рачунар. Виртуелна машина користи физичке ресурсе уређаја на којем ради да реплицира окружење физичког уређаја. Као и сваки други програм, и виртуална машина има свој прозор на уређају. На једном уређају можете покренути више виртуалних машина.
Иако виртуелна машина користи ресурсе рачунара за функционирање, она заправо обезбеђује сопствени виртуелни хардвер. Виртуелни хардвер виртуелне машине укључује Процесори, меморија, Хард дискови, и мрежни интерфејси. Да би рачунар био ефикасан, овај виртуелни хардвер се пресликава на физички хардвер уређаја.
Виртуелне машине су изоловане од система физичког уређаја и раде унутар песковник. Другим речима, виртуелна машина је у потпуности самостална. То их чини идеалним за стварање резервних копија и покретање софтвера. Најпопуларнији производи на тржишту су ВМВаре и ВиртуалБок.
Зашто треба да користим Доцкер?
Један од главних разлога који компаније користе Доцкер је алтернатива виртуалним машинама. Доцкер се користи као алтернатива јер јесу лакши у смислу ресурса него виртуелних машина. Контејнери деле оперативне системе док су виртуелне машине дизајниране тако да опонашају виртуелни хардвер. Дељењем оперативних система, Доцкер апликације могу да се покрећу док троше део ресурса виртуелне машине.
Доцкер користи Доцкер мотор који се налази преко једне Линук инстанце, а не на виртуелним машинама интензивним ресурсима које користе виртуелне машине. Ова структура значи да Доцкер контејнери имају потенцијал издржати преко пет пута већу количину инстанци сервер апликације које бисте могли да имате на виртуелној машини. Доцкеровом широком усвајању помогла је и чињеница да програмери могу да додају сопствени код да би прилагодили и размештали витке апликације. Те се апликације тада могу распоредити директно на машине или у облак.
Зашто ми треба виртуелна машина?
Иако Доцкер има предност у погледу свог отиска ресурса, виртуелне машине и даље су невероватно важне за савремене организације. И даље пружају поуздано средство за ограничавање трошкова који долазе са физичким хардвером. Виртуелизација ваше инфраструктуре виртуелним машинама омогућава ефикасније коришћење мрежних ресурса. На пример, не морате да форсирате напајање и ресурсе вентилатора да бисте одржавали виртуелну машину онако како бисте физички рачунар.
Такође, ресурсе можете много ефикасније да обезбедите виртуелним машинама. Виртуелне машине се могу преместити са сервера на сервер да би се осигурало равномерно распоређивање рачунарских ресурса међу уређајима. Администратори могу жонглирати виртуелним машинама тако да физичке могућности складиштења и обраде буду равномерно распоређене између више машина.
Виртуелне машине такође смањују ризик од квара ваше инфраструктуре. Док се физички уређај може суочити са падом перформанси и пропадањем током времена, виртуални хардвер не може. Као последица тога, многи администратори су почели да користе виртуелне машине као решење за опоравак од катастрофе и да праве резервне копије својих података.
Доцкер вс Виртуал Мацхинес Хеад то Хеад
Мање ефикасно | Ефикаснији |
ВМ-ови покрећу сопствени ОС | Контејнери дијеле хост оперативни систем |
Виртуализација хардвера | ОС Виртуализација |
Сигурније (одвојено) | Мање сигурно (изолација на нивоу процеса) |
Перформансе
Као што видите, Доцкер има неке својствене предности које пружа његова структура. Један контејнер може делити кернел и библиотеке апликација на начин који виртуелне машине не могу. исто тако, Доцкер захтева мање рачунарских ресурса од виртуелних машина што пружа боље искуство унутар апликације.
У стварном времену Доцкер је мање захтјеван и може се покренути много брже од виртуелних машина. Разлог је тај што виртуалне машине морају напунити ОС при сваком покретању. Слично томе, не морате да доделите ресурсе контејнерима као што је то случај са виртуелним машинама.
Менаџмент
У погледу управљања, свака од ових технологија нуди флексибилнији приступ пружању ресурса. Међутим, обе ове технологије још увек морају да се ефикасно управљају да би успешно функционисале у вашем окружењу. Са контејнерима се своди на управљање безбедносним проблемима и обезбеђивање да дељени оперативни систем не нађе никакве грешке.
Са виртуелним машинама сложеност се своди на управљање виртуелним ресурсима. На пример, ви потребни су пропусни опсег и капацитет обраде да би подржали виртуелне машине (посебно ако на једном уређају користите више виртуелних машина). Ако не доделите потребне ресурсе, виртуелне машине неће радити ефикасно.
Администратор такође мора да узме у обзир начин усклађивања употребе виртуелне машине са ресурсима доступним широм мреже. Иако је могућност померања виртуелних машина одлична за ефикаснију употребу ресурса, то са собом доноси и потребу да се ресурси равномерно распоређују. То се такође односи и на Доцкер, али мање је проблем због његових лакших перформанси.
Наравно, чак и ако савршено управљате својим ресурсима, још увек постоји велики број ризика повезаних са виртуелним машинама. Ту је ризик од прекорачења расположивих ресурса или појединачни хардверски неуспех у једном потезу бришући гомилу виртуелних машина. Ово ставља додатни притисак на администратора да остане изнад свих појединости о употреби. Овај проблем није јединствен за виртуелне машине, али им је то сигурно већи проблем него за Доцкер контејнере.
Преносивост
Преносивост сваке технологије је релевантна за оне који желе да оптимизирају мрежне ресурсе. Доцкер контејнери су самостални пакети који покрећу потребну апликацију. Доцкер контејнере можете лако пренијети јер немају одвојене ОС-ове. Једном када су портирани могу да се покрену у неколико секунди, што их чини алтернативнијом алтернативом.
Супротно томе, виртуелне машине нису преносиве јер свака има свој ОС. То их чини гломазним, јер ОС се не може пренијети на другу платформу и добро функционирати. У окружењима у којима вам је потребно да примените различите апликације у различитим проблемима, боље је са Доцкер-ом. Одвајање оперативног система од оперативног система главног уређаја осигурава да се апликације могу покренути без непотребних прекида.
Сигурност
Једна од кључних области спора између подршке виртуелних машина и Доцкера је та која је конфигурација сигурнија. Ово је посебно сложено подручје јер постоји много фактора који треба да се расправљају од урођених рањивости Доцкера до појединачне тачке неуспеха хипервизора виртуелне машине. У овом одељку ћемо погледати две највеће претње безбедности сваке од ових технологија.
ОС Сегрегација
И Доцкер и виртуалне машине раздвајају апликације једна од друге. То значи да ако се једна апликација састоји онда не може утицати на друге апликације. Теоретски, ово пружа савршену заштиту, али Доцкер има један основни проблем; све апликације деле један оперативни систем. Ако је оперативни систем прекршен из компромитоване апликације, напад би могао истовремено да погоди све контејнере.
Виртуелне машине спречавају овај проблем држећи ОС који се користи за контролу апликације одвојено од хипервизора која комуницира са хардвером. Постоји ОС са којим корисник може да комуницира да би користио апликацију, али не дозвољава им да комуницирају са хардвером. То значи да ако апликација има грешку, мало је вероватно да ће имати штетан утицај на хардвер главног система.
У том смислу, виртуелне машине нуде већу сигурност од грешака у ОС и кршења сигурности од Доцкер контејнера. Тхе модел одвајања апликација који Доцкер користи за оптимизацију употребе ресурса долази по цену сигурности. Предност има виртуелна машина јер ОС држи одвојено од хардвера како би умањила ризик од оштећења.
Појединачна тачка квара: Хипервисор
Међутим, само зато што су виртуелне машине сигурније у погледу одвајања апликација не значи да нису и без својих рањивости. У виртуелним машинама хипервисори су једина тачка неуспеха. Ако хипервизор пропусти, онда би се тона апликација могла спустити једним потезом. То значи да ако цибер нападач жели да оштети вашу мрежу, онда би могао да пошаље злонамерни софтвер на ВМ.
У поређењу, Доцкер контејнери немају ни једну тачку квара. Иако је због једне грешке могуће да апликације оставе рањиве, хипервисоре је врло тешко прекршити. Иако цибер нападач може прекршити хипервизора, то је мало вероватно због сложености кода који се користи. У овом тренутку, неуспех хипервизора више је потенцијално подручје несигурности него широко искоришћена тачка уласка.
Трошак
Трошак Доцкер-а и виртуелних машина је још једна област коју је тешко измерити. 451 Истраживања сугеришу да контејнери имају нижи ТЦО или укупни трошак власништва у односу на виртуелизацију хардвера. Разлог за то је што Доцкер контејнери ефикасније користе ресурсе. Свака виртуелна машина има сопствени оперативни систем који треба да подржава матични систем. Ово захтева рачунарске ресурсе који повећавају дугорочне физичке трошкове хардвера.
Доцкер елиминише овај проблем користећи један оперативни систем за све своје апликације. Контејнери деле један ОС у покушају да минимизирају потребе за ресурсима. Када користите више апликација, ово је посебно важно јер бисте могли да покренете више различитих апликација са само једним оперативним системом. За поређење, виртуелне машине би имале оперативни систем за сваку апликацију, што значи да постоји више ресурса за које морате платити.
Директне уштеде трошкова контејнера Доцкер је тешко измерити, али има много фактора који се морају узети у обзир. Бићете у могућности да извучете више пређених километара из ваше тренутне мрежне инфраструктуре помоћу контејнера него са виртуелним машинама. Исто тако, ако требате да повећате број, то можете учинити са мање ресурса, а притом ћете потрошити више енергије за одржавање виртуелних машина.
Које треба да користим и када?
Док Доцкер има предност у погледу ефикасности и перформанси, не правите грешку мислећи да су контејнери инхерентно бољи од виртуелних машина. Доцкер и виртуелне машине имају своје предности у одређеним ситуацијама. Утврђивање да ли се апликација налази у контејнеру или виртуелној машини у потпуности зависи од ваших потреба за коришћењем. У овом одељку ћемо погледати како да бирамо између та два.
Врста апликације
Први фактор који бисте требали узети у обзир при избору је врста апликације коју желите да имплементирате. Контејнери су дизајнирани да подрже апликације које нису повезане са хост оперативним системом. Доцкер контејнери намењени су онима које желите да покренете без обзира на инфраструктуру хост система. То значи да ако желите да задржите уграђене системе који се више интегришу са хост уређајем, боље је да се одлучите за виртуелну машину.
Величина
Следећи фактор који би требало узети у обзир при избору између ова два је величина ваше апликације. Количина рачунарских ресурса које ваша апликација треба да би се ефикасно покренула, одредиће које требате изабрати. Ако желите да издржите апликације којима треба само један рачунар за рад на рачунару попут микросервиса, тада би Доцкер контејнер био природнији избор. Супротно томе, виртуелна машина била би бољи избор за услуге високог приоритета попут база података.
Користите случајеве
Инфраструктура | Не | да |
Домаћини окружења контејнера | Не | да |
Базе података | Не | да |
Легаци Аппс | да | Не |
Микросервиси | да | Не |
Веб апликације | да | Не |
Као што видите, виртуелне машине имају предност у три главна случаја употребе: инфраструктура, домаћини контејнерског окружења, и базе података. Главно подручје је са инфраструктуром. Виртуелне машине могу креирати мрежну инфраструктуру у облику рутера и фиревалл-а на начин који није могућ са Доцкер-ом. Виртуелне машине имају могућност интеракције на нивоу виртуелног хардвера и омогућавају кориснику да врши измене у инфраструктури. Виртуелне машине се често користе као домаћин контејнера због њихове могућности интеракције са хардвером.
С друге стране, Доцкер нуди лаган начин размештања старих апликација у готово било ком окружењу. Ако библиотеке садрже апликацију, олакшава их имплементација. Микросервиси су такође идеални за Доцкер јер једноставна структура контејнера добро подноси апликације са једним основним задатком (за разлику од апликације са много различитих одговорности).
Доцкер вс Виртуал Мацхинес: Греатер Тогетхер
Иако Доцкер и виртуалне машине имају своје предности у односу на хардверске уређаје, Доцкер је ефикаснији од та два у погледу употребе ресурса. Ако би две организације биле потпуно идентичне и користиле исти хардвер, компанија која користи Доцкер могла би да издржи више апликација. Способност Доцкера да управља и имплементира апликације једноставно је миљама више од виртуелних машина.
На крају се то своди на унутрашњу архитектуру виртуелних машина. Емулација физичке инфраструктуре можда је лакша од хардверског уређаја, али још увек има превише масти да бисте били у току с Доцкером. Без сумње, с обе ове технологије се мора пажљиво управљати да би се максимизирала ефикасност.
Међутим, немојте да вас ухвате у потпуности отписивање виртуелних машина. Комбиновање ове две омогућава вам да покријете читав низ случајева коришћења и омогућава вам да виртуелне ресурсе одржате што флексибилнијим. Можете уживати у сигурности виртуелних машина на посебно важним апликацијама и ниским рачунарским захтевима Доцкера.
Такође видети: ВМ Мониторинг Алати и Софтвер
Virtualizacija fizičkog hardvera je jedan od najperspektivnijih trendova 21. veka. Postoji tihi dogovor da moderno računanje treba preći granice fizičkog hardvera. Kao dva najpopularnija rešenja za virtuelne resurse na tržištu, Docker i virtuelne mašine (VM) su bili ključni u pokretanju tranzicije ka virtualizovanom upravljanju resursima. Međutim, mnogi su ljudi zaglavljeni sa kojim izborom da krenu. U zavisnosti od koga pitate, Docker i virtuelne mašine imaju svoje zasebne prednosti. U ovom ćemo članku pogledati debatu između Dockera i virtuelnih mašina da bismo vidjeli koje prednosti svako može donijeti vašoj organizaciji.
Šta je Docker?
Docker je alat otvorenog koda koji koristi kontejnere za kreiranje, razvijanje i upravljanje distribuiranim aplikacijama. Programeri koriste kontejnere za kreiranje paketa za aplikacije koje uključuju sve osnovne komponente (poput biblioteka) koje su potrebne za pokretanje aplikacije u izolaciji. Isključivanje kontejnera sa mašine na kojoj se pokreće osigurava da se aplikacija pokrene čak i ako korisnici rade prilagođene postavke na svojoj Linux mašini i služi za minimizaciju upotrebe računarskih resursa.
Šta je virtuelna mašina?
A virtuelna mašina je datoteka (često se naziva a hipervizor) koji deluje kao fizički računar. Virtuelna mašina koristi fizičke resurse uređaja na kojem radi da replikira okruženje fizičkog uređaja. Kao i svaki drugi program, i virtuelna mašina ima svoj prozor na uređaju. Na jednom uređaju možete pokrenuti više virtuelnih mašina. Iako virtuelna mašina koristi resurse računara za funkcionalnost, ona zapravo obezbeđuje sopstveni virtuelni hardver. Virtuelni hardver virtuelne mašine uključuje procesore, memoriju, hard diskove i mrežne interfejse. Da bi računar bio efikasan, ovaj virtuelni hardver se preslikava na fizički hardver uređaja. Virtuelne mašine su izolovane od sistema fizičkog uređaja i rade unutar peskovnika. Drugim rečima, virtuelna mašina je u potpunosti samostalna. To ih čini idealnim za stvaranje rezervnih kopija i pokretanje softvera.
Koje treba da koristim i kada?
Iako Docker ima prednost u pogledu svog otiska resursa, virtuelne mašine i dalje su nevjerovatno važne za savremene organizacije. I dalje pružaju pouzdano sredstvo za ograničavanje troškova i zaštite podataka. U zavisnosti od vaših potreba, možda ćete želeti da koristite Docker ili virtuelne mašine ili čak kombinaciju oba. Na kraju, izbor između Dockera i virtuelnih mašina zavisi od vaših specifičnih potreba i ciljeva.