Mit OpenShift und OpenStack werden hoch­ver­füg­ba­re und ska­lier­ba­re Cloud-Platt­for­men aufgebaut. In Kom­bi­na­ti­on decken die Systeme die komplette Band­brei­te von der Pro­vi­sio­nie­rung vir­tua­li­sier­ter Hardware bis zu Ent­wick­lung und Betrieb con­tai­ne­ri­sier­ter An­wen­dun­gen ab. Besonders attraktiv ist die Nutzung zur Umsetzung von Hybrid Cloud-Stra­te­gien. OpenShift und OpenStack erfreuen sich bei großen, global ope­rie­ren­den Or­ga­ni­sa­tio­nen be­son­de­rer Be­liebt­heit.

OpenShift vs. OpenStack im Überblick

His­to­risch be­trach­tet, entstand OpenStack etwas früher als OpenShift. Die Ent­wick­lung der beiden Projekte steht auch stell­ver­tre­tend für den Übergang von vir­tu­el­len Maschinen zu An­wen­dungs-Con­tai­nern. Die Container-Vir­tua­li­sie­rung hat sich über das ver­gan­ge­ne Jahrzehnt als vor­herr­schen­de Vir­tua­li­sie­rungs-Tech­no­lo­gie etabliert.

Was für Ge­mein­sam­kei­ten und Un­ter­schie­de haben OpenShift und OpenStack?

Zunächst handelt es sich bei OpenShift und OpenStack um Open Source-Projekte, welche um die Jahre 2010/2011 ent­stan­den. Beide dienen zum Aufbau hoch­ver­füg­ba­rer, ska­lier­ba­re Systeme in Hybrid Cloud-Um­ge­bun­gen. Sie werden von großen, global agie­ren­den Or­ga­ni­sa­tio­nen ein­ge­setzt und lassen sich auf einem breiten Spektrum un­ter­lie­gen­der Rechen-In­fra­struk­tur betreiben.

Man kann sowohl OpenShift als auch OpenStack als eine Art „Cloud-Be­triebs­sys­tem“ verstehen. Jedoch kommt jeweils eine andere Be­trach­tungs­ebe­ne zum Tragen. OpenShift wird für Ent­wick­lung und Betrieb con­tai­ne­ri­sier­ter An­wen­dun­gen genutzt. Nutzer können selbst­tä­tig An­wen­dun­gen und Dienste pro­vi­sio­nie­ren, betreiben und über­wa­chen. Dabei liegt der Fokus auf op­ti­mier­ten Ent­wick­lungs- und DevOps-Workflows.

OpenStack setzt auf einer tieferen Abs­trak­ti­ons­ebe­ne an. Mit der Plattform wird auf Basis ver­teil­ter Hardware eine vir­tua­li­sier­te Cloud-In­fra­struk­tur aufgebaut. Pro­vi­sio­niert werden virtuelle Maschinen mit CPU-Kernen und Ar­beits­spei­cher, sowie virtuelle Netzwerke und verteilte Mas­sen­spei­cher. Dem Self-Service Modell folgend, fordern Nutzer selbst­tä­tig Res­sour­cen an. Schauen wir uns an, wie OpenShift vs. OpenStack in Hinsicht auf ihre Un­ter­schie­de auf­ge­stellt sind:

Ei­gen­schaft OpenShift OpenStack
Her­stel­ler Red Hat OpenInfra Foun­da­ti­on
Vir­tua­li­sie­rungs­typ Container-Vir­tua­li­sie­rung Virtuelle Maschinen bzw. vir­tua­li­sier­te Hardware
Vir­tua­li­sie­rungs-Tech­no­lo­gie K8s Hy­per­vi­sor wie KVM, XEN, ESXi
Kontroll-Ebene Verteilt Zen­tra­li­siert
Service-Modell Platform-as-a-Service (PaaS) In­fra­struc­tu­re-as-a-Service (IaaS)
Nutzung von Cloud-Res­sour­cen Nutzt Cloud-Res­sour­cen für den Aufbau der An­wen­dungs­schicht Stellt Cloud-Res­sour­cen auf Basis vir­tua­li­sier­ter Hardware zur Verfügung

