OpenStack är ett av de snabbast växande Cloud-operativsystemen. Men ordet är enormt förvirrat och många människor får inte den verkliga idén bakom det.

I den här artikeln försöker vi dissekera tekniken bakom OpenStack och hur den kom till. Men innan vi dyker djupt in i OpenStack, måste vi fördjupa oss djupare om vissa aspekter av tekniken bakom OpenStack som heter virtualisering.

Bildkälla: pixabay.com

Vad är virtualisering?

Virtualisering är en teknik som gör att vi kan skapa virtuella instanser av verklig motsvarighet. Till exempel skulle en riktig fysisk maskin skapas till virtuella maskiner. Virtuella maskiner är bara en virtuell implementering av dina riktiga maskiner.

En analogi kan dras till emulatorerna. Virtuella maskiner agerar mer av samma slag, istället för att emulera spel, emulerar de en hel maskin.

Tekniken som verkar bakom virtualisering och möjliggör skapande av virtuella instanser kallas hypervisor. Nu kör alla virtuella maskiner på en fysisk maskin.

De virtuella maskinerna i sig kan vara av vilken maskintyp som helst med vilken konfiguration som helst, men den måste vara mindre än den för maskinen som den gyter på. Vad hypervisor gör är att det överbryggar klyftan mellan din fysiska maskinkärna och den virtuella maskinkärnan.

Den fångar upp systemsamtal, konverterar opoden på maskinnivåspråket, bearbetar det och omvandlar det sedan till opoden som senare skulle förstås av den virtuella maskinen.

Maskinen på vilken en virtuell maskin är "spawned" eller skapad kallas Host-maskin. Den virtuella maskinen som spawns eller skapas av hypervisorn på värdmaskinen kallas Gästmaskin.

På samma sätt kallas operativsystemet som körs på värdmaskinen värdoperativsystem, och operativsystemet som körs på gästmaskinen kallas gästoperativsystem.

Värdmaskinen och värdoperativsystemen är alltid betydligt kraftfulla än gästmaskinen och gästoperativsystemen. Detta beror på att den faktiska hårdvaran som tillhandahåller bearbetningskraften bara finns inom värdmaskinen.

Hypervisorn är också installerad på värdmaskinen där den gör det mesta av sin drift med kraften från värdoperativsystemet självt. Den virtuella maskinen använder hypervisorn för att få tillgång till en del av hårdvaran på den verkliga värdmaskinen.

Det är hypervisorns roll att förse den virtuella maskinen med den virtuella maskinvaran. De virtuella maskinerna som skapas av hypervisor har i allmänhet ingen aning om att de är virtuella.

Den erforderliga hårdvaran levereras vid lekning av den virtuella maskinen. När den spawnade, i ett riktigt nätverk, skulle den virtuella maskinen behandlas som en enda nod.

Typer Hypervisorer

Hypervisorer är huvudsakligen indelade i två typer:

Typ 1: Native eller bar metal hypervisor:

Dessa hypervisorer körs direkt på värdens hårdvara och har tät integration med värdkärnan. De hanterar gästoperativsystem direkt och de virtuella maskinerna som spawnas visas som en process. De kallas också bara metal hypervisor. Exempel inkluderar Citrix, XenServer och VMW är ESX / ESXi.

Typ 2: Hosted hypervisors:

Dessa hypervis0orer körs som vanligt installerat program i värdoperativsystem. De spawn en virtuell maskin och abstraherar dem från värdens operativsystem. En analogi kan dras till spelemulatorer. Exempel inkluderar QEMU, VirtualBox och VMWare Workstation.

Det finns också en tredje hybridtyp av hypervisor som Kernel-baserad virtuell maskin (KVM) som, även om den körs som ett typiskt program, men när den körs, blir tätt integrerad med kärnan och därefter maskinvaran på värdmaskinen.

KVM är kanske den mest kända open source-hypervisorn, och för OpenStack används KVM i stor utsträckning. Alla dessa hypervisorer fungerar genom att skapa något som kallas bilder.

Dessa bilder är en kopia av ett installerat operativsystem eller ett anpassat operativsystem med speciella kärnkrav. Senare, när användaren använder bilden, ändrar den bilden i enlighet med de data som lagras av kunden.

Detta lagringsutrymme hanteras igen av hypervisorn, som ser att kundens data bevaras och finns i exakt samma tillstånd som det var innan användaren lämnade dem.

Virtualisering var nödvändig för att möjliggöra effektiv användning av hårdvara. Speciellt för molndatacenteroperatörer var virtualisering en välsignelse. Med hjälp av olika typer av hypervisorer använde molnleverantörer snabbt virtualisering för att spaja virtuella maskiner, virtuella switchar, virtuella routrar och andra sådana virtuella instanser av hårdvara.

