Cloud Native Computing @ Puzzle ITC

Andreas Odermatt

Yeeeey 🎉

Puzzle ist seit kurzem stolzes Mitglied der Cloud Native Computing Foundation (CNCF)!

Aber was hat es mit dem Buzzword „Cloud Native“ auf sich? Wozu braucht es diese Foundation? Und was hat uns bewegt, Mitglied zu werden?

Die Antworten gibts hier… 👇

Der Begriff „Cloud Native“ ist momentan in aller Munde. Zu Recht! Denn bei Cloud Native Computing handelt es sich um mehr als nur ein weiteres Buzzword in der Tech-Welt.

Was bedeutet Cloud Native?

Zusammengefasst ist Cloud Native ein Ansatz zur Entwicklung und Ausführung von Applikationen, der die Vorteile des Cloud Computing Delivery Modells nutzt. Bei „Cloud Native“ geht es darum, wie Anwendungen erstellt und deployed werden, und nicht darum, wo.

Dabei geht es beim „wie“ natürlich auch stark um die eingesetzten Technologien und Tools. Cloud Native Technologien ermöglichen es, skalierbare Anwendungen in modernen, dynamischen Umgebungen wie public, private und hybrid Clouds zu erstellen und auszuführen. Container, Service Meshes, Microservices, unveränderliche Infrastruktur und deklarative APIs sind Beispiele für den Ansatz. Diese Techniken ermöglichen lose gekoppelte Systeme, die widerstandsfähig, kontrollierbar und beobachtbar sind. In Kombination mit einer hohen Automatisierung ermöglichen sie den Entwicklungsteams, häufige und vorhersehbare Änderungen mit hoher Auswirkung bei minimalem Arbeitsaufwand vorzunehmen.

Merkmale von Cloud Native Anwendungen (CNAs)

Der Cloud Native Ansatz bedeutet also, dass Anwendungen für eine Cloud-Computing-Architektur konzipiert und entwickelt werden. Die so realisierten „Cloud Native Applications (CNAs)“ basieren auf einem verteilten System von Microservices, das in Containern paketiert („containerisiert“) ist. Die Kommunikation zwischen den Microservices findet typischerweise über REST-APIs statt. Zudem nutzen sie die vom Cloud-Provider bereitgestellten Services konsequent.

Wichtig dabei ist, dass die Microservices lose gekoppelt sind. So arbeiten die Services unabhängig voneinander und stellen idealerweise nur eine einzige spezifische Funktion bereit. So können diese auf unterschiedlichen Clouds und an verschiedenen Standorten betrieben werden. Hier kommt der Begriff „Hybrid Cloud Strategy“ zum Tragen. Dies bedeutet, dass Services auf unterschiedlichen Public Clouds (z.B. AWS, Azure, Google Cloud) und auch auf Private Clouds oder On-Premises Clouds bereitgestellt werden können – und auch sollen.

Ein wichtiger Aspekt von CNAs ist deren Skalierbarkeit und Robustheit. Anders als früher skalieren nicht mehr Server, Rechenleistung, Netzwerke oder Speicherkapazität, sondern eben die Anwendungen und ihre Microservices selbst. Die CNAs sollten nach dem Prinzip „Design for Failure und Selfhealing“ entwickelt werden. Die Services verabschieden sich nicht bloss mit einer Exception im Nirwana. Im Fall eines Fehlers greifen flexible, verteilt arbeitende Recovery-Mechanismen.

Optimalerweise werden die Microservices von kleinen, unabhängigen DevOps-Teams flexibel und ohne Auswirkungen auf andere Services verantwortet. Die Teams sind also nicht nur für die Entwicklung, sondern auch für das Delivery und den Betrieb zuständig.

Die «Twelve Factor App»

Skalierbarkeit, Robustheit, verteilte Systeme, Continous Integration sowie Container sind also Punkte, die bei der Architektur von CNAs berücksichtigt werden sollten. Alle diese Aspekte werden durch die Methodik der «Twelve Factor App» abgedeckt. In seiner Blogpost-Serie zeigt unser CTO, Thomas Philipona, wie Applikationen für die Cloud entwickelt, deployed und betrieben werden sollten.

Vorteile von Cloud Native

Der Cloud Native Ansatz bietet also für die Entwicklung, das Delivery und den Betrieb von Anwendungen zahlreiche Vorteile. Hier haben wir die für uns wichtigsten 7 Vorteile zusammengefasst:

