Mit diesem E-Book-Deal könnt Ihr nicht nur Geld, sondern auch Zeit sparen: Denn statt eigene verteilte Systeme von Grund auf neu zu stricken, liefert Brendan Burns‘ Kubernetes-Buch wiederverwendbare, generische Muster, die Ihr einfach übernehmen könnt.
Brendan Burns (Github | Twitter) ist Distinguished Engineer in Microsoft Azure und hat das Kubernetes-Projekt bei Google mitbegründet. Eine Reihe skalierbarer, zuverlässiger verteilter Systeme habe er in seiner Laufbahn als Entwickler bereits gebaut, schreibt Burns zu Beginn seines Buchs. „Obwohl viele der Konzepte gleich sind und es sogar manchmal fast die gleiche Logik gibt, ist das Anwenden von Mustern oder das Wiederverwenden von Komponenten häufig ausgesprochen herausfordernd“, so Burns weiter. „Das hat mich dazu gezwungen, Zeit mit dem erneuten Implementieren von Systemen zu verschwenden, und jedes System war dadurch weniger ausgefeilt als es hätte sein können.“
Genau deshalb hat Brendan Burns sich an die Arbeit gemacht. Sein Buch schafft eine gemeinsame Sprache und allgemeine Standardbibliothek, sodass alle schneller bessere Systeme entwerfen können. Denn die Zeit, die er im Aufbau verteilter Systeme „versenkte“, fehlte häufig bei der Weiterentwicklung der eigentlichen Anwendung.
Kubernetes
Gehen wir nochmal einen Schritt zurück. Was ist und wozu braucht man eigentlich Kubernetes? Nun, ganz einfach: Die allermeisten Anwendungen, die wir inzwischen auf dem PC, Smartphone oder auch am Smart-TV nutzen, laufen nicht mehr als Insellösung auf unserem Gerät, sondern greifen über das Netz auf eine Vielzahl von Systemen und Ressourcen zurück. Ob wir nun unsere Fitbit-Daten auswerten, ein Office-Dokument teilen, mit Micropay-Services Geld an unsere Freunde schicken oder per Messenger mit der Fußballgruppe unserer Kinder kommunizieren: Die Apps sind always on und tauschen permanent Daten hin und her. Kann sich jeder denken, dass Systeme dieser Struktur hochverfügbar sein müssen – wehe, WhatsApp ist mal down, richtig?
Verteilte Systeme brauchen also zwingend eine extrem hohe Zuverlässigkeit und Verfügbarkeit, um die Anforderungen der User zu erfüllen. Das gilt für die kleinen Apps auf unserem Smartphone und noch viel mehr für berufliche Software. Längst arbeiten wir weltweit vernetzt, der Schaden, sollten innerbetriebliche Dienste wie Collab-Tools oder die im Firmennetz gemeinsam genutzte Finanz-, Planungs-, Grafik- oder Konstruktionssoftware auch nur stundenweise ausfallen, kann schnell existenzgefährdend werden.
Höhere Leistung durch feste Bausteine
Zudem soll auch der Funktionsumfang von Apps und Tools ständig wachsen. Der Druck für die Entwickler hat sich verglichen mit den teils jahrelangen Releasezyklen von Software noch in den Achtzigern und Neunzigern enorm erhöht. Permanent soll geschraubt und verbessert werden, und das geht wiederum auch nur mit hochleistungsfähigen Systemen. „Diese Anforderungen führen dazu, dass so gut wie jede zu bauende Anwendung – sei es eine mobile App für Endverbraucher oder eine Backend-Payments-Anwendung – ein verteiltes System sein muss“, resümiert Brendan Burns und vergleicht die Situation mit der Softwareentwicklung vor dem Entstehen moderner objektorientierter Programmiersprachen. Die Lösung seien (logisch) technischer Fortschritt und die wachsende Beliebtheit von Containern und Container-Orchestrierern, wie Burns sagt: „Wie beim Konzept der Objekte bei der objektorientierten Programmierung bilden diese containerisierten Bausteine die Grundlage für die Entwicklung wiederverwendbarer Komponenten und Muster, welche das Erstellen zuverlässiger verteilter Systeme drastisch vereinfachen.“
Dabei setzt Burns auf das von ihm mitentwickelte Open Source-Tool Kubernetes (auch K8s), mit dem sich komplexe Server-Strukturen aufbauen, implementieren sowie orchestrieren lassen. In allen Bereichen, in denen flinke (und sich ebenso flink nach oben skalierende) IT-Infrastrukturen mit höchster Ausfallsicherheit gefragt sind.
Das Buch „Verteilte Systeme mit Kubernetes entwerfen“ liefert dabei keine simple Einführung in Kubernetes, sondern vielmehr die Grundbausteine zum Aufbau verteilter Systeme. Schaut doch mal ins Inhaltsverzeichnis (PDF) sowie ins Probekapitel (PDF).
Das E-Book ist bis einschließlich 1. Juli 2019 zum Sonderpreis von 11,99 € erhältlich. Überall, wo es E-Books gibt – und bei uns!