Wie werden OpenShift und OpenStack ein­ge­setzt?

Mit OpenStack baut eine Or­ga­ni­sa­ti­on dem In­fra­struc­tu­re-as-a-Service (IaaS)-Modell folgend eine eigene Cloud-Umgebung auf. Dabei entsteht eine interne Cloud, mit man sie von AWS und Al­ter­na­ti­ven gewohnt ist. Geo­gra­phisch verteilte Hardware wird als Cloud-Res­sour­cen pro­vi­sio­niert und über ver­schie­de­ne Schnitt­stel­len im System verfügbar gemacht.

OpenShift hingegen übernimmt die zen­tra­li­sier­te Ver­wal­tung von An­wen­dungs-Ent­wick­lung und -Betrieb. Die Software basiert auf Ku­ber­netes (K8s) und steuert K8s-Cluster über Cloud-Grenzen hinweg. Dem Platform-as-a-Service (PaaS)-Modell folgend lassen sich die Funk­tio­nen des Systems über eine Web-Ober­flä­che verwalten.

Trotz des ähnlich klin­gen­den Namens handelt es sich bei OpenShift und OpenStack nicht um verwandte Systeme. Sie lassen sich un­ab­hän­gig von­ein­an­der einsetzen. Jedoch ist es ebenfalls möglich, beide in Kom­bi­na­ti­on zu nutzen. Als Teil einer Hybrid Cloud-Strategie lässt sich mit OpenStack eine Private Cloud aufbauen. OpenShift nutzt die darin ent­hal­te­nen Res­sour­cen, um An­wen­dun­gen und Dienste be­reit­zu­stel­len und zu verwalten. Ferner ist es möglich OpenStack-Kom­po­nen­ten auf K8s- bzw. OpenShift-Clustern zu deployen.

Schauen wir uns im Folgenden die Vorteile und Nachteile der beiden Tech­no­lo­gien im Detail an. Wir gehen dabei auch auf besonders lohnende Ein­satz­sze­na­ri­en ein und schließen unsere Be­trach­tung mit einer ver­glei­chen­den Übersicht ab.

OpenStack — die offene Cloud-Plattform

Mit OpenStack steht eine offene Plattform zum Aufbau ska­lie­ren­der Cloud-Um­ge­bun­gen zur Verfügung. Die Software liegt als Abs­trak­ti­ons­ebe­ne über de­zen­tra­li­sier­ter Hardware-In­fra­struk­tur. Die Kern­funk­tio­na­li­tät besteht im Pro­vi­sio­nie­ren und Zuweisen von Rechen- Netzwerk-, und Mas­sen­spei­cher-Ka­pa­zi­tä­ten. Dem In­fra­struc­tu­re-as-a-Service (IaaS) Modell folgend fordern Nutzer ei­gen­stän­dig die be­nö­tig­ten Res­sour­cen an. Für die Ver­wal­tung des Systems steht neben ob­li­ga­to­ri­schen APIs eine Web-Ober­flä­che zur Verfügung.

Über die Res­sour­cen-Pro­vi­sio­nie­rung hin­aus­ge­hend umfasst OpenStack eine Reihe weiterer Funk­tio­na­li­tä­ten. Dazu gehören u.A. Iden­ti­täts­ma­nage­ment der Nutzer, Ver­wal­tung von DNS-Einträgen, sowie ein Image-Service für die Ver­wal­tung von VM-Images. Prak­ti­scher­wei­se sind die einzelnen Funk­tio­nen als in­di­vi­du­el­le Kom­po­nen­ten gekapselt. In der aktuellen OpenStack Version exis­tie­ren mehr als drei Dutzend Kom­po­nen­ten; für ge­wöhn­lich kommen innerhalb eines Projekts nicht alle davon zum Einsatz. Wir geben einen kurzen Überblick der wich­tigs­ten Kom­po­nen­ten:

