Anwendungen & Cloud Neueste Blogartikel

Der Backbone zum Upgrade Ihrer Multi-Cloud DevOps Experience

Michael Rebmann, Lead Solution Architect bei VMware Schweiz

Multi-Cloud ist Chaos. Sie können Multi-Cloud-Komplexität nicht mit einem einzigen Anbieter oder einer einzigen Supercloud (oder Intercloud) lösen, das ist ganz einfach nicht möglich. Aber verschiedene Anbieter können Ihnen auf Ihrer Multi-Cloud-Reise helfen, Ihr Leben und das des Plattformteams einfacher zu machen. Alle Welt spricht von DevOps oder DevSecOps, und dann gibt es noch den Shift-Left-Ansatz, der den Entwicklern mehr Verantwortung überträgt. Mir scheint, dass wir zu oft den “Ops”-Teil von DevOps vergessen. Aus diesem Grund möchte ich die Notwendigkeit von Tanzu Mission Control (Teil von Tanzu for Kubernetes Operations) und der Tanzu Application Platform hervorheben.

Herausforderungen im Betrieb

Was mit einer VMware-basierten Cloud in Rechenzentren begonnen hat, hat sich zu einer sehr heterogenen Architektur mit zwei oder mehr öffentlichen Clouds wie Amazon Web Services (AWS), Microsoft Azure oder Google Cloud Platform entwickelt. IT-Analysten zufolge nutzen bereits 75 % der Unternehmen zwei oder mehr öffentliche Clouds. Unternehmen wählen ihre Public-Cloud-Anbieter auf der Grundlage von Arbeitslast- oder Anwendungsmerkmalen und den bekannten Stärken einer Public Cloud aus. Unternehmen wollen ihre aktuellen Legacy-Anwendungen in den öffentlichen Clouds modernisieren, da in den meisten Fällen ein einfaches Rehosting oder eine Migration (Lift & Shift) nicht den gewünschten Wert oder die gewünschte Innovation bringt. Eine moderne Anwendung ist eine Sammlung von Microservices, die leicht, fehlertolerant und klein sind. Microservices können in Containern ausgeführt werden, die in einer privaten oder öffentlichen Cloud bereitgestellt werden. Viele Betriebs- und Plattformteams sehen Cloud-Native als Übergang zu Kubernetes (K8s). Aber Cloud-Native ist so viel mehr als die Bereitstellung und Orchestrierung von Containern mit Kubernetes. Es geht um Zusammenarbeit, DevOps, interne Prozesse und Lieferketten, Beobachtbarkeit/Selbstheilung, kontinuierliche Bereitstellung/Deployment und Cloud-Infrastrukturen.

Erwartung an Kubernetes

Kubernetes 1.0 wurde 2015 von Google als Open-Source-Seed-Technologie in die Linux Foundation eingebracht, die daraufhin die Unterstiftung “Cloud Native Computing Foundation” (CNCF) gründete. Zu den Gründungsmitgliedern der CNCF gehören Unternehmen wie Google, Red Hat, Intel, Cisco, IBM und VMware.

Derzeit hat die CNCF über 167.000 Projektmitarbeiter, rund 800 Mitglieder und mehr als 130 zertifizierte Kubernetes-Distributionen und -Plattformen. Open-Source-Projekte und die Verbreitung von Cloud-Native-Technologien nehmen ständig zu.

Wenn man auf die CNCF Cloud Native Interactive Landscape zugreift, bekommt man ein Verständnis dafür, wie viele Open-Source-Projekte von der CNCF unterstützt und von dieser Open-Source-Community gepflegt werden. Seit der Übergabe an die CNCF nutzt fast jedes Unternehmen auf diesem Planeten Kubernetes oder eine Distribution davon:


Dies sind nur einige der insgesamt 63 zertifizierten Kubernetes-Distributionen. Was ist mit den zertifizierten gehosteten Kubernetes-Dienstangeboten? Ich möchte hier einige der beliebtesten auflisten:

  • Alibaba Cloud Container Service für Kubernetes
  • Amazon Elastic Container Service für Kubernetes (EKS)
  • Azure Kubernetes-Dienst (AKS)
  • Google Kubernetes-Engine (GKE)
  • Nutanix Karbon
  • Oracle Container-Engine
  • OVH Verwalteter Kubernetes-Dienst
  • Red Hat OpenShift Dedicated

