OpenStack is een van de snelst groeiende cloudbesturingssystemen. Het woord is echter enorm verward en veel mensen snappen het echte idee er niet achter.

In dit artikel proberen we de technologie achter OpenStack te ontleden, en hoe deze is ontstaan. Maar voordat we diep in OpenStack duiken, moeten we diepgaand begrip hebben van enkele aspecten van de technologie achter OpenStack genaamd Virtualization.

Afbeeldingsbron: pixabay.com

Wat is virtualisatie?

Virtualisatie is een technologie waarmee we virtuele exemplaren van echte tegenhangers kunnen maken. Een echte fysieke machine zou bijvoorbeeld in virtuele machines worden gemaakt. Virtuele machines zijn slechts een virtuele implementatie van uw echte machines.

Een analogie kan worden getrokken naar de emulators. Virtuele machines gedragen zich meer van hetzelfde soort, in plaats van dat ze games emuleren, emuleren ze een hele machine.

De technologie die werkt achter virtualisatie en het maken van virtuele instanties mogelijk maakt, wordt hypervisor genoemd. Nu draaien alle virtuele machines op een fysieke machine.

De virtuele machines op zichzelf kunnen van elk machinetype zijn met elke gegeven configuratie, maar ze moeten kleiner zijn dan die van de machine waarop ze worden uitgezet. Wat hypervisor doet, is dat het de kloof overbrugt tussen uw fysieke machinekernel en de virtuele machinekernel.

Het vangt de systeemaanroepen op, converteert de opcode van de machinetaaltaal, verwerkt deze en transformeert deze vervolgens naar de opcode die later door de virtuele machine zou worden begrepen.

De machine waarop een virtuele machine wordt "uitgezet" of gemaakt, wordt Host-machine genoemd. De virtuele machine die wordt voortgebracht of gecreëerd door de hypervisor op de hostmachine, wordt Gastmachine genoemd.

Op dezelfde manier wordt het besturingssysteem dat op de hostmachine wordt uitgevoerd, hostbesturingssysteem genoemd en wordt het besturingssysteem dat op de gastmachine wordt uitgevoerd gastbesturingssysteem genoemd.

De hostmachine en hostbesturingssystemen zijn altijd aanzienlijk krachtiger dan de gastmachine en gastbesturingssystemen. Dit komt omdat de daadwerkelijke hardware die de verwerkingskracht levert zich alleen in de hostmachine bevindt.

De hypervisor wordt ook geïnstalleerd op de hostmachine waar hij het grootste deel van zijn werking uitvoert, met behulp van de kracht van het hostbesturingssysteem zelf. De virtuele machine gebruikt de hypervisor om toegang te krijgen tot sommige hardware van de eigenlijke hostmachine.

Het is de rol van de hypervisor om de virtuele machine van de vereiste virtuele hardware te voorzien. De virtuele machines die worden voortgebracht door hypervisor hebben over het algemeen geen idee dat ze virtueel zijn.

De benodigde hardware wordt geleverd bij het uitzetten van de virtuele machine. Eenmaal uitgezet, in een echt netwerk, zou de virtuele machine worden behandeld als een enkel knooppunt.

Soorten hypervisors

Hypervisors zijn meestal verdeeld in twee soorten:

Type 1: Native of bare metal hypervisor:

Deze hypervisors werken rechtstreeks op de hardware van de host en hebben een nauwe integratie met de host-kernel. Ze beheren gastbesturingssystemen rechtstreeks en de voortgebrachte virtuele machines verschijnen als een proces. Ze worden ook bare-metal hypervisor genoemd. Voorbeelden hiervan zijn Citrix, XenServer en VMW zijn ESX / ESXi.

Type 2: Gehoste hypervisors:

Deze hypervisors werken als een typisch geïnstalleerd programma in hostbesturingssystemen. Ze spawnen een virtuele machine en abstraheren ze van het hostbesturingssysteem. Een analogie kan worden getrokken naar game-emulators. Voorbeelden hiervan zijn QEMU, VirtualBox en VMWare Workstation.

