Да ли тек почињете са алатима за визуелизацију? Или да пробијете свој пут кроз разговор о технологији на контејнерима и виртуелним машинама.
Виртуелизација подразумева процес у коме појединачни ресурси као што су РАМ, ЦПУ, умрежавање и дискови могу бити „виртуелизовани“ и сматрани вишеструким ресурсима. Кључна разлика је у томе што контејнери могу виртуеловати само софтверске слојеве изграђене изнад нивоа оперативног система. Насупрот томе, виртуелне машине могу виртуелизовати читаве машине у хардверске слојеве.
Иако постоји јасна разлика, постоји листа сличности између контејнера и виртуелних машина, укључујући начин на који побољшавају ИТ ефикасност, доступност преносивости апликација, побољшавају ДевОпс и животни циклус развоја софтвера (СДЛЦ). Више о овоме касније.
Овај пост разлаже контејнере и виртуелне машине, зарони у предности оба и завршава напоменом о избору правог алата на основу ваших потреба. Такође претпоставља да имате предусловно знање о контејнерима и виртуелним машинама. Ако нисте, и даље је одлично место за почетак.
Историја виртуелизације
Пре ширења контејнера, виртуелне машине су биле једино решење за изоловање окружења унутар физичке инфраструктуре. Али тек 2013. Доцкер је објавио свој први софтвер за контејнеризацију.
И од тада, можда сте приметили велико интересовање за контејнере и како они обликују пејзаж рачунарства у облаку.
Многи програмери су стекли веће интересовање, посебно за предности агилног развоја који нуде контејнери. Међутим, треба да имате на уму да су контејнери и виртуелне машине изграђене на оптимизацији ресурса у постојећој физичкој инфраструктури.
Како функционише виртуелизација
Виртуелизација укључује коришћење софтвера за креирање слоја апстракције преко рачунарског хардвера, омогућавајући хардверским елементима, рецимо са једног рачунара, да се поделе на више рачунара. Такав софтвер се назива хипервизор.
Хипервизор омогућава да различити оперативни системи раде истовремено, деле заједничке физичке рачунарске ресурсе. Када се користи на физичким рачунарима или серверима у центрима података, омогућиће физичким рачунарима да одвоје рачунарске оперативне системе (ОС) и апликације од хардвера. Након тога, може се поделити на више „виртуелних машина“.
Шта је контејнер?
Извор: доцкер.цом
Контејнери су лагана, агилна метода за руковање виртуелизацијом. А пошто им нису потребни хипервизори, они вам дају право на брже обезбеђивање ресурса и брзу доступност за нове апликације.
Такође можете да видите контејнере као софтверске пакете који садрже зависности потребне за извршавање апликације управљаног апликативног софтвера.
Зависности укључују системске библиотеке, екстерне пакете кода (треће стране) и укључивање свих других апликација на нивоу оперативног система. Све зависности које су укључене у контејнер постоје на више нивоа стека од оперативних система.
За 👍
Против 👎
Популарни продавци контејнера
Ево неких познатих добављача контејнера:
Шта је виртуелна машина?
Извор: доцкер.цом
Виртуелне машине (ВМ), с друге стране, су велики (тешки) софтверски пакети који обезбеђују потпуну емулацију хардверске опреме ниског нивоа као што је централна процесорска јединица (ЦПУ), диск и мрежни уређаји.
ВМ вам омогућавају да покренете више машина на различитим оперативним системима, али и даље на једном рачунару. Као што је раније поменуто, хипервизори су начин на који ВМ комуницирају са физичким рачунарима. Хипервизори одвајају ВМ једни од других и међу њима додељују ресурсе попут меморије и процесора.
За 👍
Против 👎
Популарни добављачи виртуелних машина
Ево неколико популарних добављача виртуелних машина:
Контејнери против виртуелних машина
Док виртуелне машине постоје већ дуго, замењују их контејнери за сличне сврхе. Видели сте предности и недостатке обе технологије. Ево примарних разлика.
ФеатуреЦонтаинерс Виртуелне машине Велике и мање преносиве на основу сваке ВМ која има свој оперативни систем. Виртуелне машине заузимају велики простор, мерено у гигабајтима.
ВМ нису преносиви. Немају сопствени оперативни систем. Имају своје оперативне системе и на тај начин обављају додатне задатке укључујући; покретање програма који нису компатибилни са оперативним системом домаћина, више програма на различитим оперативним системима и извршавање апликација које не могу да деле ресурсе и функционалности оперативног система. Величина и преносивост Мале и преносиве обавезе због заједничког оперативног система. Контејнери заузимају простор мерено у мегабајтима.
Контејнери се могу премештати на различите рачунаре. Контејнери се извршавају брже од виртуелних машина због оперативног система који већ ради. Потребно је неколико секунди да се покрене. Брзина покретања ВМ-ова је спора јер прво морају да покрену сопствене оперативне системе. Потребно је неколико минута да се покрене. Цена ВМ-а је релативно виша—висока потреба за ресурсима и нивоима сложености и висока цена. Приступ ресурсима Контејнери имају приступ свим ресурсима на Хост машини. Виртуелне машине користе специфичне ресурсе који су им додељени од стране хипервизора.Безбедност Мање безбедно. Контејнери који раде на дељеном оперативном софтверу хоста су рањиви када је ОС хост компромитован. Комплексно постављање; ниво сложености ВМ-а указује да им је потребно више времена за развој. Примена се не разликује. ДеплоиментЕаси имплементација; ово је због његове природе, „самосталног“ и има малу лакоћу у постављању, премештању или надоградњи. Цена ВМ-а је релативно виша. Велика потреба за ресурсима и нивоима сложености, заједно са њом, представља високу цену. ЦенаЦена контејнера је релативно нижа јер има мање захтева него у ВМ-овима. Цена ВМ-а је релативно виша—велика потреба за ресурсима и сложеношћу нивоа, заједно са високим трошковима.
Како истовремено користити контејнере и виртуелне машине
Ако сте се питали да ли је могуће користити контејнере и виртуелне машине заједно, одговор је да. Иако су практични случајеви ограничени. Можете креирати ВМ за емулацију одређених хардверских конфигурација и инсталирати оперативни систем.
Када ваш ВМ покрене оперативни систем и буде потпуно функционалан, сада сте опремљени емулираним рачунарским системом са специфичним хардвером на који можете инсталирати контејнере.
Добар пример за илустрацију ове конфигурације је експериментисање са системом за примену чипа. Неке популарне методе за рачунарске уређаје на чипу као што су БеаглеБоне развојне плоче и Распберри Пи могу се емулирати као виртуелне машине за експериментисање са оперативним (покренутим) контејнерима пре тестирања на стварном хардверу.
Још једна предност коришћења споја контејнера и виртуелних машина је повећање безбедности. На пример, можете да примените контејнере у виртуелним машинама. Размотрите пример где је десет контејнера распоређено на једном рачунару да бисте показали колико је то корисно.
Ако рачунар буде угрожен, ризикујете да утичете на десет контејнера. Решење се постиже дистрибуцијом десет контејнера на десет виртуелних машина. Ако је једна виртуелна машина угрожена, остали делови системске апликације и даље обично раде.
Завршне речи
Ако имате прецизне хардверске спецификације за свој пројекат или развијате на једном хардверу и још увек циљате на други, као што је Виндовс против МацОС-а, најбоље би било да користите виртуелне машине. У другим случајевима где су захтеви „само софтвер“, најбоља опција би била употреба контејнера.
У већини случајева, ваше потребе ће бити задовољене било којим од ваших избора. Да бисте изабрали најбољи, разумејте своје потребе за ресурсима и повезане компромисе. Прави алат ће стога зависити од вашег пројекта.
Ако вам је потребна брза, ефикасна примена, контејнери су ваш најбољи избор. Ако ваша организација треба да виртуализује комплетан оперативни систем на хардверу, ВМ су најбољи. А ако желите да максимизирате сигурност, комбинација оба би била најбоља; међутим, то има повезане трошкове.
На крају, и контејнери и виртуелне машине су валидна решења. Међутим, ваше спецификације би требало да буду одлучујући фактор који води. Ако вам је и даље потребно више упутстава и дубоког разумевања, предлажем да се упутите на Доцкер против виртуелне машине.