Mein Besuch auf der KubeCon + CloudNativeCon Europe 2019

KubeCon + CloudNativeCon Europe 2019

Ende Mai 2019 ging es für meinen Kollegen Fred und mich nach Barcelona zur diesjährigen KubeCon + CloudNativeCon EuropeWas uns dort erwartete? Talks, Präsentationen und Demos rund um kubernetes (k8s), sein Ökosystem und Cloud Native Computing allgemein sowie die Möglichkeit, namhafte Vertreter und Contributor dieser Technologien persönlich zu treffen – und last but not least natürlich Sonnenschein und jede Menge Swag 😉

* Was ist die KubeCon + CloudNativeCon?

Die KubeCon + CloudNativeCon wird von der CNCF, der Cloud Native Computing Foundation, organisiert und ist eine Konferenz für und von Interessenten, Anwendern und Entwicklern von kubernetes, dem von Google entwickelten Werkzeug zur Container-Orchestrierung. Die Konferenz findet mehrmals im Jahr auf verschiedenen Kontinenten statt und bietet zahlreichen Rednern und Veranstaltern die Gelegenheit, den neuesten Stand der Technik, Ideen und Pläne für die Zukunft und Lehren aus der Vergangenheit vorzustellen. Besucher können sich außerdem untereinander und mit den Rednern austauschen und vernetzen.

* Mein erster Eindruck

Umfang und Vielfalt dessen, was die beinahe 8.000 Konferenzbesucher an vier Tagen erwartete, haben mich schlichtweg überwältigt: Hunderte von Events in mehr als 20 Räumen und Hallen boten Tutorials, Talks und Panels für Einsteiger bis Experten. Über 100 Sponsoren und Partner demonstrierten und erklärten an ihren Ständen die meist quelloffenen und kostenfreien Produkte, die sie der Community bereitstellen. Außerdem konnten die Teilnehmer sich auf zwei großen Abendevents untereinander austauschen und das Gelernte reflektieren. Anlass der Events waren der fünfte Geburtstag von kubernetes, dem Flaggschiff der CNCF und Dreh- und Angelpunkt vieler Technologien im Bereich Cloud Computing, sowie die All Attendees Party im Poble Espanyol, einem dorfartigen Freilichtmuseum in Barcelona.

KubeCon + CloudNativeCon Europe 2019

Es gab viele Veranstaltungen, die spannend, interessant, anspruchsvoll, lustig und lehrreich waren oder einfach zum Nachdenken anregten – man kann sich alle auf dem YouTube-Channel der CNCF anschauen. Auf meine Favoriten möchte ich genauer eingehen.

* Lightning Talks

Am ersten Abend der Konferenz besuchten wir die Lightning Talks – 17 schnell aufeinanderfolgende, jeweils nur fünf Minuten lange Talks zu verschiedensten Themen wie Propagieren von ConfigMap-Änderungen in der laufenden Anwendung, eine einfache Erklärung von Container-Technologie anhand des Vergleichs „Containers are like Cookies„, die Erweiterung von Health Checks um eine „startup probe“ oder die Verwendung von Reliability Engineering zur Steigerung des Team-Wohlbefindens.

Die Vielfalt und Kürze der Talks war erfrischend und stellte eine gutes Warm-up für den Hauptteil der Konferenz an den folgenden drei Tagen dar. Obwohl die Themen in den Lightning Talks eher oberflächlich angerissen wurden, konnte ich schon ein gutes Gefühl für die Thematik entwickeln und Einblicke in Arbeitsweise und Zukunft der Open Source Community im Cloud Computing gewinnen.

* Serverless is Interesting But FaaS is Not Enough or: Towards Stateful Serverless

Jonas Bonér (@jboner), Gründer und CTO von Lightbend Inc., sprach darüber, dass FaaS (Functions as a Service) einen guten Anfang für Serverless Computing darstellt und dass die Entwicklung von Serverless dort nicht aufhören sollte. Er erarbeitete Vorteile und Anwendungsfälle von FaaS und stellte dem seine Nachteile gegenüber – konkret, wie schwer es ist, allein mit FaaS komplexe Applikationen mit mehreren Anwendungszwecken und Fähigkeiten zu entwickeln. Außerdem stellte er eine Implementierung vor, die den nächsten Schritt auf dem Weg Richtung Serverless darstellen könnte.

„FaaS“ und „Serverless“ sind starke Buzzwords und man läuft Gefahr, damit alle Probleme lösen zu wollen. Die Bestätigung, dass das nicht möglich ist und Klärung darüber, was noch fehlt, um vollständig serverless zu werden, machen diesen Talk für mich erinnerungswürdig.

* Lifecycle of a kubectl Command: Harden Kubernetes Setup with Automation

Sanjary Rahman, Site Reliability Engineer bei Booking.com, stellte in seinem Talk (hier auf YouTube) anhand eines kubectl-Befehls – dem Erstellen eines kubernetes-Pods – diverse Möglichkeiten vor, wie man seine kubernetes-Umgebung konfigurieren kann, um diese automatisiert zu härten.

Dazu gehören die Verwendung eines bestehenden IAM (Identity and Access Management) um Zugriff einzuschränken, das Erzwingen gewisser Werte in der Ressourcenbeschreibung, Einschränkung erlaubter Image Repositories, Beschränkung von Container-Anzahl je Pod, Vorhandensein von Labels und mehr.