Er is ook een derde hybride type hypervisor zoals Kernel-gebaseerde virtuele machine (KVM) die, hoewel hij als een typisch programma wordt uitgevoerd, maar bij het draaien, nauw wordt geïntegreerd met de kernel en vervolgens de hardware van de hostmachine.

KVM is misschien wel de beroemdste open source hypervisor, en voor OpenStack wordt KVM veelvuldig gebruikt. Al deze hypervisors werken door iets te creëren dat afbeeldingen worden genoemd.

Deze afbeeldingen zijn een kopie van een geïnstalleerd besturingssysteem of een aangepast besturingssysteem met speciale kernelvereisten. Wanneer de gebruiker de afbeelding later gebruikt, wijzigt deze de afbeelding overeenkomstig de gegevens die door de klant zijn opgeslagen.

Deze opslagruimte wordt opnieuw beheerd door de hypervisor, die ziet dat de gegevens van de klant worden bewaard en aanwezig zijn in exact dezelfde staat als voordat de gebruiker deze verliet.

Virtualisatie was nodig om efficiënt gebruik van hardware mogelijk te maken. Vooral voor exploitanten van clouddatacenters was virtualisatie een zegen. Met behulp van verschillende soorten hypervisors gebruikten cloudleveranciers snel virtualisatie om virtuele machines, virtuele switches, virtuele routers en andere virtuele hardware-exemplaren te spawnen.

Ze integreerden ze verder nauw om elk soort netwerk of machine te creëren zoals vereist door de klanten. Met behulp van virtualisatie kan een datacenteroperator meerdere machines opzetten in plaats van slechts één.

En aangezien cloud draait om het huren van uw rekenkracht, is het verdienmodel aanzienlijk toegenomen door verschillende virtuele machines te verhuren in plaats van slechts één fysieke machine.

Het verhoogde ook de herbruikbaarheid, omdat de virtuele machine die niet wordt gebruikt, aan andere klanten kan worden verhuurd. Dus virtualisatie domineerde en veranderde de regels van het datacenter.

In plaats van volledige hardware te kopen voor aanzienlijke kosten, leenden zakelijke gebruikers gevirtualiseerde exemplaren van de hardware, waardoor de kosten van hun IT-infrastructuur werden verlaagd.

Dus virtualisatie maakte grote sprongen, maar datacenteroperators hadden een groot probleem dat hun voortgang aanzienlijk stopte en zelfs hun inkomsten verminderde tot verliezen.

Het grote probleem dat datacenteroperators niet konden visualiseren, was beheer! Naarmate virtualisatie evolueerde en gevirtualiseerde instanties van vrijwel alle mogelijke hardware leverde, ontstond de moeilijkheid in het proces van het beheren van die massa's virtuele hardware.

Stel u voor als een hoofd van uw bedrijf, u wilt 10 verschillende machines op verschillende plaatsen in verschillende tijdzones. U wilt dat elk van hen met afzonderlijke hardware- en softwarevereisten en ook de hoeveelheid gegevens wil bijhouden die erin en eruit stroomt.

Als datacenter-operator respecteert u de eisen van de klant en maakt u die 10 virtuele machines. Stel je echter samen met het creëren van die virtuele machines voor dat je steeds nieuwe eisen krijgt voor meer virtuele machines, elk met nog complexere vereisten.

Hoe zou u zoveel virtuele machines beheren, elk met zijn eigen complexe set van vereisten en instellingen? Bovendien zou u elk van de verhuurde virtuele machines nauwkeurig moeten factureren. Stel dat de klant verschillende factureringsvereisten heeft.

Voor één machine die als server wordt gebruikt, zou de facturering betrekking hebben op de hoeveelheid gegevens die door de machine wordt ontvangen. Voor een andere machine, die als client fungeert, wordt de factuur gefactureerd op basis van de tijd dat de virtuele clientcomputer is ingeschakeld.

