Container Days Hamburg: Einblicke in eine Cloud-Native-Technologiekonferenz
Federico Sismondi
Die diesjährige Container Days Hamburg Konferenz zog zahlreiche Branchenexperten an und bot eine Fülle informativer Vorträge. Selbst das Catering konnte überzeugen – die Deutschen scheinen nicht nur im Automobilbau und Ingenieurwesen, sondern auch in der Eventgastronomie echte Meister zu sein. KubeCon könnte sich hier einiges abschauen!
Die bekannten Aussteller wie Camptocamp, Isovalent, Sysdig und SUSE waren präsent, um ihre Produkte und Dienstleistungen in der Ausstellung zu präsentieren, Werbegeschenke zu verteilen und sich über Ideen auszutauschen.
Die Konferenz bot eine vielfältige Auswahl an Vorträgen zu Themen wie Anwendungsentwicklung, Betrieb, Künstliche Intelligenz und maschinelles Lernen, Netzwerke, Sicherheit und Edge-Computing. Die Sessions lieferten Entwicklern und Ingenieuren praxisnahe Einblicke und beleuchteten zentrale Trends und Herausforderungen in cloud-nativen Umgebungen.
Meine drei Lieblingspräsentationen waren:
1. Kontinuierliche Sicherheitstests mit OWASP secureCodeBox in Kubernetes
Die Präsentation von Jannik Hollenbach konzentrierte sich auf die OWASP secureCodeBox, ein leistungsstarkes Toolkit zur Automatisierung und Ausführung von Sicherheitsscan-Tools in Kubernetes-Umgebungen. Die secureCodeBox wird als Kubernetes-Operator ausgeführt und verwendet benutzerdefinierte Ressourcendefinitionen (CRDs), um Scan-Aufträge zu definieren. Dieses Open-Source-Projekt ermöglicht kontinuierliche Sicherheitstests durch die Integration verschiedener Scan-Tools wie Nmap, ZAP, Nuclei und Trivy.
Eine der bemerkenswertesten Funktionen ist die automatische Erkennung, die Komponenten identifizieren kann, die im Kubernetes-Cluster ausgeführt werden, und automatisch entsprechende Scans initiiert. So kann sie beispielsweise Trivy-Scans auf allen Container-Images ausführen, um diese auf Schwachstellen und Abhängigkeiten zu überprüfen, oder ZAP verwenden, um Dienste mit HTTP-Ports zu scannen. Auch wenn ich es noch nicht selbst ausprobiert habe, wirkt die Lösung sehr benutzerfreundlich.
2. Erkenntnisse aus der Implementierung von GitOps und Continuous Delivery im grossen Massstab
Bei der Verwaltung von über 100 Kubernetes-Clustern und dem Umgang mit über 100 verschiedenen Anwendungsquellen, können die Herausforderungen, die sich durch die Mainstream-Tools von GitOps ergeben, zu einigen Performance- und Sicherheitsproblemen führen. SUSE stellte bestimmte Anwendungsfälle vor, bei denen die Komplexität der Implementierung von GitOps und Continuous Delivery aufgrund der Grösse exponentiell zunimmt und massgeschneiderte Strategien und Tools erfordert.
Die während der Präsentation vorgeschlagenen alternativen Architekturen legen den Schwerpunkt auf die Delegation von Verantwortlichkeiten an In-Cluster-Agenten anstelle der eher klassischen zentralisierten Lösungen für CD. Die Referenten diskutierten auch die Verwendung von Pull-basierten Aktualisierungsmechanismen und flexiblen Synchronisierungsstrategien, die für die Verwaltung der Vielzahl von Anwendungen aus verschiedenen Quellen von entscheidender Bedeutung wären und eine kontrolliertere und schrittweise Einführung von Aktualisierungen in Tausenden von Clustern ermöglichen würden.
Die Referenten ermutigten das Publikum, Rancher Fleet auszuprobieren. Es bietet eine schlanke, unkomplizierte Lösung für das Management von Deployments. Laut den Entwicklern ist es ein GitOps-basiertes Tool zur Verwaltung von Kubernetes-Clustern im grossen Massstab. Besonders hervorzuheben ist die Fähigkeit, Tausende von Clustern zu verwalten, eine zentrale Multi-Repo-Verwaltung zu unterstützen und ein Bundle-System zu nutzen, das Gruppierungen und individuelle Anpassungen pro Cluster ermöglicht. Darüber hinaus integriert es sich nahtlos mit Helm und Kustomize und bietet erweitertes RBAC sowie umfassende Richtlinienkontrolle – ideal für gross angelegte Multi-Cluster-Umgebungen.
3. Skalierung auf die ersten 10 Millionen Benutzer – The Kubernetes Edition
Habt ihr euch die berühmte Serie „Scaling up to your first 10 million users“ auf dem AWS-YouTube-Kanal angesehen? Nun, Marco Ballerini von AWS hat eine ähnliche Analyse vorgestellt, diesmal für Kubernetes-Cluster.
Eine der interessanten Erkenntnisse aus der Präsentation ist, dass es bei der Skalierung nicht nur um Technik geht. Er listete Anforderungen auf, die ihr möglicherweise berücksichtigen müsst, wenn eure Cluster zu wachsen beginnen. Die Analyse wuchs – wie jedes Produkt – von kleinen Clustern (~10 Knoten) über mittelgrosse Cluster (~ 50 Knoten) bis hin zu Clustern mit 100+ Knoten.
Ich greife hier unten einige organisatorische und operative Aspekte dieser „Scaling-up“-Anforderungsanalyse auf, die ich am aufschlussreichsten fand.
Bei kleinen Clustern sollte man mit soliden Grundlagen beginnen und es einfach halten. Legt Standardverfahren für die Clusterbildung fest, implementiert frühzeitig Infrastructure as Code (IaC), keine ClickOps in der Produktion und vergesst bitte nicht die Notfallwiederherstellung. Erstellt frühzeitig einen Notfallwiederherstellungsplan, um ein technisches Burnout zu vermeiden, wenn der Zeitpunkt kommt, an dem ihr einen aktivieren müsst.
Wenn du zu mittelgrossen Clustern heranwächst, konzentriere dich auf dedizierte rollenbasierte Zugriffskontrolle (RBAC) und setze auf GitOps (das ist nicht verhandelbar!). Denke daran, verwalte Dienste zu nutzen, wenn du kannst, sie mögen ein paar Pesos mehr kosten, aber das Gleiche gilt für die Zeit deines Entwicklerteams.
Wenn du mit grossen Clustern in die Oberliga aufsteigst, geht es um smartes Management. In gross angelegten Systemen ist der Schmetterlingseffekt real: Ein scheinbar kleines Versehen kann sich zu einem grossen Problem auswachsen, wenn es sich auf Millionen von Instanzen ausbreitet. Fehlervermeidung und eine robuste Fehlerbehandlung sind daher entscheidend – denke also frühzeitig über ein durchdachtes Änderungsmanagement nach. Automatisiert euer Änderungsmanagement und passt es gezielt an die Entwicklungs-Teams an. Überlegt, Custom Resource Definitions (CRDs) zu verwenden, um eure Cluster-API zu erweitern – eure Nutzer werden es euch danken. Haltet es simpel, setzt auf IaC und GitOps, und ihr seid auf dem besten Weg zu 10 Millionen zufriedenen Nutzern!
Hier ist eine 15-minütige DevSecOps-Einführung in die Skalierung von Kubernetes-Cluster-Empfehlungen, das Bereitstellungsmanagement in grossem Massstab und die kontinuierliche Überwachung und Prüfung der Sicherheit in Kubernetes-Clustern. Bleib dran für weitere Neuigkeiten und Trends zu den bewährten Verfahren von #DevSecOps, #IaC und #Kubernetes – denn die Reise in die Cloud-Nativität hat gerade erst begonnen!
Benötigst du Hilfe bei der Einführung von DevSecOps-Praktiken oder bei der Vorbereitung deiner Infrastruktur auf eine grössere Anzahl von Benutzern? Melde dich!
Karriere
Sie sind daran interessiert, in einer inspirierenden Umgebung zu arbeiten und sich unseren motivierten und multikulturellen Teams anzuschliessen?