OpenStack-Kom­po­nen­te Funk­tio­na­li­tät Be­schrei­bung
Nova Compute-Service Vir­tua­li­sier­te CPU-Kerne und Ar­beits­spei­cher pro­vi­sio­nie­ren.
Swift Objekt-Speicher Speichern von S3-artigen Objekten auf Grundlage vir­tua­li­sier­ter, red­un­dan­ter Mas­sen­spei­cher.
Glance Image Service VM-Images für den Betrieb der Plattform verwalten.
Horizon Web-Dashboard Nutzer loggen sich über das Dashboard ein und verwalten von dort aus die einzelnen Sys­tem­kom­po­nen­ten.
Keystone Iden­ti­täts-Service Sys­tem­über­grei­fen­de, API-basierte Au­then­ti­fi­zie­rung und Au­to­ri­sie­rung der Nutzer be­reit­stel­len.
Cinder Block-Speicher Hoch­ver­füg­ba­re, feh­ler­to­le­ran­ter Mas­sen­spei­cher, welcher wie eine ska­lie­ren­de, Cloud-Fest­plat­te funk­tio­niert.
Neutron Netzwerk-Ver­wal­tung Die Virtuelle Netzwerk In­fra­struk­tur (VNI) des Systems verwalten.
Ironic „Bare metal“-Pro­vi­sio­nie­rung Bare metal-In­fra­struk­tur verwalten; umfasst den kom­plet­ten Lifecycle der Bare metal-Maschinen, inklusive Erfassung, Pro­vi­sio­nie­rung, Pflege und Still­le­gung.
Trove Datenbank-Service Ska­lier­ba­re, ver­läss­li­che Cloud-Da­ten­ban­ken pro­vi­sio­nie­ren und verwalten.
Magnum Container-Or­ches­trie­rung Container-Engines wie K8s und Al­ter­na­ti­ven auf Basis vir­tu­el­ler Maschinen oder auf Bare metal-In­fra­struk­tur be­reit­stel­len.

Was sind die Vorteile von OpenStack?

Zunächst eröffnet OpenStack Or­ga­ni­sa­tio­nen die Mög­lich­keit, eine eigene Cloud-In­fra­struk­tur auf Basis exis­tie­ren­der Tech­no­lo­gie auf­zu­bau­en. Daraus ergeben sich dra­ma­ti­sche Ein­spa­run­gen, da nicht komplett bei null an­ge­fan­gen werden muss. OpenStack besteht aus einzelnen Kom­po­nen­ten, welche den An­for­de­run­gen nach kon­fi­gu­riert werden. Es handelt sich um Open Source-Software, welche für jedermann frei zur Verfügung steht. Wei­ter­ent­wick­lung und Do­ku­men­ta­ti­on der Plattform werden von der OpenStack-Community vor­an­ge­trie­ben.

Was sind die Nachteile von OpenStack?

Aufgrund der Kom­ple­xi­tät der Software gilt die In­stal­la­ti­on von OpenStack als her­aus­for­dernd. Das Ge­samt­pa­ket umfasst eine Vielzahl einzelner Kom­po­nen­ten, welche einzeln kon­fi­gu­riert werden müssen. Auch die von der Community bei­gesteu­er­te Do­ku­men­ta­ti­on hinkt manchmal den tat­säch­li­chen Ge­ge­ben­hei­ten hinterher. Beiden Nach­tei­len kann durch Einsatz von Spe­zia­lis­ten oder Zu­sam­men­ar­beit mit Tech-Partnern ge­gen­ge­steu­ert werden, wodurch sich jedoch zu­sätz­li­che Kosten ergeben. Da OpenStack fast aus­schließ­lich für größere Projekt zum Einsatz kommt, dürfte in den meisten Fällen ein ent­spre­chen­des Budget zur Verfügung stehen.

Für welche Ein­satz­zwe­cke ist OpenStack am besten geeignet?

