Cloud Native News #2: Konferenzeindrücke
Ziel der Cloud Native News ist es, im regelmäßigen Abstand von wichtigen Ereignissen und Neuigkeiten im Cloud-Native-Ökosystem zu berichten.
![Cloud Native News #2: Konferenzeindrücke](https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/2/3/5/8/5/6/1/cloudpuzzle-3f06403779a72845.jpeg)
- Andreas Zitzelsberger
- Josef Adersberger
- Sebastian Scheele
Die Cloud Native News #2 stehen im Zeichen der CloudNativeCon/KubeCon North America 2017, die vom 6. bis 8. Dezember stattfand, und der Impulse, die die Konferenz für 2018 brachte. In wenigen Worten zusammengefasst:
- Kubernetes hat sich als Standard für Orchestration etabliert. Das Ökosystem wird reif und ist riesig. Die Cloud Native Landscape gleicht einem Wimmelbuch, und die großen PaaS/IaaS-Provider setzen bei ihren Container-Engines auf Kubernetes.
- Durch den zunehmenden Funktionsumfang auf der Orchestrator-Ebene steigt die Komplexität für Anwendungen. Reaktionen darauf sind Paketmanager und Serverless mit Kubernetes als Unterbau.
- Das Thema Sicherheit steigt in der Priorität bei Cloud-Anwendern weit nach oben. Dementsprechend viel Aktivität gibt es im Ökosystem. Gerade im Bereich Netzwerksicherheit entstehen spannende neue Umsetzungen.
Kubernetes explodiert (und wird erwachsen)
Fast jede Statistik zum Thema Kubernetes zeigt eine exponenzielle Steigerung: die Anzahl der Teilnehmer der KubeCon/CloudNativeCon, die Anzahl der Commits, die Anzahl der Contributors, die Anzahl der Firmen, die Kubernetes einsetzen, und die Größe des Ökosystems um Kubernetes herum.
Dabei wird Kubernetes aber auch erwachsen. Das zeigt sich insbesondere in zwei Aspekten:
- Aufmerksamkeit bei den Großen und
- Standardisierung.
Aufmerksamkeit der Großen
Jeder große Cloud-Provider ist dabei, ein eigenes Kubernetes-as-a-Service Angebot nach dem Vorbild der Google Kubernetes Engine anzubieten und ihren Nutzern so den Einsatz von Container-Techniken und Kubernetes zu erleichtern.
Nach Oracle (Oracle Container Engine) und Microsoft (Azure Container Service) folgte zuletzt AWS mit der Ankündigung von AWS EKS (Elastic Container Service for Kubernetes), der ab Sommer 2018 offiziell verfügbar sein soll. Es ist davon auszugehen, dass die breite Verfügbarkeit von Container-Engines den Einsatz von Container-Techniken weiter beschleunigen wird. Spannend wird in diesem Zusammenhang insbesondere sein, wie sich kleinere Cloud-Anbieter beim Thema Container-Technologien und Kubernetes aufstellen, um sich gegenüber den großen Providern zu behaupten.
Außerdem ist es interessant zu beobachten, wie sich der Markt für Pay-per-Container entwickelt. Mit AWS Fargate oder Azure Container Instances sind erste Angebote als Preview verfügbar. Fraglich ist vor allem, ob und wie sich die einzelnen Provider auf einen Standard einigen können. Eine erste Initiative gibt es schon mit virtual kubelet und der Integration in Kubernetes.
Standardisierung
Kubernetes per se wird mehr und mehr zum Standard bei der Container-Orchestrierung. Aber auch innerhalb von Kubernetes wird eifrig standardisiert. Im Fokus sind dabei insbesondere die Schnittstellen zwischen Kubernetes und den von Kubernetes orchestrierten Ressourcen. Hier gibt es mit CRI eine Standard-Schnittstelle für Containerizer, die flexibel zwischen Docker, rkt oder CRI-O wählen lassen. Ferner ist mit CNI die Schnittstelle für Netzwerkprovider standardisiert und mit CSI ein entsprechender Standard für Storage-Provider in der Mache.
Kubernetes für Entwickler
Das allgegenwärtige Motto auf der CloudNativeCon für die weitere Entwicklung von Kubernetes war, die Developer Experience zu verbessern. Kubernetes ist als Betriebswerkzeug entstanden, das aber Entwickler von jeher direkt nutzen. Es gibt bereits spannende Ansätze, um den Umgang für Entwickler zu verbessern:
Paketmanager
Linux-Nutzer sind seit Langem komfortable Paketmanager wie APT gewöhnt. Helm wird mehr und mehr zum Standardpaketmanager für Kubernetes. Er hilft dabei, Anwendungen so zu verpacken, dass Entwickler sie einfach und reproduzierbar installieren und damit vorgefertigte Infrastrukturbausteine beziehen können.
Lokale Entwicklung
Cloud Native News
Um die Turnaround-Zyklen gering zu halten, ist es oft praktisch, lokal auf dem Rechner Container in einem Kubernetes-Cluster vorab testen zu können. Ein Vortrag von Red Hat stellt diverse Werkzeuge und Kniffe rund um minikube vor, die das auf einfache Art ermöglichen. Mit Squash steht ein aktuell noch rudimentäres Werkzeug zur Verfügung, das ein Debugging einer verteilten Anwendung aus der lokalen IDE heraus ermöglicht.
SQL-Datenbanken auf Kubernetes
Endlich hält der Zustand Einzug bei Kubernetes. So wurden produktionsreife Ansätze vorgestellt, wie Entwickler sowohl PostgreSQL als auch MySQL in einem HA-Setting auf Kubernetes zum Laufen bringen. Im Kern dieser Umsetzungen stehen sogenannte Operatoren: kleine Programme, die bei bestimmten Kubernetes-Ereignissen aktiv werden und Datenbankinstanzen miteinander bekannt machen oder ein Failover auslösen können.