En deze vereisten zijn voor slechts één persoon. Als operator van een datacenter moet men mogelijk duizenden en duizenden virtuele hardware bedienen, elk met hun eigen netwerk-, hardware- en softwarevereisten.

Een juiste beheerinterface was kritisch vereist om de organisatie in de rommel te plaatsen die gevirtualiseerd datacenter werd. In plaats van het gebruik van opdrachtregels en uitgebreid scripten, was een goed gebouwd 'cloud-besturingssysteem' vereist om het datacenter goed te onderhouden. En dat is waar OpenStack in beeld komt.

Aanbevolen cursussen

  • Online cursus over AJAX
  • Snelle test professionele trainingsbundel
  • Online cursus over ExtJS
  • CISSP Trainingsbundel

Wat is OpenStack?

Zoals in het begin vermeld, is OpenStack in wezen cloudbesturingssysteem. Met besturingssysteem bedoelen we een gratis en open source softwareplatform voor cloud computing. Het begon in 2010 als een gezamenlijk project van Rackspace Hosting en van NASA.

Aanvankelijk werd begonnen met het aanpakken van dit specifieke probleem van het datacenter, namelijk het beheren van veel virtuele machines. Van daaruit groeide het snel uit tot een volwaardige gemeenschap met technologische inzet en ondersteuning van enkele van de meest bekende merken in informatietechnologie zoals Oracle, VMWare, Yahoo Inc. enz.

OpenStack wordt momenteel ondersteund door OpenStack Foundation, een non-profit bedrijfsentiteit opgericht in 2012. De altijd bloeiende OpenStack-community is erin geslaagd om elke zes maanden een betere versie van hun software OpenStack uit te brengen in een tijdgebaseerde releasecyclus met duidelijke ontwikkelingsmijlpalen in elke van hun releases.

Elke release voegde mores toe, waardoor het van een eenvoudige datacenterbeheersoftware een geavanceerd cloudsoftwareplatform werd.

Het bood een interface om bijna elk aspect van een virtuele machine te beheren, van het maken van virtuele machines op aanvraag met een klik op de knop tot het verzamelen van gegevens uit het netwerk, OpenStack is uitgebreid vertakt.

Elk jaar komt de gemeenschap tweejaarlijks bijeen voor het plannen van nieuwe functies en ondersteuning in OpenStack Design Summit, waar ontwerpplannen van de uitgebreide OpenStack-community worden beoordeeld en samengesteld.

Met OpenStack kunnen gebruikers virtuele machines efficiënt assembleren en implementeren. Het geeft iets genaamd, "grafische gebruikersinterface" voor toegang tot bijna elke functie die de eindgebruiker nodig heeft.

Terugkerend naar ons vorige voorbeeld, wilt u 10 machines, elk met hun eigen set vereisten. Met een eerdere opdrachtregelinterface zou het heel omslachtig zijn geweest om alles zelf te beheren.

Met OpenStack hoeft u alleen maar op een paar knoppen te klikken en uw virtuele machine dienovereenkomstig te configureren. Dus stel dat u een goed, goed gebouwd, uitgebreid netwerk wilt, dat u uw computernetwerk in realtime grafieken en statistieken kunt beheren en bekijken.

Als u geavanceerde functies zoals data-analyse en HADOOP-clusterondersteuning wilt, kunt u dat zelfs eenvoudig in uw virtuele machine faciliteren. Andere standaardfuncties zoals opslag, CPU, geheugen en kerngebruik kunnen ook heel eenvoudig worden geconfigureerd in de grafische gebruikersinterface van OpenStack.

OpenStack biedt ook ondersteuning voor realtime facturering, waarmee u statistieken kunt bijhouden van elke virtuele machine die met de software is voortgebracht. Het bevat realtime statistieken zoals geheugengebruik, schijfgebruik, kerngebruik etc.

