11 March 2021

Een (niet zo) korte vergelijking: OpenShift, Cloud Foundry, Rancher & Kubernetes

Containerization

Red Hat OpenShift, Rancher en PCF/PKS (Pivotal) zijn implementaties van een container platform. Hoewel er redelijk wat overeenkomsten zijn tussen de implementaties is een objectieve vergelijking moeilijk te vinden. In deze blogreeks presenteer ik een kort en bondige vergelijking aan de hand van een lijst van features van de platformen. Ook leg ik de verschillen tussen die features uit, bijvoorbeeld aan de hand van hoe ze zijn geïmplementeerd. In deze eerste blog ga ik in op de verschillende producten en de wijziging(en) die ze de afgelopen twee jaar hebben doorgemaakt.

Een landschap dat continue verandert

Ongeveer anderhalf jaar geleden heb ik een vergelijkingstabel gemaakt met features en functionaliteiten van de, op dat moment, meest recente versies van Red Hat OpenShift en Pivotal Cloud Foundry. Er is daarna veel veranderd. De term Platform-as-a-Service is grotendeels verdwenen en vervangen door container platform. Red Hat heeft CoreOS overgenomen en is begonnen met de integratie van verschillende componenten in de OpenShift stack. Beiden hebben Kubernetes omarmd als orkestratielaag, dit terwijl Pivotal haar productgamma heeft uitgebreid met de Pivotal Container Service (PKS) en Cloud Foundry nu Pivotal Application Service (PAS) is geworden. Tijd dus voor een update! En om het overzicht wat interessanter te maken voeg ik nu Rancher en Kubernetes – als onderliggende technologie, maar ook als mogelijk zelfstandige oplossing – toe aan de vergelijking.

Een korte introductie van de producten

Red Hat OpenShift, Rancher en PCF/PKS zijn implementaties van een Platform-as-a-Service container platform. Hoewel er redelijk wat overeenkomsten tussen de implementaties (hierna: platformen) zit, is een objectieve vergelijking, zelfs 2 jaar later, moeilijk te vinden. De vergelijking in deze blogreeks presenteert een lijst van features van de platformen en legt de verschillen tussen die features uit. Deze vergelijking is bedoeld om kort en bondig te zijn. Het is dan ook geen “buying guide”; een implementatie of aanschaf houdt meer in dan een simpele checklist volgen! En ook al ben ik geneigd een korte paragraaf te schrijven met “welk platform is beter”, ga ik dat niet doen.

In hun eigen woorden

De websites van Rancher, Red Hat en Pivotal beschrijven hun producten als volgt (en hierbij geldt dat ik zelf een selectie heb gemaakt van de reclameteksten op de respectievelijke websites):

  • Rancher: “Kubernetes clusters are being deployed everywhere in your organization. Rancher centrally manages all of these clusters in order to ensure security and accelerate transformation. Rancher is a platform built to address the needs of the DevOps teams deploying applications with Kubernetes, and the IT staff responsible for delivering an enterprise-critical service.”
  • Red Hat: “Red Hat OpenShift 4 is a platform for standardized, self-service dev environments and full-stack automated ops, so you can stay focused on the code that will make a difference. Red Hat OpenShift offers automated installation, upgrades, and lifecycle management throughout the container stack—the operating system, Kubernetes and cluster services, and applications—on any cloud.”
  • Pivotal: “Cloud computing. Containers. Microservices. CI/CD. Agile development. DevOps. A modern mindset and methodology that turns technology into business outcomes. Pivotal Platform unifies all these concepts in a single product.”
  • Pivotal PAS: “A modern runtime for Java, .NET, and Node apps. Pivotal Application Service is purpose-built for developers to boost feature velocity and operations teams to deliver world-class uptime.”
  • Pivotal PKS: “Pivotal Container Service (PKS) is an Enterprise Kubernetes platform, architected for rapid results, scaling and reliability on any infrastructure. Reliably deploy and run containerized workloads across private and public clouds. Enterprise Pivotal Container Service eases the Day 2 operations burden for container orchestration with built-in HA, monitoring, automated health checks, and much more.”

Pivotal onder de loep

Pivotal biedt op dit moment een platform aan dat uit verschillende onderdelen bestaat: Pivotal Container Service (PKS), Pivotal Application Service (PAS), Pivotal Function Service en Pivotal Build Service. Daarmee is de naam Cloud Foundry verdwenen, en de verschillende onderdelen van het platform worden “concepts” genoemd, die in een product – het platform – passen. In dit artikel kijk ik alleen naar PKS (een afkorting die verwarrend genoeg staat voor Pivotal Container Service) en PAS.

VMWare heeft recent Pivotal overgenomen. Pivotal is ooit binnen VMWare ontstaan als een aparte productrichting, dus met de overname keert het product feitelijk weer terug naar de thuisbasis. Het resultaat is wel dat er een wijziging in het productportfolio optreedt. De belangrijkste verandering is de introductie van VMWare Tanzu, dat de vervanging voor Pivotal PKS lijkt te zijn. De cloud versie van PKS is per 1 november 2019 al verdwenen. Een verdere uitwerking van de productvisie achter Tanzu zal waarschijnlijk de komende maanden wel materialiseren.