OpenStack eignet sich am besten dazu, eigene Cloud-In­fra­struk­tur auf de­zen­tra­li­sier­ter Rechen-Hardware auf­zu­bau­en. Besonders stark ist die Software im Bereich der vir­tu­el­len Maschinen (VM). In Kom­bi­na­ti­on mit OpenShift oder ver­gleich­ba­rer K8s Ma­nage­ment-Lösungen lassen sich VM- und Container-basierte An­wen­dun­gen Seite an Seite betreiben. Auch nativ gehört die Container-Vir­tua­li­sie­rung mit der „Magnum“-Kom­po­nen­te mitt­ler­wei­le zum Funk­ti­ons­um­fang dazu.

OpenShift — die mächtige An­wen­dungs- und Ent­wick­lungs-Plattform

OpenShift wird zum Aufbau ver­teil­ter, ska­lie­ren­der An­wen­dungs- und Ent­wick­lungs­um­ge­bun­gen nach dem Platform-as-a-Service (PaaS) Modell ein­ge­setzt. Die Software stellt eine komplette Aus­füh­rungs­um­ge­bung bereit, in der Container deployt, aus­ge­führt, verwaltet und or­ches­triert werden. Die in­te­grier­ten Werkzeuge ver­ein­fa­chen moderne Ent­wick­lungs- und De­ploy­ment-Workflows.

Als Unterbau kommt bei OpenShift eine spezielle Ku­ber­netes (K8s) Dis­tri­bu­ti­on zum Einsatz. Diese lässt sich über Cloud- und In­fra­struk­tur-Grenzen hinweg deployen, wobei eine kon­sis­ten­te Nut­zer­er­fah­rung erzielt wird. Die K8s-Kern­funk­tio­na­li­tät wird um Si­cher­heits- und Mo­ni­to­ring-Features ergänzt und fußt auf zen­tra­li­sier­tem Policy-Ma­nage­ment. So wird über die Soft­ware­land­schaft einer gesamten Or­ga­ni­sa­ti­on hinweg ein hoher Qua­li­täts­stan­dard ge­währ­leis­tet. Zur Im­ple­men­tie­rung kommen größ­ten­teils OpenShift-Ope­ra­to­ren zum Einsatz:

OpenShift-Kom­po­nen­te Erklärung
OpenShift API Server Der OpenShift API Server überprüft und kon­fi­gu­riert OpenShift-Res­sour­cen, wie Projekte, Routes und Templates.
OpenShift Con­trol­ler Manager Der OpenShift Con­trol­ler Manager überwacht etcd auf Än­de­run­gen von OpenShift-Objekten, wie Projekte, Routes und Template Con­trol­ler-Objekte und benutzt die API, um den ge­wünsch­ten Zustand zu erzielen.
OpenShift OAuth API Server Der OpenShift OAuth API Server überprüft und kon­fi­gu­riert die Daten für die Au­then­ti­fi­zie­rung auf der OpenShift Container Platform. Dazu gehören Benutzer, Gruppen und OAuth Token.
OpenShift OAuth Server Benutzer erfragen ein Token vom OpenShift OAuth Server, um sich gegenüber der API zu au­then­ti­fi­zie­ren.

Was sind die Vorteile von OpenShift?

OpenShift bändigt die operative Kom­ple­xi­tät, welche mit der Ad­mi­nis­tra­ti­on selbst­ver­wal­te­ter K8s-Cluster ein­her­geht. So lassen sich mehrere K8s-Cluster über die Grenzen öf­fent­li­cher und privater Cloud-In­fra­struk­tu­ren hinweg zen­tra­li­siert verwalten. Dem PaaS-Ansatz folgend können Ent­wick­ler über eine Web-Schnitt­stel­le selbst­tä­tig Res­sour­cen für ihre Projekte anfordern. In­te­grier­te Tools und Workflows für Con­ti­nuous In­te­gra­ti­on und Con­ti­nuous Delivery (CI/CD) runden den Funk­ti­ons­um­fang ab Daraus ergeben sich drastisch gesenkte Aus­lie­fe­rungs­zei­ten.