All diese Clouds und Anbieter stellen Kubernetes-Implementierungen zur Verfügung, aber Software zu schreiben, die in allen Clouds gleich gut funktioniert, scheint immer noch eine Herausforderung zu sein. Wenigstens haben wir einen gemeinsamen Nenner, eine Konsistenz über alle Clouds hinweg, oder? Und das ist Kubernetes.

Konsistente Abläufe und Erfahrungen

Es ist sehr interessant zu sehen, dass die drei großen Hyperscaler Amazon, AWS und Google sich nun auch in Richtung Multi-Cloud-fähiger Services und Produkte bewegen, um eine konsistente Erfahrung aus Sicht des Betriebs zu bieten, insbesondere für Kubernetes-Cluster.

Microsoft hat jetzt Azure Arc, Google bietet Anthos (GKE-Cluster) für jede Cloud an und AWS hat ebenfalls erkannt, dass die Zukunft aus mehreren Clouds besteht und plant, “AKS Anywhere” anzubieten.

Sie alle haben erkannt, dass die Kunden eine zentralisierte Verwaltungs- und Steuerungsebene benötigen. Die Kunden wünschen sich einen vereinfachten Betrieb und eine einheitliche Erfahrung bei der Verwaltung von K8s-Clustern in mehreren Clouds.

Tanzu Mission Control (TMC)

Stellen Sie sich vor, Sie verfügen über ein zentrales Dashboard mit Verwaltungsfunktionen, das eine einheitliche Richtlinien-Engine bereitstellt und es Ihnen ermöglicht, alle Ihre verschiedenen K8s-Cluster zu verwalten.

TMC bietet integrierte Sicherheitsrichtlinien und Cluster-Inspections (CIS-Benchmarks), sodass Sie zusätzliche Kontrollen auf Ihre Kubernetes-Bereitstellungen anwenden können. Durch die Nutzung des Open-Source-Projekts Velero bietet Tanzu Mission Control den Betriebsteams die Möglichkeit, Ihre Cluster und Namespaces ganz einfach zu sichern und wiederherzustellen. Erst vor vier Wochen kündigte VMware clusterübergreifende Backup- und Wiederherstellungsfunktionen für Tanzu Mission Control an, mit denen Kubernetes-basierte Anwendungen unabhängig von Infrastruktur und Distribution werden können.

Mit Tanzu Mission Control können Sie jeden CNCF-konformen K8s-Cluster anschließen. Wenn Sie an TMC angeschlossen sind, können Sie Richtlinien für alle Kubernetes-Distributionen wie Tanzu Kubernetes Grid (TKG), Azure Kubernetes Service, Google Kubernetes Engine oder OpenShift verwalten.

Im Rahmen des kontinuierlichen Engagements von VMware, Kunden bei der Modernisierung ihrer Multi-Cloud-Anwendungen zu unterstützen, hat das Tanzu Mission Control-Team auf der VMware Explore US 2022 eine Vorschau für das Lifecycle-Management von Amazon AKS-Clustern vorgestellt:

Die Tech Preview für das Lifecycle-Management von Amazon Elastic Kubernetes Service (EKS)-Clustern kann die direkte  Bereitstellung und Verwaltung von Amazon EKS-Clustern ermöglichen, sodass Entwickler und Betreiber weniger Reibungsverluste und mehr Auswahlmöglichkeiten für Clustertypen haben. Teams werden in der Lage sein, das Multi-Cloud- und Multi-Cluster-Kubernetes-Management mit einem zentralisierten Lifecycle-Management von Tanzu Kubernetes Grid- und Amazon EKS-Clustertypen zu vereinfachen.

Hinweis: Mit dieser Ankündigung erwarte ich, dass die Unterstützung für Azure Kubernetes Service (AKS) auch bald kommt.

Lesen Sie das Tanzu Mission Control Solution Brief, um mehr Informationen über die Vorteile und Möglichkeiten zu erhalten.

Herausforderungen für Entwickler

