Kapitel 6. Versionierung, Releases und Rollouts

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Einer der Hauptkritikpunkte an traditionellen monolithischen Anwendungen ist, dass sie mit der Zeit zu groß und unhandlich werden, um sie so schnell zu aktualisieren, zu versionieren oder zu ändern, wie es das Geschäft erfordert. Viele sind der Meinung, dass dies einer der entscheidenden Faktoren ist, die zu agilen Entwicklungspraktiken und dem Aufkommen von Microservice-Architekturen geführt haben. Die Möglichkeit, neuen Code schnell zu iterieren, neue Probleme zu lösen oder versteckte Probleme zu beheben, bevor sie zu großen Problemen werden, sowie das Versprechen von Upgrades ohne Ausfallzeiten sind alles Ziele, die Entwicklungsteams anstreben. In der Praxis lassen sich diese Probleme mit den richtigen Prozessen und Verfahren lösen, unabhängig von der Art des Systems, aber dies ist in der Regel mit viel höheren Kosten für Technologie und Personal verbunden.

Bei der Entwicklung von Systemen sind Isolation und Kompatibilität wichtige Variablen. Die Einführung von Containern als Laufzeitumgebung für den Anwendungscode ermöglicht dies, erfordert aber immer noch ein hohes Maß an menschlicher Automatisierung oder Systemmanagement, um große Systeme auf einem verlässlichen Niveau zu halten. Im Laufe der Zeit wuchs das System, es wurde brüchiger und Systemingenieure begannen, komplexe Automatisierungsprozesse ...

Get Kubernetes Best Practices, 2. Auflage 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.