Kubernetes

  • Kubernetes: “Kubernetes (K8s) is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery. Kubernetes builds upon 15 years of experience of running production workloads at Google, combined with best-of-breed ideas and practices from the community.”

De reden dat Kubernetes in dit overzicht staat is dat, alhoewel alle producten in deze vergelijking gebruik maken van Kubernetes als orkestratielaag, het ook mogelijk is om Kubernetes als zelfstandig product te implementeren.

En de Public Cloud dan?

Natuurlijk is Kubernetes ook beschikbaar in de Public Cloud. De drie grote spelers hebben ieder hun eigen implementatie: Amazon EKS, Azure AKS en Google GKE. Een vergelijking tussen die drie producten is iets voor een toekomstig artikel.

Zijn er duidelijke verschillen met vorig jaar?

Wanneer we kijken naar de vorige versies van de producten en hoe deze werden beschreven, liggen drie belangrijke nieuwe onderwerpen voor de hand (afgezien van misschien de nog sterkere focus dan voorheen op DevOps en de verschuiving naar Kubernetes): multi-cloud, beveiliging en updates & upgrades.

Multi-cloud

Multi-cloud is een gegeven: volgens de Rightscale State of Cloud-enquête van 2019 heeft 84% van de onderzochte ondernemingen een multi-cloudstrategie. De reden om deze strategie in de eerste plaats te hebben, is dat het aantal clouds waarmee een onderneming wordt geconfronteerd behoorlijk toeneemt doordat softwareleveranciers een cloud-first-strategie hanteren. Hoewel dat vaak in de praktijk neerkomt op een ” ‘cloud-first’, maar dan wel in onze cloud-strategie”.
De verschillende producten die ik in dit artikel bekijk hebben bijna allemaal een multi-cloudstrategie. Alleen Rancher heeft geen versie van haar software in een eigen Public Cloud draaien. 

Beveiliging

Er bestaan ​​nu verschillende speciale, geïntegreerde beveiligingsoplossingen (zoals Aquasec en Twistlock) die alles binnen het product omvatten: van de container en de applicatie die erop draait, tot de infrastructuur die er onder ligt. Beveiliging is al geruime tijd een rem op de acceptatie van containers. Dit komt vooral omdat beveiliging van containers een mind shift vereist van de implementatie van een specifieke oplossing voor een enkele applicatie, naar een integrale benadering van beveiliging in de gehele software levenscyclus. Van code tot en met productie, voor zowel software als hardware, en dit dan bij voorkeur ook nog in real-time. Er zijn inmiddels producten op de markt die een dergelijke holistische benadering hanteren, maar de markt is nog wel sterk in ontwikkeling.

Updates en upgrades

Het “probleem” van het bijwerken van platforms – in een private cloud-omgeving – krijgt ook steeds meer aandacht van leveranciers. Een containerplatform heeft veel bewegende delen die regelmatig worden bijgewerkt, dus een overkoepelende update-strategie is iets dat eigenlijk al op zijn plaats moet zijn, voordat er serieus productie op een private cloud wordt gedraaid.

Impact van bovenstaande ontwikkelingen op de platformen in deze vergelijking

De verschillende producten in mijn vergelijking gaan ieder op hun eigen manier om met de ontwikkelingen die ik hierboven beschrijf. Ze hebben eigenlijk allemaal (behalve Rancher) een versie van hun product dat in een Private en Public Cloud kan draaien. Red Hat heeft als enige stevig ingezet op over-the-air upgrades en daarmee een grote zorg voor het up-to-date houden van containerplatformen weggenomen. De andere platformen zijn nog niet zo ver. Voor wat betreft security wordt grotendeels vertrouwd op producten van anderen.

Eerste observatie

In deze eerst blog ben ik begonnen met een korte introductie en overzicht van de verschillende containerplatforms en de wijziging(en) die ze de afgelopen 1,5 jaar hebben doorgemaakt. Mijn eerste indruk is dat alle producten veel meer volwassen zijn geworden. Dat komt voor een belangrijk deel door de introductie van Kubernetes en de enorme snelheid waarmee dat project zich ontwikkelt. Red Hat heeft met het overnemen van CoreOS een grote stap gemaakt, maar bevindt zich nog volop in de integratiefase tussen OpenShift en dat product. Rancher is een serieus alternatief voor bare-bones Kubernetes, maar heeft inmiddels een aantal interessante uitbreidingen op het eigen platform gemaakt. De richting die VMWare gaat inslaan met Tanzu, ter vervanging van Cloud Foundry, zijn ook interessant om in de gaten te houden.

In het tweede artikel in deze blogreeks ga ik dieper in op de architectuur van de verschillende producten en versies. Tot slot behandel ik in het derde blog hoe ze iedere 28 eigenschappen (zie onderstaand tabel) hebben ingevuld. Stay tuned!