26 May 2020

IT in 3 minuten: Wat is OpenShift?

Riemer Palstra
Containerization Openshift

OpenShift wordt steeds populairder in de wereld van applicatie ontwikkeling. Maar een goede beknopte beschrijving is nog steeds lastig te vinden. Want wat is OpenShift nu precies? Enterprise Kubernetes? Een container orkestratieplatform? Een Platform as a Service? De ultieme cloudervaring? De schakel tussen Dev en Ops? The missing link tussen je infra- en applicatielaag? Een accelerator voor je voortbrengingsproces? Allemaal waar… In deze blog neem ik je in het kort mee in de techniek en wat dit specifiek voor ieders rol in de keten betekent.

Onder de motorkap

Met OpenShift, een containerisatie software platform van Red Hat, bouw je je applicaties, van test tot productie, razendsnel in 1 cloudomgeving. Het hart van OpenShift (je zou het zelfs bijna de kernel kunnen noemen) is Kubernetes, een platform om containers aan te sturen, waarvan de ontwikkeling ooit bij Google is begonnen onder de naam “Borg”. De containers zelf draaien vervolgens in een container engine genaamd CRI-O (in vroegere versies werd hier de bekende engine “Docker” gebruikt). En dit geheel draait bovenop Red Hat Enterprise Linux CoreOS, een minimale, uitgeklede versie van RHEL, speciaal gemaakt voor containertoepassingen.

OpenShift is meer dan een schil om Kubernetes alleen. Het biedt uitgebreide automatisering (met het Operator Framework), monitoring en logging (met Prometheus, fluentd, Elasticsearch en Kibana), Pipelines (voorheen met Jenkins, maar tegenwoordig met het container-native Tekton), Service Mesh (met Istio, Jaeger en Kiali) en de ontwikkelomgeving CodeReady Workspaces (gebaseerd op Eclipse Che). Ondersteuning is onderweg voor Serverless (met Knative) en Container Native Virtualization (Virtual Machines draaien en aansturen binnen OpenShift). Een heleboel productnamen en een hoop onderdelen, maar wat biedt deze combinatie aan tools je dan precies?

Wat betekent dit voor jou?

OpenShift voor de systeembeheerder

Met OpenShift installeer je een platform dat kan draaien in je eigen datacenter, op bare metal of op je bestaande virtualisatieplatform, en op meerdere public clouds, waardoor je een flexibel containerplatform kunt bouwen zonder dat je vast zit aan de tools van een bepaalde provider. Je kunt het platform op simpele wijze naar wens opschalen en weer afschalen. Beheerders en ontwikkelaars geven je toegang tot hun eigen projecten, zodat ze zelf de benodigde resources in gebruik kunnen nemen. Omdat zowel OpenShift als het onderliggende CoreOS geautomatiseerd met rolling upgrades naar een nieuwe versie getild kunnen worden, hoef je je hier als beheerder geen zorgen meer om te maken.

OpenShift voor de applicatiebeheerder

Door het gebruik van containers met de bijbehorende versionering weet je als applicatiebeheerder zeker dat dezelfde versie van een applicatie op zowel O, T, A als P is uitgerold. OpenShift biedt je een centrale plek om de configuraties van de verschillende omgevingen in te regelen, applicaties zonder downtime up te graden met rolling updates en met een simpele druk op een knop terug te gaan naar een vorige versie. In plaats van het op verschillende servers uitpakken en kopiëren van files, het wijzigen van configuratiefiles en het zoeken naar missende dependencies, heb je nu één centrale plek om al je applicatieomgevingen met de bijbehorende lifecycles te beheren.

OpenShift voor de applicatieontwikkelaar

OpenShift kan automatisch de wijzigingen die je in software maakt via je versiecontrolesysteem oppakken en hier nieuwe containers mee bouwen, die vervolgens ook meteen in een ontwikkelomgeving uitgerold en getest kunnen worden. Door met deze acties volledige pipelines te bouwen, kun je op deze manier zelfs automatisch – maar wel eventueel met de benodigde goedkeuringsacties – de wijzigingen voorbrengen via O, T en A naar P. Het platform biedt met Service Mesh, Serverless en CodeReady Workspaces alle tools om container-native te ontwikkelen en het Operator Framework om je eigen applicatie geautomatiseerd te (laten) installeren en te upgraden.

OpenShift voor de eindgebruiker

Als eindgebruiker zie je misschien het OpenShift platform zelf niet, maar merk je het gebruik des te meer. De door jou gebruikte applicaties op het OpenShift platform worden regelmatig en zonder downtime geüpgraded, waarbij features, verbeteringen of bugfixes die je zelf had gemeld al enkele dagen laten beschikbaar worden gesteld. Zelfs bij grote drukte blijft de applicatie goed en zal het snel reageren aangezien het platform automatisch de benodigde capaciteit bij zal schalen.

Veel meer dan een PaaS platform

Kortom: OpenShift is veel meer dan een PaaS platform. Het is een complete verandering in de manier van werken. Een DevOps werkwijze. De dienst Containerisation vullen we bij HCS Company in met het OpenShift Container Platform van Red Hat. Meer weten over OpenShift en verschillende praktijkcases? Lees dan onze uitgebreide productpagina over OpenShift.