Die Cloud Native Computing Foundation (CNCF)

Die CNCF ist DIE Open Source Software Stiftung, die sich dem Ziel verschrieben hat, Cloud Native Computing universell und nachhaltig zu gestalten. Schnell wurde die CNCF zu der Hersteller-neutralen Anlaufstelle für viele der am schnellsten wachsenden Projekte auf GitHub, darunter Kubernetes, Prometheus und Envoy. Die CNCF fördert die Zusammenarbeit zwischen den Entwicklern, Endanwendern und Anbietern der Branche.

Wald, Bäume…Überblick?!

Die zahlreichen Vorteile von Cloud Native haben sich schnell herumgesprochen. Die Anzahl Projekte und die Community wächst rasant. Die Anzahl Tools ist bereits riesig und nicht mehr ganz einfach zu überblicken.

Viele sehen den Wald voller Bäume kaum mehr…Man droht sich zu verzetteln und auf der Reise zu Cloud Native vom Pfad abzukommen.

Wie genau soll man nun das Thema Cloud Native angehen? Was ist wirklich wichtig zu Beginn?  Was lässt man weg? Welches Tool oder welche Plattform soll zum Einsatz kommen?

Genau diesen Fragen und Problemstellungen hat sich die CNCF angenommen!

Orientierungslos? Man nehme eine Karte und eine Wegbeschreibung!

1. Die Karte (Cloud Native Interactive Landscape)

Das CNCF Cloud Native Landscape Project ist deine Karte, die dich durch das Terrain der Cloud Native Technologien und Tools führt. Dabei wird versucht, die Projekte und Produkte im Cloud Native Space zu kategorisieren. Momentan sind rund 600 Projekte auf dem Landscape gelistet, wovon 284 mit einer Open Source Lizenz veröffentlicht sind.

Seit einiger Zeit kann man seine Projekte auch auf CNCF hosten. Die CNCF bietet den Projekt-Teams ein grosses Set an Services an. Von der technischen Unterstützung bis zum Marketing werden die Projekte umfassend unterstützt und gepushed. Dazu durchlaufen die CNCF-Projekte 3 Stages: Sandbox, Incubating und Graduated.

Die CNCF kanalisiert auf diese Weise viele Einzelprojekte zu einem Cloud Native Stack. Der Stack gibt die Grundrichtung für Unternehmen auf dem Weg zu Cloud Native Applikationen vor.

2. Die Wegbeschreibung (Cloud Native Trail-Map)

Es führen also viele Wege zu einer CNA. Und es muss an vieles gedacht werden. Die Trail Map bietet einen Überblick für Unternehmen, die ihre Cloud Native Reise beginnen.

Die Trail Map ist ein empfohlenes Vorgehen zur Nutzung von Open Source, Cloud Native Technologien. In jedem Schritt kann ein herstellergestütztes Angebot gewählt oder selber umgesetzt werden. Alles nach Schritt #3 ist optional, je nach den Umständen in deinem Unternehmen.

Puzzle & CNCF

In unserem Firmenprofil – dem Puzzle House – schreiben wir:

„Wir sind auf „Cloud-Native“ spezialisiert. Daher bauen wir unsere Applikationen „Cloud-Ready“ und deployen diese am liebsten in die Cloud“

Für Puzzle war es also klar, Mitglied der CNCF zu werden. Einerseits unterstützen wir als stolzes Silver-Mitglied die Stiftung finanziell. Andererseits engagieren wir uns aktiv in der Cloud Native Community und bieten Dienstleistungen und Schulungen für Cloud Native Technologien wie z.B. Kubernetes an.

Durch unsere Mitgliedschaft bei der CNCF sind wir noch näher am Geschehen. Wir sind im CNCF-Chat, auf diversen Mailing-Listen, können an Events und Workshops teilnehmen und uns natürlich noch besser mit der Community vernetzen.

Zudem ist unser CTO Thomas Philipona Mit-Organisatior des Cloud Native Computing Bern Meetup. Und unser Partner VSHN organisiert das Cloud Native Computing Switzerland in Zürich, an welchem unsere Members gerne und regelmässig teilnehmen.

Wir hoffen also, dich bald einmal an einem Meetup zu treffen oder mit dir bei uns zu einem Kaffee oder Bier über Cloud Native zu diskutieren.

Schreibe einen Kommentar