In 2010 is Open Stack gebouwd door de NASA en de hosting provider Rackspace. Er was toen een grote vraag naar een schaalbaar platform met lagere kosten in vergelijking tot commerciële virtualisatieproducten. Inmiddels is er in de loop van de jaren een bloeiend ecosysteem rond dit product ontstaan, waardoor ook commerciële ICT dienstverleners hier gebruik van maken. Kortom, Open Stack is een onmisbaar platform in de IT. In dit artikel vertellen we je er alles over.
Wat is OpenStack?
OpenStack is open source software voor het maken van private en public clouds. Het is een set van software tools voor het bouwen en beheren van cloud computing-platformen. Eigenlijk kan je OpenStack zien als soort ‘Software Defined Everything’ omdat vele componenten, zoals storage en networking, software defined zijn. Over het algemeen wordt OpenStack neerzet als een Infrastructure-as-a-Service (IaaS) platform. Door de horizontale schaling is het mogelijk om van enkele instances (lees VMs) naar vele duizenden instances te schalen.
De OpenStack Foundation
OpenStack wordt in de ontwikkeling van de software gesteund door een aantal van de grootste bedrijven en duizenden individuele leden van de open source gemeenschap. OpenStack wordt beheerd door de OpenStack Foundation, een non-profitorganisatie die toezicht houdt op zowel de ontwikkeling als de community-building rondom het project. Velen denken dat OpenStack de toekomst is voor cloud computing. ’s Werelds grootste bedrijven vertrouwen op OpenStack om hun business te runnen, de kosten te verminderen en hen te helpen wendbaarder te zijn.
Wat zijn de onderdelen van OpenStack?
OpenStack heeft een modulaire architectuur en de componenten hebben elk hun eigen codenaam. Door het open karakter kan iedereen extra componenten toevoegen aan OpenStack om zo aan de eigen requirements te voldoen. Alle core-onderdelen van OpenStack zijn in de programmeertaal Python geschreven. Een aantal componenten vormt het hart van OpenStack en is in elke OpenStack omgeving aanwezig. Deze componenten worden officieel onderhouden door de OpenStack community.
De componenten van Open Stack:
- OpenStack Compute (Nova) is een cloud computing fabric controller wat het belangrijkste onderdeel is van een IaaS-systeem. Het is ontworpen om pools van computer-resources te beheren en te automatiseren en kan werken met diverse virtualisatietechnologieën zoals KVM, Xen, VMware en Hyper-V, maar ook met blank-metaal en high-performance computing (HPC) configuraties.
- OpenStack Object Storage (Swift) is een schaalbaar redundant opslagsysteem en voorziet in een HTTP-toegankelijk storage-systeem voor grote hoeveelheden data zoals video’s, images, e-mailberichten, bestanden of VM images. Objecten worden opgeslagen als binaries op het onderliggend filesysteem, samen met de metadata die wordt vastgelegd in de extended attributen van elk bestand. Objecten en bestanden worden weggeschreven naar meerdere disks verspreid over de servers. De OpenStack software zorgt voor het waarborgen van de replicatie en integriteit van de data. Door het toevoegen van nieuwe servers kunnen de opslag-clusters horizontaal geschaald worden. Mocht een server of harde schijf falen, dan repliceert OpenStack de inhoud van de andere actieve nodes naar nieuwe locaties in het cluster. Goedkope servers met lokale harde schijven kunnen ingezet worden omdat de data-replicatie en -distributie software defined zijn. Men is dus niet afhankelijk van de veelal duurdere hardware storage-oplossingen.
- OpenStack Block Storage (Cinder) voorziet in persistent block-level storage devices voor gebruik met OpenStack compute instances. Het block-storage systeem beheert het aanmaken, attachen en detachen van de block devices aan de servers. Block storage volumes zijn volledig geïntegreerd in OpenStack Compute en Dashboard zodat cloud users hun eigen storage kunnen beheren. Aanvullend op de lokale Linux server storage kan het een diversiteit aan storage-platformen gebruiken waaronder o.a. Ceph, EMC, GlusterFS, IBM Storage, NetApp en HP. Block storage is geschikt voor toepassingen die veel performance vragen of om servers van raw block level storage te voorzien. Snapshot management heeft functies om data op de block storage-volumes te back-uppen. Snapshots kunnen naar het origineel gerestored worden of gebruikt worden om nieuwe block storage volumes aan te maken.
- OpenStack Networking (Neutron) beheert de netwerken en IP adressen. OpenStack Networking zorgt ervoor dat het netwerk niet een bottleneck of limiterende factor wordt in een cloud deployment. Het voorziet in networking-modellen voor verschillende applicatie- of gebruikersgroepen. Standaard modellen bevatten platte netwerken of VLANs voor het logisch scheiden van het netwerkverkeer. OpenStack Networking beheert de statische en dynamische IP adressen (DHCP). Zogenaamde ‘Floating IP adressen’ zorgen ervoor dat netwerkverkeer dynamisch omgeleid kan worden naar elke resource in de infrastructuur. Op deze manier kunnen gebruikers het verkeer redirecten bij bijv. maintenance of in het geval van een storing. Gebruikers kunnen hun eigen netwerken aanmaken, netwerkverkeer controleren en servers en devices connecten aan één of meerdere netwerken. Met OpenStack networking kan een uitgebreid raamwerk van additionele netwerk services gedeployed en beheerd worden zoals bijv. intrusion detection systemen (IDS), load balancing, firewalls en virtual private networks (VPN).
- OpenStack Dashboard (Horizon) is de grafische interface voor het beheer van OpenStack en de visuele status terugkoppeling van de verschillende OpenStack componenten. Het ontwerp maakt het geschikt voor producten en diensten van derden, zoals facturering, monitoring en aanvullende management tools.
- OpenStack Identity (Keystone) voorziet in een centrale lijst van gebruikers die toegang hebben tot de OpenStack diensten. Het fungeert als een gemeenschappelijk authenticatiesysteem in het cloud besturingssysteem en kan worden geïntegreerd met bestaande backend directory services zoals LDAP. Het ondersteunt meerdere vormen van authenticatie, waaronder standaard gebruikersnaam/wachtwoord, token en AWS-stijl logins. In deze directory zijn ook alle cloud services in een OpenStack cloud opvraagbaar en op deze manier kunnen gebruikers bepalen tot welke resources zij toegang hebben.
- OpenStack Image (Glance) biedt discovery, registratie en delivery services voor disk- en server-images. Opgeslagen images kunnen als templates gebruikt worden voor de implementatie van nieuwe virtuele machines. Het kan ook worden gebruikt voor het opslaan en catalogiseren van een onbeperkt aantal back-ups. Glance is de module voor het toevoegen, verwijderen, delen en dupliceren van images.
- OpenStack Telemetry (Ceilometer) biedt een centraal punt voor doorberekening door alle benodigde tellers te verstrekken die nodig zijn om klanten te facturen over alle huidige en toekomstige OpenStack componenten.
- OpenStack Orchestration (Heat) is een service om meerdere samengestelde cloud-applicaties te orkestreren met behulp van templates. Deze templates zijn tekstbestanden die worden behandeld als code. Een native Heat template-formaat is in ontwikkeling, maar Heat tracht ook om compatibiliteit met het AWS CloudFormation template-formaat te bieden, zodat veel bestaande CloudFormation templates gebruikt kunnen worden op OpenStack. Heat levert zowel een OpenStack-native REST API als een CloudFormation-compatibele Query API.
In de volgende afbeelding wordt de relatie tussen deze componenten grafisch weergegeven:
Wie levert OpenStack?
Naast dat de broncode van OpenStack vrij beschikbaar is, wordt OpenStack door meerdere al dan niet commerciële partijen geleverd. Deze partijen leveren dan doorgaans additionele services, software en/of hardware die afgestemd zijn op het portfolio van de partij. Een aantal hiervan zijn:
- Canonical Ubuntu OpenStack
- Red Hat OpenStack Platform
- SUSE OpenStack Cloud
- HPE Helion OpenStack
- Oracle OpenStack for Oracle Linux
- IBM Cloud Manager with OpenStack
- Mirantis OpenStack
- VMware Integrated OpenStack
Wat kunnen we ermee?
OpenStack kan door ICT dienstverleners en bedrijven gebruikt worden om zelf een cloudplatform te bouwen dat dezelfde mogelijkheden biedt als bijvoorbeeld een Microsoft Azure, Oracle Cloud of Amazon EC2. OpenStack voorziet hiermee in een alternatief om met gebruik van eigen hardware, sneller omgevingen beschikbaar te kunnen stellen waarbij flexibiliteit en schaalbaarheid de belangrijkste kenmerken zijn.
Op zoek naar een partij die jou kan helpen met Open Stack? Onze experts helpen je graag. Neem contact met ons op om meer te weten te komen.