Generell überzeugt OpenShift mit den in­te­grier­ten Si­cher­heits­vor­keh­run­gen. Mit „Quay“ steht eine speziell ab­ge­si­cher­te Container-Registry zur Verfügung. Durch­gän­gi­ge Au­to­ri­sie­rung und Au­then­ti­fi­zie­rung begrenzt den Zugriff der Nutzer auf die einzelnen Bereiche des Systems. Die Mög­lich­keit, einzelne Cluster in ver­schie­de­nen geo­gra­phi­schen Regionen zu hosten, erlaubt in Hinsicht auf Da­ten­schutz und Da­ten­ho­heit bessere Com­pli­ance.

Was sind die Nachteile von OpenShift?

OpenShift läuft nur auf spe­zi­el­len Be­triebs­sys­te­men von Red Hat, wie „Red Hat En­ter­pri­se Linux CoreOS“ (RHCOS) und „Red Hat En­ter­pri­se Linux“ (RHEL). Die In­stal­la­ti­on gilt als aus­ge­spro­chen aufwendig. So kann die Ein­rich­tung für größere Projekte mehrere Wochen in Anspruch nehmen. Aufgrund der stren­ge­ren Si­cher­heits­vor­keh­run­gen kommen speziell ab­ge­si­cher­te Container-Images aus Red Hat’s „Quay“ Container-Registry zum Einsatz.

Für welche Ein­satz­zwe­cke ist OpenShift am besten geeignet?

Auf Basis von OpenShift werden Firmen-eigene Platform-as-a-Service- (PaaS)-, Software-as-a-Service- (SaaS)- und Con­tai­ners-as-a-Service- (CaaS)-Lösungen im­ple­men­tiert. Dabei liegt der Fokus ganz klar auf großen Or­ga­ni­sa­tio­nen. Für einzelne Ent­wick­ler ist OpenShift si­cher­lich zu groß und zu schwer zu handhaben.

OpenShift vs. OpenStack — der direkte Vergleich

