Једно од питања које се често поставља у вези са Докером је како се он разликује од виртуелних машина (ВМ).
У домену инфраструктуре у облаку, виртуелне машине су дуго биле стандард због бројних предности које нуде. Међутим, замислите да постоји алтернатива која је лакша, економичнија и прилагодљивија. Управо то је Докер.
Докер је технологија заснована на контејнерима која омогућава развој дистрибуираних апликација. У овом чланку ћу детаљније објаснити разлике између виртуелних машина и Докер контејнера.
Шта су виртуелне машине?
Виртуелна машина је у суштини систем који се понаша као прави рачунар.
Једноставније речено, виртуелизација омогућава покретање више одвојених оперативних система на једном физичком рачунару. Свака виртуелна машина захтева свој оперативни систем, након чега се хардвер виртуелизује.
Шта је Докер?
Докер је алат који користи контејнере како би креирање, постављање и покретање апликација било знатно једноставније. Он пакује апликацију и све њене зависности у контејнер.
Учење Докера је једноставно!
Докер наспрам ВМ
Сада ћемо размотрити кључне разлике између Докер контејнера и виртуелних машина. Те разлике се углавном огледају у подршци за оперативни систем, безбедности, преносивости и перформансама.
Размотримо сваки од ових аспеката појединачно.
Подршка за оперативни систем
Подршка оперативног система код виртуелних машина и Докер контејнера је значајно различита. Као што се може видети на претходној слици, свака виртуелна машина има свој оперативни систем за госте који ради изнад оперативног система домаћина, што чини виртуелне машине релативно гломазним. Са друге стране, Докер контејнери деле оперативни систем домаћина, што им даје лаган карактер.
Чињеница да контејнери деле оперативни систем домаћина омогућава им да буду веома лаки и брзо се покрећу, у року од неколико секунди. Такође, трошкови управљања контејнерским системом су знатно нижи у поређењу са виртуелним машинама.
Докер контејнери су идеални у ситуацијама када желите да покренете више апликација користећи један кернел оперативног система. Међутим, ако имате апликације или сервере који морају да функционишу под различитим оперативним системима, виртуелне машине су неопходне.
Безбедност
Виртуелне машине не деле оперативни систем и имају чврсту изолацију на нивоу језгра домаћина. Због тога се сматрају безбеднијим у односу на контејнере. Контејнери носе већи безбедносни ризик и подложнији су нападима, јер деле језгро домаћина.
Додатно, пошто се ресурси Докера деле, а не именски простор, нападач може да угрози све контејнере у кластеру уколико добије приступ само једном од њих. Код виртуелних машина нема директног приступа ресурсима, а хипервизор је ту да ограничи њихово коришћење.
Преносивост
Докер контејнери су веома преносиви, јер немају засебне оперативне системе. Контејнер се може пренети на други ОС и одмах почети са радом. Са друге стране, виртуелне машине имају засебан оперативни систем, што отежава њихов пренос и захтева више времена због њихове величине.
У развојном окружењу где је потребно развијати и тестирати апликације на различитим платформама, Докер контејнери су одличан избор.
Перформансе
Не би било сасвим праведно директно поредити виртуелне машине и Докер контејнере, јер имају различите намене. Међутим, лагана архитектура Докера, која захтева мање ресурса, чини га бољим избором у многим ситуацијама. Контејнери се могу покренути знатно брже у поређењу са виртуелним машинама, а коришћење ресурса зависи од оптерећења.
За разлику од виртуелних машина, ресурси не морају трајно бити додељени контејнерима. Проширивање и копирање контејнера је такође једноставнији задатак у поређењу са виртуелним машинама, јер нема потребе за инсталирањем оперативног система.
Закључак
Следи табела која сажима разлике између виртуелних машина и Докер контејнера:
Виртуелна машина | Докер контејнер |
Изолација процеса на нивоу хардвера | Изолација процеса на нивоу ОС |
Свака ВМ има посебан ОС | Сваки контејнер може да дели ОС |
Покреће се за неколико минута | Покреће се за неколико секунди |
ВМ-ови су величине неколико ГБ | Контејнери су лагани (КБс/МБс) |
Готове ВМ је тешко пронаћи | Унапред направљени докер контејнери су лако доступни |
ВМ је теже пренети на нови хост | Контејнери се уништавају и поново креирају уместо да се премештају |
Креирање ВМ траје релативно дуже | Контејнери се могу креирати за неколико секунди |
Већа потрошња ресурса | Мања потрошња ресурса |
Да ли вам се свидео овај чланак? Поделите га са другима!