Vorwort
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Dieses Buch stellt einen schrittweisen Ansatz für den Aufbau und die Bereitstellung zuverlässigerer Java-Microservices vor. Die in den einzelnen Kapiteln vorgestellten Fähigkeiten sollten der Reihe nach befolgt werden, wobei jedes Kapitel auf den Fähigkeiten der vorherigen Kapitel aufbaut. Es gibt fünf Phasen auf dieser Reise:
-
Messe und überwache die Verfügbarkeit deiner Dienste.
-
Füge Debuggability-Signale hinzu, mit denen du Fragen zu Zeiten der Nichtverfügbarkeit stellen kannst.
-
Verbessere deine Softwareentwicklungspipeline, um die Gefahr von Fehlern zu verringern.
-
Baue die Fähigkeit auf, den Zustand der eingesetzten Assets bis hin zum Quellcode zu beobachten.
-
Füge gerade genug Verkehrsmanagement hinzu, um deine Dienste auf ein Niveau zu bringen, mit dem du zufrieden bist.
Unser Ziel ist es nicht, ein perfektes System zu bauen, um alle Fehler zu beseitigen. Unser Ziel ist es, am Ende ein höchst zuverlässiges System zu haben und zu vermeiden, dass wir Zeit im Bereich der abnehmenden Erträge verbringen.
Um zu verhindern, dass die Erträge schrumpfen, werden wir so viel Zeit damit verbringen, über effektive Messung und Überwachung zu sprechen, und warum diese Disziplin allen anderen vorausgeht.
Wenn du im technischen Management tätig bist, ist Kapitel 1 dein Leitbild: eine Anwendungsplattform aufzubauen, die für ihre Zuverlässigkeit und die Kultur eines effektiven Plattform-Engineering-Teams bekannt ist, das diese Fähigkeiten an eine breitere technische Organisation weitergeben kann.
Die folgenden Kapitel enthalten die Blaupausen für die Umsetzung dieser Mission, die sich an Ingenieure richtet. Dieses Buch ist absichtlich auf Java-Microservices beschränkt, damit ich detaillierte Ratschläge für die Umsetzung geben kann, einschließlich spezifischer Messungen, die für Java-Microservices getestet wurden, Code-Beispiele und andere Besonderheiten wie das Abhängigkeitsmanagement, das nur in der Java Virtual Machine (JVM) möglich ist. Der Schwerpunkt liegt auf der unmittelbaren Handlungsfähigkeit.
Meine Reise
Mein beruflicher Werdegang in der Softwareentwicklung bildet einen Bogen, der mich dazu brachte, dieses Buch zu schreiben:
-
Ein kratzbürstiges Software-Startup
-
Eine traditionelle Versicherungsgesellschaft namens Shelter Insurance in Missouri
-
Netflix im Silicon Valley
-
Ein Spring-Team-Ingenieur, der aus der Ferne arbeitet
-
Ein Gradle Ingenieur
Als ich Shelter Insurance verließ, verstand ich trotz meiner Bemühungen die Public Cloud nicht. In den fast sieben Jahren, die ich dort verbracht hatte, hatte ich immer mit derselben Gruppe von virtuellen Maschinen zu tun gehabt (ursprünglich sogar mit Bare Metal). Ich war an vierteljährliche Release-Zyklen und umfangreiche manuelle Tests vor den Releases gewöhnt. Ich hatte das Gefühl, dass die Führungskräfte immer wieder betonten, wie "hart" wir Code-Freezes im Vorfeld von Releases erwarteten, dass ein Code-Freeze nach einem Release nicht so hart war, wie wir es uns gewünscht hätten, usw. Ich hatte noch nie eine Anwendung in der Produktion überwacht - dafür war ein Network Operations Center zuständig, ein Raum, zu dem ich mit meinem Ausweis keinen Zugang hatte, weil ich nicht wissen musste, was dort passierte. Diese Organisation war nach den meisten Maßstäben erfolgreich. Seitdem hat sie sich in mancher Hinsicht stark verändert und in anderen kaum. Ich bin dankbar für die Gelegenheit, dort unter fantastischen Ingenieuren gelernt zu haben.
Bei Netflix habe ich wertvolle Lektionen über Technik und Kultur gelernt. Nach einiger Zeit verließ ich das Unternehmen mit der großen Hoffnung, dass einige dieser Praktiken auch auf ein Unternehmen wie Shelter Insurance angewendet werden könnten, und schloss mich dem Spring-Team an. Als ich die Open-Source-Metrikenbibliothek Micrometer gründete, war mir bewusst, dass sich Unternehmen auf einer Reise befinden. Anstatt nur die besten Überwachungssysteme von heute zu unterstützen, umfassten die ersten fünf Implementierungen von Micrometer drei alte Überwachungssysteme, von denen ich wusste, dass sie noch immer in großem Umfang genutzt wurden.
In den Jahren, in denen ich mit Spinnaker mit Unternehmen unterschiedlicher Größe zusammengearbeitet und sie bei der Automatisierung der Anwendungsüberwachung und -bereitstellung beraten habe, konnte ich mir ein Bild von der Vielfalt der Unternehmensdynamik und ihrer Gemeinsamkeiten machen. Die Gemeinsamkeiten, die Praktiken und Techniken, von denen jedes Unternehmen profitieren kann, bilden den Inhalt dieses Buches. Jede Java-Organisation kann diese Techniken anwenden, wenn sie etwas Zeit und Übung hat. Das gilt auch für dein Unternehmen.
In diesem Buch verwendete Konventionen
In diesem Buch werden die folgenden typografischen Konventionen verwendet:
- Kursiv
-
Weist auf neue Begriffe, URLs, E-Mail-Adressen, Dateinamen und Dateierweiterungen hin.
Constant width
-
Wird für Programmlistings sowie innerhalb von Absätzen verwendet, um auf Programmelemente wie Variablen- oder Funktionsnamen, Datenbanken, Datentypen, Umgebungsvariablen, Anweisungen und Schlüsselwörter hinzuweisen.
Constant width bold
-
Zeigt Befehle oder anderen Text an, der vom Benutzer wortwörtlich eingetippt werden sollte.
Constant width italic
-
Zeigt Text an, der durch vom Benutzer eingegebene Werte oder durch kontextabhängige Werte ersetzt werden soll.
Tipp
Dieses Element steht für einen Tipp oder eine Anregung.
Hinweis
Dieses Element steht für einen allgemeinen Hinweis.
Warnung
Dieses Element weist auf eine Warnung oder einen Warnhinweis hin.
O'Reilly Online Learning
Hinweis
Seit mehr als 40 Jahren bietet O'Reilly Media Schulungen, Wissen und Einblicke in Technologie und Wirtschaft, um Unternehmen zum Erfolg zu verhelfen.
Unser einzigartiges Netzwerk von Experten und Innovatoren teilt sein Wissen und seine Erfahrung durch Bücher, Artikel und unsere Online-Lernplattform. Die Online-Lernplattform von O'Reilly bietet dir On-Demand-Zugang zu Live-Trainingskursen, ausführlichen Lernpfaden, interaktiven Programmierumgebungen und einer umfangreichen Text- und Videosammlung von O'Reilly und über 200 anderen Verlagen. Weitere Informationen erhältst du unter http://oreilly.com.
Wie du uns kontaktierst
Bitte richte Kommentare und Fragen zu diesem Buch an den Verlag:
- O'Reilly Media, Inc.
- 1005 Gravenstein Highway Nord
- Sebastopol, CA 95472
- 800-998-9938 (in den Vereinigten Staaten oder Kanada)
- 707-829-0515 (international oder lokal)
- 707-829-0104 (Fax)
Wir haben eine Webseite für dieses Buch, auf der wir Errata und zusätzliche Informationen auflisten. Du kannst diese Seite unter https://oreil.ly/SRE_with_Java_Microservices aufrufen .
Schreib eine E-Mail an bookquestions@oreilly.com, um Kommentare oder technische Fragen zu diesem Buch zu stellen.
Neuigkeiten und Informationen über unsere Bücher und Kurse findest du unter http://oreilly.com.
Finde uns auf Facebook: http://facebook.com/oreilly
Folge uns auf Twitter: http://twitter.com/oreillymedia
Schau uns auf YouTube: http://www.youtube.com/oreillymedia
Danksagungen
- Olga Kundzich
-
Was ich vor dem Schreiben dieses Buches nicht wusste, ist, wie viele Stimmen aus dem Kollegenkreis eines Autors in ein Buch einfließen. Das ist natürlich völlig logisch. Wir beeinflussen uns gegenseitig, indem wir einfach zusammenarbeiten! Olgas aufschlussreiche Ansichten zu einer Vielzahl von Themen hatten in den letzten Jahren wahrscheinlich den größten Einfluss auf mein Denken, und ihre Stimme ist in diesem Buch allgegenwärtig (oder zumindest die beste Annäherung an sie, die ich darstellen kann). Die Gedanken, die du über "die Anwendungsplattform", Continuous Delivery (nein, nicht Continuous Deployment - ich habe die beiden immer wieder verwechselt), Asset Inventory, Monitoring und Elemente des Traffic Managements finden wirst, sind stark von ihr beeinflusst. Danke, Olga, dass du so viel Energie in dieses Buch investiert hast.
- Troy Gaines
-
Troy verdanke ich meine erste Einführung in Abhängigkeitsmanagement, Build-Automatisierung, kontinuierliche Integration, Unit-Tests und viele andere wichtige Fähigkeiten. Er hatte schon früh großen Einfluss auf meine Entwicklung als Softwareentwickler, und ich weiß, dass er das auch für viele andere getan hat. Vielen Dank, alter Freund, dass du dir die Zeit genommen hast, auch diese Arbeit zu bewerten.
- Tommy Ludwig
-
Tommy ist einer der seltenen Telemetrie-Experten, der sowohl zur verteilten Verfolgung als auch zu aggregierten Metriken beiträgt. Es ist so üblich, dass sich die Beiträge im Bereich der Beobachtbarkeit auf einen Bereich konzentrieren, und Tommy ist einer der wenigen, die zwischen diesen beiden Bereichen schwanken. Um es milde auszudrücken: Ich hatte Angst vor Tommys Kritik an Kapitel 3, aber ich war froh, dass wir in diesem Punkt mehr gemeinsam hatten, als ich erwartet hatte. Danke für den Hinweis auf die differenziertere Sichtweise der Kardinalität von verteilten Suchbegriffen, die in Kapitel 3 Eingang gefunden hat.
- Sam Snyder
-
Ich kenne Sam noch nicht lange, aber es hat nicht lange gedauert, bis ich verstanden habe, dass er ein ausgezeichneter Mentor und geduldiger Lehrer ist. Danke, Sam, dass du dich der mühsamen Aufgabe unterzogen hast, ein Fachbuch zu rezensieren, und dass du so viel positives und ermutigendes Feedback hinterlassen hast.
- Mike McGarr
-
Im Jahr 2014 erhielt ich aus heiterem Himmel eine E-Mail von Mike, die kurze Zeit später dazu führte, dass ich alles zusammenpackte und nach Kalifornien zog. Diese E-Mail brachte mich auf einen Kurs, der alles veränderte. Ich lernte so viele Experten bei Netflix kennen, die mich durch den Lernprozess beschleunigten, weil Mike mir eine Chance gab. Er hat meine Sichtweise auf die Softwareentwicklung und den Betrieb radikal verändert. Mike ist auch einfach ein fantastischer Mensch - ein freundlicher und wissbegieriger Freund und eine Führungspersönlichkeit. Danke, Mike.
- Josh Long
-
Einmal habe ich im Buch einen typischen Satz von Josh Long zitiert, in dem es heißt, dass die Produktion "nirgendwo so gut ist wie hier". Ich dachte, ich sei frech und lustig. Und dann schrieb Josh ein Vorwort, in dem Buzz Lightyear vorkommt... Josh ist ein unaufhaltsamer Energiebündel. Danke, Josh, dass du ein bisschen von dieser Energie in diese Arbeit einfließen lässt.
Get SRE mit Java Microservices now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.