Omdat OpenStack meestal in Python-taal is geschreven, profiteert het ook van scripting. Daarom wordt ook gezorgd voor de automatisering van het beheer van duizenden virtuele machines. U kunt een script schrijven om te zeggen, automatisering van de virtuele machine plannen wanneer deze moet worden ingeschakeld en wanneer deze wordt uitgeschakeld.

Door een dergelijke manier te automatiseren, kunt u een zeer goed gebouwd en uitgebreid cloud computing-platform creëren. En omdat OpenStack volledig gratis is, kan iedereen de broncode gebruiken om zijn eigen functies te ontwikkelen en toe te voegen, volledig op maat gemaakt om aan zijn organisatorische of persoonlijke behoeften te voldoen. HP heeft het gedaan door hun eigen versies van de cloud genaamd HP Helion uit te brengen.

OpenStack zou, in de cloudterminologie, in de categorie Infrastructure as a Service (IaaS) vallen, wat betekent dat het primair wordt gebruikt voor het bouwen van infrastructuur waarop virtuele machines zouden worden ingezet.

Het vergemakkelijkt in wezen het uitzetten van virtuele machines. Het is op deze virtuele machines of "platforms" die klanten zouden huren, afhankelijk van hun vereisten.

Basiscomponenten van OpenStack

OpenStack is vertakt met veel verschillende componenten, omdat het open source is, kunnen verschillende componenten worden toegevoegd en geïntegreerd met de software.

De kern van de software bestaat echter slechts uit drie basis openstack-componenten:

  1. Opslagcomponent:

OpenStack-opslagcomponent bestaat uit Cinder en Swift. Het primaire doel van de component is om de gegevens op te slaan van de virtuele machines die zijn voortgebracht en in gebruik zijn.

  1. Infrastructuurcomponent:

Anders genaamd Nova Compute, is dit onderdeel verantwoordelijk voor het beheer van elk aspect van het beheer en het maken van een virtuele machine. Dit omvat het verkrijgen van de vereiste hardware toegewezen, interactie met de hypervisors en fungeert als een centraal knooppunt in interactie met alle andere componenten die nodig zijn om virtuele machines te spawnen.

  1. Beeldvormingsservices:

Het wordt ook wel Glance genoemd en biedt services voor het opzoeken en ophalen van afbeeldingen. Wat het in wezen doet, is dat het ondersteuning biedt voor het opslaan en beheren van verschillende replica of afbeeldingen van virtuele machines. Dus op basis van vereisten kan elke soort afbeelding worden opgehaald voor de klant.

Conclusie

OpenStack, van zijn bescheiden begin als open source software voor cloudbeheer, is snel uitgegroeid tot een grote gemeenschap van cloud-enthousiastelingen die OpenStack naar verschillende gebieden van Cloud hebben vertakt.

De kern van OpenStack is dat virtualisatie en hypervisors ervoor zorgen dat OpenStack als managementplatform de kracht van virtuele machines kan benutten.

Meestal ingezet als een besturingssysteem voor infrastructuur als een service (IaaS), biedt het een eenvoudigere optie om duizenden gevirtualiseerde instanties te beheren.

De toekomst van OpenStack ziet er rooskleurig uit, nu met big data en andere dergelijke nieuwste cloudtechnologie-aspecten die er naadloos in zijn geïntegreerd. En met de steeds groeiende gemeenschap, is Open Stack klaar om te groeien met een aanzienlijk tempo.

Aanbevolen artikelen

Hier zijn enkele artikelen die u zullen helpen om meer details over de Open Stack versus Virtualisatie te krijgen, dus ga gewoon door de link.

  1. Het beste om Azure Paas versus Iaas te leren
  2. Wil je weten over AJAX Interview Vragen?
  3. Uitgebreide gids voor Android en Open Source Security (OS)
  4. Mythes en misvattingen over open source software
  5. Welke technologie is het beste? Cloud computing of virtualisatie
  6. Top 10 nuttige vergelijking tussen cloud computing en virtualisatie