Tanzu Mission Control bietet Cloud-übergreifende Dienste für Ihre Kubernetes-Cluster, die in mehreren Clouds bereitgestellt werden – aber es gibt noch ein weiteres Problem:

Entwickler werden gebeten, Code zu schreiben und Geschäftslogiken bereitzustellen, die on-premises, auf AWS, Azure oder einer anderen öffentlichen Cloud laufen könnte. Jeder Cloud-Anbieter hat ein Interesse daran, Ihnen seine Technologien und Dienste zur Verfügung zu stellen. Dazu gehören die gehosteten Kubernetes-Angebote (mit verschiedenen Kubernetes-Distributionen), Load Balancer, Storage, Datenbanken, APIs, Observability, Sicherheitstools und so viele andere Komponenten. Für mich klingt es sehr mühsam und schwierig, die Details eines jeden Cloud-Anbieters zu lernen und zu verstehen.

Cloud-übergreifende Dienste allein lösen dieses Problem nicht. Offensichtlich löst auch Kubernetes dieses Problem nicht.

Was ist, wenn Kubernetes und die zentrale Verwaltung und Sichtbarkeit nicht “die” Lösung sind, sondern eher etwas, das auf Kubernetes aufgesetzt wird?

Und dann kam PaaS

Kubernetes ist eine Plattform für den Aufbau von Plattformen und ist nicht wirklich für Entwickler gedacht.

Die CNCF-Landschaft ist riesig und sehr komplex zu verstehen und zu integrieren. Es ist daher nur logisch, dass Unternehmen eher nach vorgefertigten Lösungen wie Platform as a Service (PaaS) suchen. Ich denke, dass Tanzu Application Service (früher bekannt als Pivotal Cloud Foundry), Heroku, RedHat OpenShift und AWS Elastic Beanstalk die bekanntesten Beispiele für PaaS sind.

Die Herausforderung bei der Entwicklung von Anwendungen, die auf einer PaaS laufen, besteht oft darin, dass alle PaaS-spezifischen Komponenten genutzt werden müssen, um sie voll auszuschöpfen. Was ist, wenn jemand seine eigene Datenbank betreiben möchte? Was ist, wenn das PaaS-Angebot Programmiersprachen, Frameworks oder Bibliotheken einschränkt? Oder ist es der Vendor-Lock-in, der Sie stört?

Auch PaaS-Lösungen allein scheinen das Problem der fehlenden Entwicklererfahrung nicht für alle zu lösen.

Möchten Sie die Plattform selbst entwickeln oder etwas von der Stange kaufen? Es gibt eben doch einen großen Unterschied zwischen der Nutzung einer Plattform und dem Betrieb einer Plattform. ?

Bringen Sie Ihr eigenes Kubernetes zu einem portablen PaaS

Was kommt als Nächstes, nachdem sich IaaS zu CaaS (wegen Kubernetes) und PaaS entwickelt hat? Es ist adPaaS (Application Developer PaaS).

Haben Sie schon einmal vom “Golden Path” gehört? Spotify verwendet diesen Begriff und Netflix nennt ihn “Paved Road“.

Die Idee hinter dem Golden Path oder der Paved Road ist, dass die (interne) Plattform eine Form von vormontierten Komponenten und unterstützten Ansätzen (Best Practices) bietet, die die Softwareentwicklung schneller und skalierbarer machen. Entwickler müssen das Rad nicht neu erfinden, indem sie sich durch ein sehr fragmentiertes Ökosystem von Entwickler-Tools wühlen, bei denen man am besten herausfindet, wie man etwas machen kann, indem man die Community oder seine Kollegen fragt.

VMware kündigte die Tanzu Application Platform (TAP) im September 2021 mit der Aussage an, dass TAP eine bessere Entwicklererfahrung (Developer Experience) auf jedem Kubernetes bereitstellen wird.

VMware Tanzu Application Platform bietet einen “pre-paved” Pfad zur Produktion und eine optimierte, durchgängige Entwicklererfahrung auf jedem Kubernetes.

