Содржина
Ако работите во или околу софтверската индустрија, веројатно сте слушнале за виртуелни машини. Ако не, можеби се прашувате што се и за што се користат.
Како софтверски инженер, секојдневно користам виртуелни машини. Тие се моќни алатки за развој на софтвер, но имаат и други намени. Исто така познати како VMs, многу бизниси ги користат поради нивната флексибилност, доверливост и исплатливост; тие, исто така, спречуваат катастрофи од неизбежно тестирање на софтверот.
Ајде да погледнеме што се виртуелни машини и зошто се користат.
Што е виртуелна машина?
Виртуелната машина е пример на оперативен систем (ОС) како што се Windows, Mac OS или Linux што работи во главниот оперативен систем на компјутерот.
Вообичаено, работи во прозорец на апликација на вашиот десктоп. Виртуелната машина има целосна функционалност и делува како посебен компјутер или машина. Во суштина, виртуелната машина е виртуелен компјутер што работи во друг компјутер познат како машина домаќин.
Слика 1: Виртуелна машина работи на лаптоп.
Виртуелната машина не да имате хардвер (меморија, хард диск, тастатура или монитор). Користи симулиран хардвер од машината домаќин. Поради ова, повеќе VM-а, исто така познати како „гости“, може да се извршуваат на една машина-домаќин.
Слика 2: Машина-домаќин работи со повеќе VM-а.
Домаќинот исто така може да работи повеќе VM со различно работењесистеми, вклучувајќи Linux, Mac OS и Windows. Оваа способност зависи од софтверот наречен хипервизор (види Слика 1 погоре). Хипервизорот работи на машината домаќин и ви овозможува да креирате, конфигурирате, стартувате и управувате со виртуелни машини.
Хипервизорот доделува простор на дискот, закажува време за обработка и управува со користењето на меморијата за секој VM. Ова е она што го прават апликациите како Oracle VirtualBox, VMware, Parallels, Xen, Microsoft Hyper-V и многу други: тие се хипервизори.
Хипервизорот може да работи на лаптоп, компјутер или сервер. Ги прави виртуелните машини достапни за локалниот компјутер или корисниците дистрибуирани низ мрежата.
Различни типови виртуелни машини и околини бараат различни типови хипервизори. Ајде да погледнеме некои од нив.
Видови виртуелни машини
Системски виртуелни машини
Системските VM, понекогаш наречени целосна виртуелизација, се управувани од хипервизор и обезбедуваат функционалност на вистински компјутерски систем. Тие го користат мајчиниот оперативен систем на домаќинот за управување и споделување на системските ресурси.
Системските виртуелни машини често бараат моќен домаќин со брзи или повеќекратни процесори, голема количина на меморија и тони простор на дискот. Некои, кои работат на лични или лаптоп компјутери, можеби нема да бараат компјутерска моќ што им е потребна на виртуелните сервери на големите претпријатија; сепак, тие ќе работат бавно ако системот на домаќинот не е соодветен.
Процес виртуеленМашини
Процес на виртуелните машини се сосема различни од SVM-можеби да ги имате да работат на вашата машина и дури и да не го знаете тоа. Тие се исто така познати како виртуелни машини за апликации или управувани околини за време на траење (MREs). Овие виртуелни машини работат во оперативен систем домаќин и поддржуваат апликации или системски процеси.
Зошто да користите PVM? Тие вршат услуги без да бидат зависни од специфични оперативни системи или хардвер. Тие имаат свој мал оперативен систем само со ресурсите што им се потребни. MRE е во посебна средина; не е важно дали работи на Windows, Mac OS, Linux или која било друга домаќинска машина.
Една од најчестите процесни виртуелни машини е онаа за која веројатно сте слушнале и можеби сте виделе дека работи на вашиот компјутер. Се користи за извршување на Java апликации и се нарекува Java Virtual Machine или JVM скратено.
Видови хипервизори
Повеќето од виртуелните машини со кои се занимаваме користат хипервизор бидејќи емулираат цел компјутерски систем. Постојат два различни типа на хипервизори: хипервизори од гол метал и хостирани хипервизори. Ајде брзо да ги погледнеме и двете.
Bare Metal Hypervisor
BMHs може да се наречат и природни хипервизори и тие работат директно на хардверот на домаќинот наместо да работат во оперативниот систем на домаќинот. Всушност, тие го заземаат местото на оперативниот систем на домаќинот, распоредот иуправување со употребата на хардверот од секоја виртуелна машина, со што се отсекува „средниот човек“ (оперативниот систем на домаќинот) во процесот.
Главните хипервизори вообичаено се користат за VM од големи претпријатија, кои компаниите ги користат за да им обезбедат на вработените ресурси на серверот. Microsoft Azure или Amazon Web Services се VM хостирани на овој тип на архитектура. Други примери се KVM, Microsoft Hyper-V и VMware vSphere.
Hosted Hypervisor
Hosted hypervisor работат на стандардни оперативни системи - исто како и секоја друга апликација што ја работиме на нашите машини. Тие го користат оперативниот систем на домаќинот за управување и дистрибуција на ресурсите. Овој тип на хипервизор е подобро прилагоден за индивидуални корисници кои треба да работат повеќе оперативни системи на нивните машини.
Тие вклучуваат апликации како Oracle VirtualBox, VMware Workstations, VMware Fusion, Parallels Desktop и многу други. Можете да најдете подетални информации за хостирани хипервизори во нашата статија, Најдобар софтвер за виртуелна машина.
Зошто да користите виртуелни машини?
Сега кога имате основно разбирање за тоа што е виртуелна машина, веројатно можете да помислите на некои одлични апликации. Еве некои од главните причини зошто луѓето користат виртуелни машини.
1. Ефективни
Виртуелните машини се исплатливи во многу ситуации. Еден од најистакнатите е во корпоративниот свет. Користењето физички сервери за обезбедување ресурси за вработените можебиде многу скапо. Хардверот не е евтин, а неговото одржување е уште поскапо.
Употребата на виртуелни машини како сервери на претпријатијата сега стана норма. Со VM од провајдер како MS Azure, нема првични купувања на хардвер и нема такси за одржување. Овие VM може да се постават, конфигурираат и да се користат за само пени на час. Тие, исто така, може да се исклучат кога не се користат и воопшто да не прават трошоци.
Користењето на VM на вашата машина, исто така, може да биде огромна заштеда на пари. Ако треба да работите во повеќе оперативни системи или различни хардверски конфигурации, можете
да користите повеќе виртуелни машини на еден хост—нема потреба да излегувате и да купувате посебен компјутер за секоја задача.
2. Скалабилни и флексибилни
Без разлика дали се деловни сервери или VM што работат на вашиот лаптоп, виртуелните машини се скалабилни. Лесно е да ги прилагодите ресурсите за да одговараат на вашите потреби. Ако ви треба повеќе меморија или простор на тврдиот диск, само одете во хипервизорот и повторно конфигурирајте го VM за да има повеќе. Нема потреба да купувате нов хардвер и процесот може да се заврши брзо.
3. Брзо поставување
Може брзо да се постави нов VM. Имав случаи кога ми требаше ново поставување на VM, му се јавив на мојот соработник кој управува со нив и ги подготвив за употреба за помалку од еден час.
4. Disaster Recovery
Ако се обидувате да спречите загуба на податоци и да се подготвите за враќање од катастрофи, VMs може да бидатстрашна алатка. Лесно се прави резервна копија и може да се дистрибуираат на различни локации доколку е потребно. Ако трета страна како Microsoft или Amazon ги хостира виртуелните машини, тие ќе бидат надвор од локацијата - што значи дека вашите податоци се безбедни ако вашата канцеларија изгори.
5. Лесно се репродуцира
Повеќето хипервизори ви дозволуваат да направите копија, или слика, од VM. Сликата ви овозможува лесно да вртите точни репродукции на истата основна VM за секоја ситуација.
Во околината во која работам, на секој развивач му даваме VM да го користи за развој и тестирање. Овој процес ни овозможува да имаме конфигурирана слика со сите потребни алатки и софтвер. Кога имаме нов програмер што се вклучува, сè што треба да направиме е да направиме копија од таа слика и тие го имаат она што им е потребно за да функционираат.
6. Совршени за Dev/Test
Една од најдобрите предности на користењето виртуелни машини е тоа што тие се совршена алатка за развој и тестирање на софтвер. VM им овозможуваат на програмерите да се развиваат на повеќе платформи и околини на една машина. Ако тој VM се расипе или уништи, може брзо да се создаде нов.
Тие му дозволуваат на тестерот да има чиста нова средина за секој тест циклус. Работев на проекти каде што поставуваме автоматизирани тест скрипти кои создаваат нов VM, ја инсталираме најновата верзија на софтверот, ги извршуваме сите потребни тестови, а потоа го бришеме VM штом ќе завршат тестовите.
ВМС работат одлично затестирање на производи и прегледи како оние што ги правиме овде на SoftwareHow.com. Можам да инсталирам апликации во VM што работи на мојата машина и да ги тестирам без да ја натрупам мојата примарна околина.
Кога ќе завршам со тестирањето, секогаш можам да ја избришам виртуелната машина, а потоа да создадам нова кога ми треба. Овој процес исто така ми овозможува да тестирам на повеќе платформи иако имам само машина со Windows.
Завршни зборови
Како што можете да видите, виртуелните машини се исплатлива, разновидна алатка која може да се користи за многу апликации. Повеќе не треба да купуваме, поставуваме и одржуваме скап хардвер за да обезбедиме пристап до серверот за тестери, програмери и други. VM-ите ни даваат флексибилност лесно и брзо да ги креираме оперативните системи, хардверот и околините што ни се потребни — во секое време.