Ei­gen­schaft OpenShift OpenStack
Be­zugs­quel­le der Software Neben den von Red Hat an­ge­bo­te­nen En­ter­pri­se-Versionen steht mit OKD eine frei ver­füg­ba­re Community-Edition zur Verfügung. Die Ent­wick­lung von OpenStack un­ter­liegt der Community, geleitet durch die OpenInfra Foun­da­ti­on. Neben der of­fi­zi­el­len, frei ver­füg­ba­ren Version bieten große IT-Häuser kos­ten­pflich­ti­ge Dis­tri­bu­tio­nen an.
De­ploy­ment-Modell Multi- und Hybrid-Cloud De­ploy­ments sind möglich, jedoch ggf. komplex. Es lohnt sich, auf stan­dar­di­sier­te De­ploy­ment-Me­cha­nis­men zu­rück­zu­grei­fen. OpenStack wird oft „On-premises“ auf der eigenen Re­chen­in­fra­struk­tur betrieben. Das De­ploy­ments aufwendig sind, stehen an­ge­pass­te Dis­tri­bu­tio­nen großer Anbieter samt de­di­zier­tem Support zur Verfügung. Ferner gibt es ver­schie­de­ne Cloud-basierte Ansätze und Managed-Lösungen.
Un­ter­stütz­te Cloud-Platt­for­men Als Self-managed Lösung lässt sich OpenShift auf praktisch jeder In­fra­struk­tur betreiben. Als Managed-Lösung läuft die Software auf den Cloud-Platt­for­men AWS, Azure, Google Cloud und IBM Cloud. OpenStack läuft auf so ziemlich allen Cloud-Platt­for­men in vir­tu­el­len Maschinen, sowie auf „Bare metal“-Maschinen per Hy­per­vi­sor. Ferner lassen sich die Kom­po­nen­ten in Container-Um­ge­bun­gen aller großen Anbieter in­stal­lie­ren.
In­stal­la­ti­on Benötigt Cluster bzw. Cloud-Umgebung für In­stal­la­ti­on. Die In­stal­la­ti­on der OpenStack-Con­trol­ler erfolgt entweder On-premises, oder auf von einem Anbieter be­reit­ge­stell­ter In­fra­struk­tur.
Releases Es finden bis zu drei Releases pro Jahr statt. Regulär gibt es zwei Releases pro Jahr.
Update-Ver­wal­tung Updates werden durch den „Cluster Version Operator“ ver­ein­facht. Updates sind komplex und bergen ein Risiko, das System zu be­schä­di­gen. Updates der einzelnen Kom­po­nen­ten müssen in einer be­stimm­ten Rei­hen­fol­ge vor­ge­nom­men werden.
Image-Ver­wal­tung Red Hat’s eigene „Quay“ Container-Registry enthält auf Schwach­stel­len über­prüf­te Container-Images. Die „Glance“-Kom­po­nen­te verwaltet die bei der Pro­vi­sio­nie­rung des Systems genutzten VM-Images.
Nutzung von Templates Neben den OpenShift-eigenen Templates kommen mächtige „Operators“ zum Einsatz, um De­ploy­ment und Betrieb von An­wen­dun­gen zu stan­dar­di­sie­ren. Die De­ploy­ment von OpenStack wird durch Industrie-Tools wie Chef, Puppet und Ansible er­leich­tert und re­pro­du­zier­bar gemacht. Ferner exis­tie­ren Helm- bzw. Charms-basierte Tool für das De­ploy­ment in Con­tai­nern.
Netzwerk-Ver­wal­tung OpenShift un­ter­stützt Software-defined-net­wor­king (SDN), inklusive Overlay-Netzwerke via Open vSwitch (OVS). OpenStack’s „Neutron“-Kom­po­nen­te stellt SDN nach dem „Net­wor­king-as-a-service“ (NaaS) Modell zur Verfügung.
Web-Schnitt­stel­le Die aus­ge­feil­te, kom­for­ta­ble Web-Schnitt­stel­le von OpenShift gilt als eine der besten der Industrie. Mit dem „Horizon“ Dashboard steht ab Werk eine erprobte Web-Oberfäche zur Ver­wal­tung von OpenStack zur Verfügung.
In­te­grier­te CI/CD-Pipeline Nutzten ältere Versionen noch den In­dus­trie­stan­dard „JenkinsÚ, kommt mitt­ler­wei­le stan­dard­mä­ßig das neuere „Tekton“ zum Einsatz. Da der Fokus von OpenStack primär auf der Pro­vi­sio­nie­rung vir­tua­li­sier­ter Res­sour­cen liegt, ist von Haus aus keine de­di­zier­te CI/CD-Lösung in­te­griert.
Lernkurve OpenShift gilt als leichter zu handhaben, als „nacktes“ K8s. Kommt eine Managed-Lösung zum Einsatz, lässt sich die Software relativ flüssig nutzen. Aufgrund der Kom­ple­xi­tät von OpenStack gilt die Lernkurve als recht steil. Die Vielzahl der einzelnen Kom­po­nen­ten bedingt ggf. ein neues Einlernen bei Be­reit­stel­lung zu­sätz­li­cher Funk­tio­na­li­tät.
Si­cher­heits­fea­tures Die um­fang­rei­chen Si­cher­heits­fea­tures zählen zu den her­aus­ra­gen­den Vorteilen beim Einsatz von OpenShift. Die „Keystone“-Kom­po­nen­te stellt grund­le­gen­de Funk­tio­nen zur Au­then­ti­fi­zie­rung und Au­to­ri­sie­rung der Nutzer bereit.
En­ter­pri­se-Nutzung Die Software wird von mehr als zwei­tau­send Or­ga­ni­sa­tio­nen weltweit ein­ge­setzt. Viele große IT-Firmen haben spezielle OpenShift-Lösungen im Angebot. Große IT-Firmen bieten spe­zi­fi­sche Dis­tri­bu­tio­nen und Support für OpenStack an. Dazu gehören u. A. Red Hat, VMware, IBM, SUSE, Canonical, OVH, Rackspace, Mirantis und Dell.
Zum Hauptmenü