Vad är programvara för servervirtualisering?
Programvara för servervirtualisering gör det möjligt att skapa och hantera virtuella maskiner (VM) på en fysisk server där varje virtuell maskin fungerar som en självständig server. Servervirtualisering gör det möjligt för IT-avdelningen att maximera den fulla potentialen hos dagens kraftfulla fysiska servrar. Varje VM på den fysiska maskinen fungerar oberoende av de andra VM och kör sitt eget operativsystem och sina egna applikationer.
Programvara för servervirtualisering fungerar som ett lager (vanligtvis kallat hypervisor) mellan den fysiska maskinvaran och de virtuella datorerna, abstraherar maskinvaruresurserna och presenterar dem för de virtuella datorerna som virtualiserad maskinvara. Hypervisorn allokerar maskinvaruresurser som CPU, minne, lagring och nätverksresurser till varje VM. Generellt kräver hypervisors 5-10% av den fysiska maskinens resurser för att kunna köras.
Hypervisor-typer och användningsområden
Det finns två primära typer av hypervisor
Hypervisor typ 1
Typ 1-hypervisorer används vanligtvis i företagsmiljöer och installeras direkt på fysisk maskinvara (dvs. "bare metal") och ger virtuella datorer direkt tillgång till maskinvaruresurser, hanterar dynamiskt allokering av maskinvaruresurser och gör det möjligt för varje virtuell dator att fungera oberoende av de andra. Typ 1-hypervisorer inkluderar VMware ESXi™, Microsoft® Hyper-V® och Citrix Hypervisor™ (tidigare XenServer®).
Användningsområden för hypervisors av typ 1 inkluderar:
- Servervirtualisering, där en fysisk maskin kör flera virtuella datorer som fungerar som servrar, vilket förbättrar utnyttjandet av hårdvaruresurser och effektiviserar driftsättning och hantering av virtuella servrar;
- Skapande och hantering av storskaliga infrastrukturer i ett datacenter, vilket möjliggör effektivt hårdvaruutnyttjande och flexibel resursallokering för databehandling;
- Cloud Computing/Infrastructure as a Service (IaaS), där hypervisorer gör det möjligt för IaaS-leverantörer att skapa och hantera flexibla och lätt skalbara datormiljöer;
- Hög tillgänglighet och feltolerans, där hypervisorer gör det möjligt att snabbt starta upp virtuella servrar när fler användare är aktiva eller när en host går sönder;
- Programvaruutveckling och testning, där utvecklare och/eller kodtestare snabbt kan replikera en produktionsmiljö och testa programvarans kompatibilitet på en mängd olika operativsystem och konfigurationer utan att påverka värdmiljön.
Hypervisorer av typ 2
Typ 2-hypervisorer används vanligtvis i skrivbords- eller arbetsstationsmiljöer och körs ovanpå värdoperativsystemet och ger virtualiseringsfunktioner till den virtuella gästmaskinen, som kan köras på ett annat operativsystem än den fysiska maskinen. Till skillnad från typ 1-hypervisorer, som dynamiskt justerar maskinvaruresurser för de virtuella datorer de hanterar, allokerar användaren fysiska resurser som RAM till den virtuella datorn med typ 2-hypervisorer; om den virtuella datorn upplever prestandaproblem måste användaren justera resursallokeringen. Typ 2-hypervisorer inkluderar VMware® Workstation, Oracle® VirtualBox och Microsoft Virtual PC.
Användningsområden för hypervisors av typ 2 inkluderar:
- Desktop virtualization, där en användare kör en VM på sitt lokala system för att kunna använda äldre applikationer eller för att isolera datormiljöer (t.ex. arbetsrelaterade datorer från privata datorer);
- Programvaruutveckling, där en utvecklare skriver kod på sin lokala enhet med ett annat operativsystem än operativsystemet på sin fysiska maskin, eller när en utvecklare vill isolera sin utvecklingsmaskin från sin fysiska maskin;
- Programvarutestning och felsökning, där en enda maskin är tillräcklig för teständamål (dvs. inte en fullständig produktionsmiljö);
- Utbildning, där en elev kan öva och experimentera med olika operativsystem, programvarukonfigurationer och nätverksinställningar utan att behöva dedikerad hårdvara för varje system;
- Demonstration och presentation, där en presentatör eller säljare kan köra programvarudemonstrationer på begäran med hjälp av en enda fysisk maskin.
Observera att typ 1-hypervisorer, inte typ 2-hypervisorer, används för att möjliggöra servervirtualisering i produktionsmiljöer på grund av deras förmåga att dynamiskt justera resursallokeringen.
Alternativa metoder för servervirtualiseringsprogramvara
Alternativa metoder för virtuell serverprogramvara inkluderar para-virtualisering och virtualisering på OS-nivå (även kallat containerisering).
Para-Virtualisering
Vid para-virtualisering modifieras gästoperativsystemet (OS) så att det kommunicerar direkt med den underliggande hypervisorn, vilket gör att gästoperativsystemet vet att det körs i en virtualiserad miljö så att det kan göra anrop i rätt tid till hypervisorn om resursbehov när vissa operationer körs.
Genom att kommunicera direkt med hypervisorn minskar para-virtualisering den overhead som är förknippad med uppgifter som minneshantering, I/O-operationer och systemanrop och ger därmed bättre resultat än fullständig virtualisering i vissa scenarier.
Eftersom para-virtualisering kräver att ändringar görs i gästoperativsystemet är det inte säkert att det är kompatibelt med alla operativsystem direkt från start. Två virtualiseringsplattformar som stöder para-virtualisering är VMware vSphere® och Xen (som är gratis och har öppen källkod). Alternativt kan gästoperativsystemets källkod modifieras för att möjliggöra para-virtualisering.
När para-virtualisering används för servervirtualisering fungerar den bäst för dessa användningsfall:
- I/O-intensiva arbetsbelastningar, där applikationsdata ofta utbyts med en sekundär lagringsenhet;
- Där hög nätverksgenomströmning krävs (t.ex. bandbreddskrävande applikationer);
- Realtidsapplikationer (videokonferenser, VoIP, onlinespel, vissa e-handelsapplikationer, snabbmeddelanden, teamsamarbete);
- Högpresterande databehandling;
- Äldre applikationer.
Virtualisering/Containerisering på OS-nivå
Virtualisering på OS-nivå, även kallad containerisering, gör det möjligt att skapa och hantera flera isolerade containrar inom en enda operativsysteminstans. Dessa behållare är inte "riktiga" virtuella datorer eftersom de inte innehåller något operativsystem. Istället tillhandahåller varje container en separat miljö med sin egen applikation och isolerade resurser, som CPU, minne och filsystem, där alla containrar delar värdoperativsystemets kärna - till skillnad från en "traditionell" VM, där de VM:er som körs på värden inte behöver använda samma operativsystem som värden.
Detta tillvägagångssätt, som eliminerar möjligheten att köra flera operativsystem på en enda fysisk server, innebär att containrar förbrukar mindre resurser än fullständiga virtuella datorer men inte erbjuder samma flexibilitet när det gäller operativsystem. Docker®, en av de tidigaste containerteknikerna, är Linux-baserad, men hanterar denna minskade flexibilitet genom att tillhandahålla containrar på Windows®- och MacOS®-maskiner med hjälp av en mikro-Linux VM som körs på den fysiska maskinen.
Containrar används ofta för att distribuera och köra applikationer på ett portabelt och skalbart sätt. Varje container kapslar in en applikation och dess beroenden, vilket gör det enklare att paketera, hantera och distribuera programvara. Containrar ger också isolering mellan applikationer, vilket eliminerar applikationskonflikter även när applikationerna körs på samma värdserver.
När containerisering används för servervirtualisering fungerar den bäst för dessa användningsområden:
- DevOps-aktiviteter, som testning och driftsättning av applikationer;
- Driftsättning av applikationer i miljöer med flera moln, så att dessa appar kan köras konsekvent i varje miljö;
- Optimering av infrastrukturen genom att eliminera flera operativsystem, vilket möjliggör förbättrad skalbarhet och effektivare resursallokering;
- Testning och felsökning av applikationer;
- Stöd för äldre applikationer, inklusive enklare migrering och integration med moderna system.
Vad är det bästa valet för slutanvändarapplikationer?
När man levererar applikationer till anställda är servervirtualisering med hjälp av en hypervisor av typ 1 det vanligaste tillvägagångssättet. Varför är det så? Tekniken för virtuella skrivbord är specialbyggd för att leverera virtuella skrivbord med produktivitetsapplikationer till anställda, med många funktioner som gör det möjligt för IT-team att hantera serverresurser och optimera slutanvändarupplevelsen.
Virtuell teknik som använder en hypervisor av typ 2 används i allmänhet av privatpersoner för de användningsfall som beskrivs i det här inlägget.
Para-virtualisering används oftast i företagsmiljö för specifika applikationer där respons och prestanda är av yttersta vikt.
Containrar används främst av programvaruutvecklings- och DevOps-team för att göra deras jobb enklare. Eftersom datateam för slutanvändare har gjort en betydande investering i virtualiseringsteknik med hjälp av hypervisorer av typ 1 finns det få incitament att gå över till containerteknik, förutom för ovanliga användningsfall som affärskritiska äldre applikationer.
Men - om du är en Windows ISV som letar efter ett alternativ till servervirtualiseringsprogramvara för att leverera dina applikationer till kunderna, överväga GO-Global.
GO-Global® gör det möjligt för ISV:er att publicera Windows-applikationer från alla offentliga, privata eller hybrida moln, till alla enheter som stöder en webbläsare. Med GO-Global kan IT-avdelningen leverera Windows-applikationer till en kostnad som är upp till 70 % lägre än för VDI-lösningar från Citrix® och VMware. Trots sin låga kostnad levererar GO-Global skalbarhet på företagsnivå, men är lätt att installera, konfigurera och använda, med betydligt mindre teknikomkostnader för implementering.
Om du vill veta mer kan du begära en demo eller ladda ner en kostnadsfri 30-dagars testversion.