Die Konferenz zu Docker und Co.
Mannheim, Congress Center Rosengarten,
14.-17. November 2017

ContainerConf 2017 » Programm »

// Architekturmuster für Microservices in Kubernetes

Architekturmuster haben für den Entwurf und die Beschreibung von Computersystemen eine wichtige Bedeutung. Jeder kennt Muster, die die Eigenschaften und Beziehungen von Komponenten in der Software, zwischen CPUs, Computer Systemen und Netzwerken beschreiben. Beispiele sind der Klassiker der Gang of Four (Gamma/Helm/Johnson/Vlissides: Design Pattern), Client/Server und die Schichtenarchitektur, oder Tunnel in VPN-Netzwerken etc.

Wenn wir Microservice-Architekturen oder Container-Orchestrierungssysteme wie Kubernetes beschreiben, ist es eine gute Idee, sich zunächst klar zu machen, welche Design Möglichkeiten es gibt. Brendan Burns, einer der Gründungsautoren von Kubernetes hat zusammen mit David Oppenheimer die grundsätzlichen Entwurfsmuster für gekoppelte Container beschrieben (Design patterns for container-based distributed systems).

In diesem Talk werden einige grundlegende Container-Entwurfsmuster vorgestellt. Neben den Container Design Pattern, die die Interaktionen von Container auf einem Single Host beschreiben, schauen wir uns live das Deployment Pattern von Kubernetes, an, ein Beispiel für ein dynamisches Muster. Wir schauen auf Lösungen, die sich einfach in Kubernetes realisieren lassen, von einfachen Sidecars bis zu einer Package Lösung wie Helm. Dabei lassen wir weder Persistenz, noch die Loadbalancer noch Sicherheitsmuster außer acht.

Skills
* Kenntnisse in einem der Themen: Docker, Continuous Delivery,
Softwareentwicklung, Linux
* Interesse an einem Verständnis der
anderen Themen.

Lernziele
Am Ende sollen die Teilnehmer in der Lage sein, Microservices und Container-Anwendungen besser zu verstehen und zu entwerfen. Durch das Bewusstsein über die vorhandenen Muster sollen einfachere, robustere Systeme mit weniger Fehlern entstehen.

// Referent

Thomas Fricke Thomas Fricke

ist CTO und Partner der Endocode AG und hat als Cloud-Architekt zahlreiche Clouds entworfen und aufgebaut. Er arbeitet gerne mit skalierenden Anwendungen, insbesondere mit verteilten Datenbanken. Aktuell beschäftigt er sich mit Systemautomatisierung für Cloud-Native-Anwendungen.