In nur einer halben Stunde habe ich viel über kubernetes und seine Konfigurationsmöglichkeiten gelernt und Inspirationen für zukünftige Recherchen in dieser Thematik bekommen.

* Transparent Chaos Testing with Envoy, Cilium and BPF

Chaos Testing oder Chaos Engineering ist die Praxis, absichtlich und zufällig Netzwerkfehler in eine Produktivumgebung einzuschleusen, um ansonsten selten getestete Behandlungen von Kommunikationsfehlern zu provozieren. Da das unter kontrollierten Bedingungen geschieht und im Zweifelsfall unterbrochen werden kann, können schwer testbare Fehlerquellen gefunden und behandelt werden, um die Stabilität einer Software aus Endnutzersicht zu gewährleisten und das Vertrauen in die Software zu stärken. In seinem Vortrag stellt Thomas Graf (@tgraf__), CTO und Mitbegründer von Isovalent, vor, wie bestehende und neue Produkte im kubernetes-Ökosystem verwendet werden können, um unter Verwendung von envoy-Sidecars ohne Veränderung der Anwendungslogik beliebige Fehler einzuschleusen und so Chaos Testing zu ermöglichen.

Als Softwareentwickler, der mehrere langjährige Projekte betreut und einige scheinbar unerklärliche Kommunikationsfehler und sogenannte „Heisenbugs“ zwischen Softwarekomponenten beheben musste und Neuanfänger in Sachen kubernetes, war die Präsentation von Sidecars und wie sie für Chaos Engineering verwendet werden können für mich geradezu eine Erleuchtung.

* Testing your K8s apps with KIND

Es gibt diverse Möglichkeiten, kubernetes lokal laufen zu lassen: unter anderem kubeadm, Docker Desktop, minikube und k3s. Die genannten haben alle ihre Vor- und Nachteile – nennenswert ist ihre gemeinsame Limitierung, nur eine Node zu unterstützen (kubeadm ausgenommen). Auch die Einrichtung kann mehr oder weniger umständlich oder intrusiv sein. kind verspricht das zu ändern – es läuft in Docker (kind steht für „kubernetes in docker„), verwendet kubeadm, unterstützt mehrere Nodes und ein neues Cluster einzurichten dauert (zumindest auf meiner Maschine) weniger als 30 Sekunden. Benjamin Elder (@BenTheElder) von Google und James Munnelly (@JamesMunnelly) von Jetstack.io stellen auf diesen Grundlagen vor, wie man CRDs (Custom Resource Definitions) für kubernetes lokal in kürzester Zeit testen kann.

Da ich vor der KubeCon recherchiert hatte, wie man kubernetes lokal laufen lassen kann um ohne Kosten kleinere Spielereien auszuprobieren, kam mir dieser Talk sehr entgegen. Es wurde demonstriert, wie schnell und einfach die Arbeit mit kind ist und welche Anwendungszwecke seine Verwendung auch in der Projektarbeit haben kann.

* Microservices for the Masses – Integrating a Distributed OS with Kubernetes

Der letzte Talk den ich besucht habe, war einer der interessantesten und geradezu futuristisch. Quinton Hoole von Futurewei und Irene Zhang von Microsoft Research und der University of Washington stellten vor, woran sie seit zwei Jahren arbeiten: Amino OS, eine verteilte Plattform zur vereinfachten Entwicklung von Software basierend auf Microservices. Damit soll unter anderem möglich sein, Services je nach lokalen Limitierungen wie Bandbreite, Prozessorleistung und Arbeitsspeicher auf dem Server oder auf dem Endgerät zu betreiben und damit geringe Latenz und hohe Effizienz zu erreichen.

Das vorgestellte Konzept ist etwas zu komplex und umfangreich, um es hier genauer zu beschreiben – ich kann aber jedem empfehlen, sich den Talk anzuschauen!

* Mein abschließender Eindruck

Obwohl die Konferenz teilweise sehr groß und überfüllt wirkte, waren es insgesamt sehr lehrreiche und prägende Tage. Als Anfänger im Operations-Bereich allgemein und in Sachen kubernetes speziell konnte ich einen guten Überblick und so viel Wissen mitnehmen, dass ich mich jetzt auch privat begeistert mit kind, Helm, Linkerd und anderen k8s-Technologien beschäftige.

Ich möchte besonders hervorheben, dass die Veranstalter sich viele Gedanken gemacht und enorme Mühe gegeben haben, auf der Konferenz für Inklusivität und Diversität zu sorgen: Es gab Diversity Scholarships für Minderheiten im Technologiebereich, denen zusätzlich zum Eintritt ein Stipendium von 1.500€ für Reise und Unterkunft gegeben wurde, und besondere Veranstaltungen, wie zum Beispiel ein Mentoring-Programm. Als weitere erfreuliche Geste wurde es den Besuchern ermöglicht, ihre bevorzugten Personalpronomen auf den Namensschildern kenntlich zu machen. Rückblickend auf all die tollen Erfahrungen hoffe ich sehr, bei der nächsten KubeCon + CloudNativeCon Europe 2020 in Amsterdam wieder dabei sein zu können!

KubeCon + CloudNativeCon Europe 2019

KubeCon + CloudNativeCon Europe 2019

Zur Blog-Startseite