De integrerade dem vidare för att skapa alla typer av nätverk eller maskiner som krävs av kunderna. Med hjälp av virtualisering kan en datacenteroperatör etablera flera maskiner istället för bara en.

Och eftersom molnet handlar om att hyra din datorkraft ökade intäktsmodellen avsevärt genom att hyra ut flera virtuella maskiner istället för bara en fysisk maskin.

Det ökade återanvändbarheten också, eftersom den virtuella maskinen som inte används kan hyras till andra kunder. Så virtualisering dominerade och ändrade reglerna för datacentret.

I stället för att köpa en hel hårdvara för betydande kostnader, lånade företagets användare virtualiserade instanser av hårdvaran, vilket minskade kostnaden för deras IT-infrastruktur.

Så virtualisering gjorde alla hopp och gränser, men datacenteroperatörerna mötte ett stort problem som stoppade deras framsteg avsevärt och till och med minskade sina intäkter så att de kunde möta förluster.

Det stora problemet som operatörer av datacenter inte kunde visualisera var hantering! När virtualiseringen utvecklades och tillhandahöll virtualiserade instanser av nästan all möjlig hårdvara, uppstod svårigheten i processen att hantera dessa mängder virtuella hårdvara.

Föreställ dig som chef för ditt företag att du vill ha 10 olika maskiner på olika platser vid olika tidszoner. Du vill att var och en av dem ska ha separata krav på hårdvara och programvara, och också vill spåra mängden data som flyter in och ut ur den.

Som operatör av datacenter respekterar du kundens krav och skapar de 10 virtuella maskinerna. Föreställ dig emellertid tillsammans med att skapa dessa virtuella maskiner, du får hela tiden nya krav på mer virtuella maskiner, var och en med ännu mer komplexa krav.

Hur skulle du hantera så många virtuella maskiner, var och en med sina egna komplexa krav och inställningar? Utöver det skulle du behöva fakturera alla virtuella maskiner som hyrs ut. Anta att kunden har olika faktureringskrav.

För en maskin som används som server skulle faktureringen på mängden data som mottas av maskinen. För en annan maskin, som fungerar som en klient, skulle faktureringen göras på den tid som den virtuella klientmaskinen är på.

Och dessa krav gäller bara en person. Som operatör av datacenter måste man möjligen använda tusentals och tusentals virtuell hårdvara, var och en med sina egna krav på nätverk, hårdvara och programvara.

Ett korrekt hanteringsgränssnitt krävdes kritiskt för att sätta organisationen i röran som blev virtualiserad datacenter. I stället för att använda kommandorader och skript i stor utsträckning krävdes ett välbyggt “molnoperativsystem” för att ge korrekt underhåll till datacentret. Och det är där OpenStack kommer i bild.

Rekommenderade kurser

  • Online-kurs på AJAX
  • Snabbtest för professionell träningspaket
  • Online-kurs på ExtJS
  • CISSP utbildningsbunt

Vad är OpenStack?

Som nämnts i början är OpenStack i huvudsak molnoperativsystem. Med operativsystem menar vi en fri och öppen källkodsplattform för molnberäkning. Det började 2010 som ett gemensamt projekt av Rackspace Hosting och NASA.

Ursprungligen började man ta itu med just detta problem med datacentret, som var hur man hanterar massor av virtuella maskiner. Därifrån växte det snabbt till en fullfjädrad gemenskap med teknologiskt engagemang och stöd från några av de mest kända märkena inom informationsteknologi som Oracle, VMWare, Yahoo Inc. etc.

OpenStack stöds för närvarande av OpenStack-stiftelsen, en ideell företag som grundades 2012. Den ständigt blomstrande OpenStack-communityn har lyckats släppa en bättre version av deras programvara OpenStack var sjätte månad i en tidsbaserad utgivningscykel med tydliga utvecklingsmiljöer i varje av deras utsläpp.

Varje utgåva lade till sedlar, vilket gör det från en enkel datacenterhanteringsprogramvara till att vara en sofistikerad molnprogramvara.

Det gav ett gränssnitt för att hantera nästan alla aspekter av en virtuell maskin, från att skapa virtuella maskiner på begäran genom att klicka på en knapp till att samla in data från nätverket, OpenStack har förgrenats mycket.

Varje år samlas samhället varje år för att planera ut nya funktioner och support i OpenStack Design Summit där designplaner för den omfattande OpenStack-gemenskapen granskas och monteras.

OpenStack låter användare montera och distribuera virtuella maskiner effektivt. Det ger något som kallas "grafiskt användargränssnitt" för åtkomst till nästan alla funktioner som slutanvändaren kräver.