Das Plattformteam installiert und konfiguriert die Tanzu Application Platform als Overlay auf einem beliebigen Kubernetes-Cluster. Sie integrieren auch bestehende Kubernetes-Komponenten wie Storage und Networking. Eine “opinionated” Plattform bietet die Struktur und Abstraktion, die Sie suchen: Die Plattform “macht” es für Sie. Mit anderen Worten: TAP ist eine vorgegebene Architektur und ein vorgegebener Weg mit der notwendigen Modularität und Flexibilität, um die Produktivität der Entwickler zu steigern.

 

Die Entwickler können sich auf das Schreiben von Code konzentrieren und müssen sich nicht mit Details wie Container-Image-Registrierungen, Image-Erstellung und -Scanning, Ingress, RBAC, Bereitstellung und Ausführung der Anwendung usw. befassen.

Veranschaulichung des konzeptionellen Wertes von TAP, beginnend mit den Komponenten, die dem Entwickler dienen, und endend mit den Komponenten, die dem Betriebs- und Sicherheitspersonal dienen.

 

TAP wird mit vielen beliebten Best-of-Breed-Open-Source-Projekten geliefert, die die DevSecOps-Erfahrung verbessern:

  • Backstage. Backstage ist eine offene Plattform zur Erstellung von Entwicklerportalen, die bei Spotify entwickelt, der CNCF zur Verfügung gestellt und von einer weltweiten Gemeinschaft von Mitwirkenden gepflegt wird.
  • Carvel. Carvel bietet eine Reihe von zuverlässigen, kompatiblen Einzweck-Tools, die bei der Erstellung, Konfiguration und Bereitstellung von Anwendungen in Kubernetes helfen.
  • Cartographer. Cartographer ist ein von VMware unterstütztes Projekt und ein Supply Chain Choreographer für Kubernetes. Es ermöglicht App-Betreibern, sichere und vorab genehmigte Pfade zur Produktion zu erstellen, indem sie Kubernetes-Ressourcen mit den Elementen ihrer bestehenden Toolchains (z. B. Jenkins) integrieren.
  • Tekton. Tekton ist ein Cloud-natives, quelloffenes Framework zur Erstellung von CI/CD-Systemen. Es ermöglicht Entwicklern das Erstellen, Testen und Bereitstellen über Cloud-Anbieter und On-Premise-Systeme hinweg.
  • Grype. Grype ist ein Schwachstellenscanner für Container-Images und Dateisysteme.
  • Cloud Native Runtimes für VMware Tanzu. Cloud Native Runtimes for Tanzu ist eine serverlose Anwendungslaufzeit für Kubernetes, die auf Knative basiert und auf einem einzigen Kubernetes-Cluster läuft.

Auf der VMware Explore US 2022 hat VMware neue Funktionen angekündigt, die in Tanzu Application Platform 1.3 veröffentlicht werden. Die für mich wichtigsten neuen Funktionen sind:

  • Unterstützung für RedHat OpenShift. Tanzu Application Platform 1.3 wird auf RedHat OpenShift verfügbar sein, das in vSphere und auf Baremetal läuft.
  • Unterstützung für Air-Gapped-Installationen. Unterstützung für regulierte und getrennte Umgebungen, um sicherzustellen, dass die Komponenten, Upgrades und Patches dem System zur Verfügung gestellt werden und dass sie in der kontrollierten Umgebung konsistent und korrekt funktionieren und die Daten sicher sind.
  • Integration von Carbon Black. Tanzu Application Platform erweitert das Ökosystem der unterstützten Schwachstellen-Scanner mit einer Beta-Integration in den VMware Carbon Black-Scanner, um Kunden die Auswahl zu vereinfachen und ihre bestehenden Investitionen in die Sicherung ihrer Lieferkette zu nutzen.

Die Power-Kombination für Multi-Cloud

Ein Mix aus verschiedenen Workloads wie virtuellen Maschinen und Containern, die in mehreren Clouds gehostet werden, führt zu Komplexität. Mit der leistungsstarken Kombination aus Tanzu Mission Control und Tanzu Application Platform können Unternehmen das volle Potenzial ihrer Plattformteams und Entwickler ausschöpfen, indem sie die Komplexität reduzieren und gleichzeitig Abstraktionsschichten über ihrer Multi-Cloud-Infrastruktur erstellen und nutzen.