När vi återgår till vårt tidigare exempel vill du ha 10 maskiner, alla med sina egna kravkrav. Med tidigare kommandoradsgränssnitt hade det varit mycket besvärligt att hantera allt på egen hand.

Med OpenStack behöver du bara klicka på några knappar och konfigurera din virtuella maskin i enlighet därmed. Så antag att om du vill ha ett ordentligt välbyggt omfattande nätverk kan du hantera och se ditt datornätverk i realtidsgrafer och statistik.

Om du vill ha avancerade funktioner som dataanalys och HADOOP-klusterstöd kan du till och med underlätta det enkelt i din virtuella maskin. Andra standardfunktioner som lagring, CPU, minne och kärnanvändning kan också mycket enkelt konfigureras i det grafiska användargränssnittet som presenteras av OpenStack.

OpenStack levereras också med faktureringsstöd i realtid, där du kan spåra statistik över alla virtuella maskiner som skapats med hjälp av programvaran. Det inkluderar realtidsstatistik som minnesanvändning, diskanvändning, kärnanvändning etc.

Eftersom OpenStack mestadels är skriven på Python-språk, gynnas det också av skript. Så automatiseringen av att hantera tusentals virtuella maskiner tas också hand om. Du kan skriva ett skript för att säga, schemalägga automatisering av virtuell maskin när den ska vara på och när den skulle stängas av.

Genom att automatisera ett sådant sätt kan du skapa en väldigt välbyggd och omfattande molnberäkningsplattform. Och eftersom OpenStack är helt gratis kan vem som helst använda källkoden för att utveckla och lägga till sina egna funktioner, helt skräddarsydda för att passa deras organisatoriska eller personliga behov. HP har gjort det genom att släppa sina egna versioner av molnet HP Helion.

OpenStack, under molnterminologi, skulle tillhöra kategorin Infrastructure as a Service (IaaS), vilket innebär att dess primära används för att bygga infrastruktur på vilka virtuella maskiner skulle distribueras.

Det underlättar i huvudsak gytningen av virtuella maskiner. Det är på dessa virtuella maskiner eller "plattformar" som kunderna kommer att hyra beroende på deras krav.

Grundläggande komponenter i OpenStack

OpenStack har grenats till att ha många olika komponenter, eftersom det är öppen källkod, flera komponenter kan läggas till och integreras med programvaran.

Kärnan i programvaran ligger dock bara tre grundläggande openstack-komponenter:

  1. Lagringskomponent:

OpenStack lagringskomponent består av Cinder och Swift. Komponentens främsta syfte är att lagra informationen om de virtuella maskinerna som skapats och fungerar.

  1. Infrastrukturkomponent:

Annars kallad Nova Compute, är denna komponent ansvarig för att hantera alla aspekter av att hantera och skapa en virtuell maskin. Detta inkluderar att tilldela den erforderliga hårdvaran, interagera med hypervisorerna och fungera som en central nod vid samverkan med alla andra komponenter som krävs för att leka virtuella maskiner.

  1. Imaging Services:

Kallas också som Glance och ger tjänster för bilduppsökning och hämtning. Det som i huvudsak gör är att det ger stöd för att lagra och hantera olika virtuella maskiner replika eller bilder. Så baserat på krav kan alla typer av bilder hämtas för kunden.

Slutsats

OpenStack, från dess ödmjuka början som en öppen källkodsprogram för molnadministration, har snabbt vuxit till att bli ett stort samhälle av molnentusiaster som har gjort att OpenStack grenar ut i olika områden i Cloud.

I hjärtat av OpenStack ligger virtualisering och hypervisorer, som ser till att OpenStack som en ledningsplattform kan utnyttja kraften i virtuella maskiner.

Vanligtvis distribuerat som ett operativsystem för infrastruktur som en tjänst (IaaS), ger det ett enklare alternativ att hantera tusentals virtualiserade instanser.

Framtiden för OpenStack ser ljus ut, nu med big data och andra sådana senaste molnteknologiska aspekter integrerade sömlöst med den. Och med ständigt ökande samhälle är Open Stack redo att växa i en betydande takt.

Rekommenderade artiklar

Här är några artiklar som hjälper dig att få mer information om Open Stack vs Virtualization så bara gå igenom länken.

  1. Bästa saken att lära sig Azure Paas vs Iaas
  2. Vill du veta frågor om AJAX-intervjuer?
  3. Omfattande guide till Android och Open Source Security (OS)
  4. Myter och missuppfattningar om programvara med öppen källkod
  5. Vilken teknik är bäst? Cloud Computing eller virtualisering
  6. Topp 10 användbar jämförelse mellan molnberäkning och virtualisering

Kategori: