Beim Shift Left und Shift Right werden kleine, getestete Builds in regelmäßigen Abständen freigegeben, während der Code weiterentwickelt wird. Dies beschleunigt zum einen die Entwicklung, erhöht aber auch die Software-Qualität. Das wollen wir uns hier genauer ansehen.
Der Name ist Programm: Auf dem DevOps Loop lassen sich Shift-Left- und Shift-Right-Testing gut verorten.
(Bild: Dynatrace)
Als Teil des kontinuierlichen Zyklus der fortschreitenden Bereitstellung übernehmen DevOps-Teams die Prinzipien von Shift Left und Shift Right, um die Softwarequalität in diesen dynamischen Umgebungen sicherzustellen. Im Folgenden wird erläutert, wie dieser Ansatz zur Softwareüberprüfung den DevOps-Methoden und -Ergebnissen zugutekommt und die Software zuverlässiger macht.
Die Grundlagen: Shift Left und Shift Right in DevOps
Um Shift Left und Shift Right zu verstehen, muss man sich den Softwareentwicklungszyklus als ein Kontinuum oder eine Endlosschleife von links nach rechts vorstellen.
Auf der linken Seite der Schleife planen, entwickeln und testen die Teams Software in der Vorproduktion. Das Hauptaugenmerk in der Vorproduktion auf der linken Seite der Schleife liegt auf der Erstellung von Software, die den Designkriterien entspricht.
Wenn Teams Software auf der rechten Seite der Schleife in Produktion geben, stellen sie die Software den Benutzern zur Verfügung. In der Produktion geht es darum, die Software so zu warten, dass sie die Geschäftsziele und Zuverlässigkeitskriterien erfüllt.
Was bedeutet Shift Left bei DevOps?
Unter Shift Left versteht man die Praxis, Tests sowie Qualitäts- und Leistungsevaluierung in eine frühe Phase des Entwicklungsprozesses zu verlagern – oft, bevor Code geschrieben wird.
Shift-Left-Tests helfen den Teams, Änderungen, die sich während des Entwicklungsprozesses ergeben und die sich auf die Leistung oder andere Lieferprozesse auswirken können, zu antizipieren. Beim Shift-Left-Testing überprüfen die Teams APIs, Container-Konfigurationen und Interaktionen zwischen Microservices, Container-Konfigurationen und Interaktionen zwischen Microservices.
Warum ist Shift Left wichtig?
Beim Shift-Left-Testing wird nicht nur die Funktionalität geprüft, sondern auch, ob die Software die Kundenanforderungen erfüllt. Auf diese Weise können Entwickler und Stakeholder Verbesserungen identifizieren, die das Kundenerlebnis und die Funktionalität optimieren könnten. Wenn diese Änderungen frühzeitig im Entwicklungsprozess vorgenommen werden, verringern sich die Kosten, die nach der Freigabe des Codes anfallen.
Infolgedessen werden Shift-Left-Tests immer wichtiger, da die Teams unter dem Druck stehen, Software schneller und häufiger in höherer Qualität zu liefern. Shift Left beschleunigt die Entwicklungseffizienz und senkt die Kosten, indem Softwarefehler früher im Entwicklungszyklus erkannt und behoben werden, bevor sie in die Produktion gelangen.
Was bedeutet Shift Right bei DevOps?
Shift Right ist die Praxis der Durchführung von Tests, Qualitäts- und Leistungsbewertungen in der Produktion unter realen Bedingungen. Shift-Right-Methoden stellen sicher, dass Anwendungen, die in der Produktion laufen, der realen Benutzerbelastung standhalten und gleichzeitig ein hohes Qualitätsniveau gewährleisten.
Mit Shift Right testen DevOps-Teams eine erstellte Anwendung, um Leistung, Ausfallsicherheit und Softwarezuverlässigkeit zu gewährleisten. Ziel ist es, Probleme zu erkennen und zu beheben, die in Entwicklungsumgebungen nur schwer vorherzusehen wären.
Warum ist Shift Right wichtig?
Mit Shift Right können Teams Code in einer Umgebung testen, die die realen Produktionsbedingungen nachahmt, welche sie in der Entwicklung nicht simulieren können. Auf diese Weise können Teams Laufzeitfehler erkennen, bevor sie beim Kunden auftreten. Um einen Teil des Prozesses zu automatisieren, können die Teams API-Aufrufe (Application Programming Interface) verwenden. Unternehmen können auch Shift-Right-Tests auf Code anwenden, der in der Praxis konfiguriert oder überwacht wird.
Das Ergebnis ist eine umfassendere Testabdeckung, die den Anforderungen der Benutzer besser gerecht wird. Wie beim Shift-Left-Test besteht das Ziel des Shift-Right-Tests darin, wenig Fehler zu machen und schnell zu testen. Es wird davon ausgegangen, dass Probleme, die frühzeitig in der Umgebung vor der Bereitstellung erkannt werden, leichter zu lösen sind als Probleme, die von den Kunden in der Live-Produktion erkannt werden.
Shift-Right-Tests sind besonders nützlich für Unternehmen, die eine progressive Software-Bereitstellung praktizieren, bei der die Entwickler neue Softwarefunktionen schrittweise freigeben, um die Auswirkungen unvorhergesehener Probleme zu minimieren. Das Testen in einer produktionsbereiten Umgebung ist eine entscheidende letzte Phase, bevor die Funktionen als einsatzbereit erklärt werden.
Warum Shift Right und Shift Left für die Microservices-Architektur entscheidend sind
Sowohl Shift-Left- als auch Shift-Right-Tests haben an Bedeutung gewonnen, da Software zunehmend aus Microservices aufgebaut wird. Anstatt Anwendungen als Monolith zu erstellen und auszuführen, sind Microservices lose gekoppelte Funktionen, die zur Laufzeit aufgerufen werden. Wie Microservices-basierte Anwendungen funktionieren, hängt von der Reaktionsfähigkeit der einzelnen Dienste ab, was das Testen in einer simulierten Umgebung erschwert.
Beim Shift-Right-Testing am oder kurz vor dem Einsatz können die Teams die realen Bedingungen beobachten und ihre Auswirkungen messen. Shift-Right-Tests decken in der Regel Funktionalität, Leistung, Fehlertoleranz und Benutzerfreundlichkeit ab. Die Teams automatisieren häufig solche Tests in der Produktionsumgebung und übersetzen das Feedback in technische Spezifikationen für die Entwickler.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Mit Shift-Left-Tests können Teams beobachten, wie Services in einer simulierten Umgebung interagieren, und mögliche Leistungseinbußen erkennen, bevor der Code bereitgestellt wird. Zusammen ermöglichen Shift-Left- und Shift-Right-Tests den Testern, Probleme zu isolieren, so dass die Teams sie parallel beheben und Verbesserungen in Angriff nehmen können
Sobald eine Anwendung stabiler wird, können die Teams mit dem Testen und Optimieren der Leistung beginnen. Shifting Left und Shift Right sind zu einer wichtigen Praxis in der agilen Softwareentwicklung geworden. Zusammen sind sie Teil der kontinuierlichen Feedback-Schleife, die DevOps kennzeichnet.
Arten von Shift-Right-Tests
Bei einem Shift-Right-Ansatz können verschiedene Arten von Testsuiten zum Einsatz kommen. Im Folgenden finden sich Tests, die für Teams nützlich sein könnten:
A/B-Tests: Web-Designer verwenden diese Methode häufig. Die Benutzer sehen zwei Versionen einer Seite, und die Tester messen, welche Version eine positivere Reaktion hervorruft. Die Teams führen diese Art von Tests häufig in einer Produktionsumgebung durch, um Feedback aus der Praxis zu erhalten.
Synthetische Überwachung ist eine Form des Shift-Right-Tests, bei dem Software-Tools verwendet werden, um die Pfade zu emulieren, die Benutzer bei der Nutzung einer Anwendung einschlagen könnten. Die synthetische Überwachung kann automatisch die Betriebszeit der Anwendung überwachen und Teams mitteilen, wie ihre Anwendung auf typisches Benutzerverhalten reagiert. Mithilfe von Skripten wird das Benutzerverhalten für verschiedene Szenarien, geografische Standorte, Gerätetypen und andere Variablen simuliert.
Chaos-Engineering: Beim Chaos-Engineering, auch Chaostests genannt, unterbrechen die Entwickler die Anwendung absichtlich, indem sie Fehler einführen, um festzustellen, wie gut sie sich von einer Unterbrechung erholt. DevOps- und IT-Teams richten Überwachungstools ein, um genau zu sehen, wie die Anwendung auf verschiedene Arten von Belastungen reagiert. Die Teams führen diese Tests in einer kontrollierten Produktionsumgebung durch, um die Auswirkungen auf unternehmenskritische Systeme zu minimieren.
Canary-Versionen: Diese Strategie ist nach den Kanarienvögeln benannt, mit denen Bergleute einst in Kohlebergwerke hinabgestiegen sind, um giftige Gase aufzuspüren. Beim Shift-Right-Testing beschreibt der Begriff das langsame Ausrollen von Änderungen auf eine kleine Untergruppe von Instanzen zu Testzwecken, bevor sie auf die gesamte Infrastruktur angewendet werden.
Blue-Green-Bereitstellung: Hierbei betreibt ein Unternehmen zwei nahezu identische Produktionsumgebungen, zwischen denen die (realen oder synthetischen) Benutzer hin- und herwechseln, während kleine Änderungen an der einen oder anderen Umgebung vorgenommen werden. Diese Praxis ist wichtig für die Shift-Right-Methodik, da sie Ausfallzeiten minimieren kann. Außerdem bietet es einen Mechanismus für ein schnelles Rollback, falls mit der neuesten Version etwas schiefläuft.
Arten von Shift-Left-Tests
Die vier grundlegenden Arten von Shift-Left-Tests sind:
Traditionelle Shift-Left-Tests: Der traditionelle Ansatz konzentriert sich auf Unit- und Integrationstests, in der Regel unter Einbeziehung von APIs und browserübergreifender Kompatibilität. Bei diesem Ansatz liegt der Schwerpunkt eher auf Unit-Tests für kleine Codestücke, um frühzeitig und häufig Informationen zu liefern, als auf Betriebs- und Akzeptanztests auf Systemebene.
Inkrementelle Shift-Left-Tests: Dies ist ein beliebter Ansatz für Teams, die von einem Wasserfall-Entwicklungsansatz zu einem Ansatz übergehen, bei dem komplexe Projekte in kleinere Teile zerlegt werden. In diesem Szenario führen die Teams Betriebs- und Akzeptanztests auf Systemebene in einem kleineren, inkrementellen Maßstab durch. Inkrementelles Testen ist ein beliebtes Verfahren zur Validierung großer und komplexer Systeme.
Agile/DevOps-Tests: Hierbei handelt es sich um eine Reihe von kurzen, kontinuierlichen Sprints während der Entwicklungsphase. Dieser Ansatz zielt nicht auf die operative Leistung ab, sondern auf die Überprüfung der Einhaltung der grundlegenden Anforderungsarchitektur.
Modellbasiertes Shift Left: Das modellbasierte Testen zielt darauf ab, Fehler zu reduzieren, die in den Phasen der Anforderungsdefinition, der Architektur und des Entwurfs entstanden sind. Es wird auf ausführbare Anforderungen, Architektur und Design getestet. Der Vorteil des modellbasierten Testens ist, dass es fast sofort beginnen kann und nicht erst nach Abschluss aller anderen Testzyklen.
Vorteile von Shift Right und Shift Left für die Anwendungssicherheit
Ein wichtiger Vorteil des Shift-Right-Testing ist die verbesserte Anwendungssicherheit. Das Scannen eines statischen Images, entweder in einem Repository oder in einer Entwicklungsumgebung, bietet nicht die gleichen umfassenden Einblicke, die man erhält, wenn man die Anwendung in der Produktion beobachtet. Man sieht zum Beispiel nicht, welche Bibliotheken tatsächlich aufgerufen werden, wie sie verwendet werden, ob ein Prozess dem Internet ausgesetzt ist oder ob er mit sensiblen Unternehmensdaten interagiert.
Die zunehmende Verwendung von Software-Containern hat die Aspekte der Cybersicherheit verkompliziert. Container können die in ihnen ablaufenden Prozesse verschleiern, und Angreifer können sogar Exploits darin verpacken. Bei Produktionstests wird das Verhalten von Container-basierter Software aufgedeckt, selbst wenn der Inhalt von Containern unkenntlich gemacht wird. Unternehmen können das Shift-Right-Testing auch nutzen, um auf das Vorhandensein neuer Zero-Day-Exploits wie Log4Shell zu testen.
Aus der Perspektive des Shift-Left-Testing helfen Sicherheitstests zudem während der Entwicklung, Schwachstellen so früh wie möglich im Lebenszyklus zu identifizieren, wenn sie am einfachsten zu beheben sind.
Shift Left, Shift Right oder beides?
Da Unternehmen ihre Application Stacks mit Cloud-nativen Konstrukten wie Microservices und Containern modernisieren, ist es eine bewährte Praxis, sowohl Shift-Left- als auch Shift-Right-Strategien anzuwenden. Shift-Left-Testing reduziert Softwarefehler und verkürzen die Markteinführungszeit. Mit Shift-Right-Testing wird die Zuverlässigkeit in der Produktion besser gewährleistet, indem unter realen Bedingungen getestet wird, um sicherzustellen, dass die Software ihre Aufgabe dort erfüllt, wo sie am wichtigsten ist: im Dienste des Benutzers.
Die Kombination der beiden Ansätze bringt Unternehmen dem letztendlichen Ziel der kontinuierlichen Integration und Bereitstellung durch Automatisierung sowie der interdisziplinären Kommunikation näher. Das Ergebnis ist eine schnellere und agilere Organisation.
Eine wesentliche Fähigkeit für umfassende Shift-Left- und Shift-Right-Tests ist die automatisierte Full-Stack-Observability und -Überwachung. Mit der Fähigkeit zur End-to-End-Analyse in allen Phasen der Entwicklung können DevOps-Teams alle Anfragen und Prozesse überwachen.
Die automatische Analyse aller Dienste in einem weitläufigen Komplex von Multi-Cloud-Anwendungen über eine einzige Schnittstelle ermöglicht es Teams, Prozesse zu automatisieren. Tester können mithilfe von Skripten Bereitstellungsinformationen und Metadaten in die Überwachungsumgebung übertragen, um Builds, Revisionen und Konfigurationsänderungen zu verfolgen.
Je besser eine automatisierte DevOps-Plattform den vollständigen Kontext eines Problems versteht, desto besser kann sie die Grundursachen erkennen, die richtigen Ansprechpartner benachrichtigen und sogar Selbstheilungsmaßnahmen implementieren. Unabhängig davon, ob Unternehmen das Testen nach links in die Entwicklungsphase oder nach rechts in die Produktion verlagert haben oder einfach nur die Performance unter realen Bedingungen überwachen möchten – eine KI-gesteuerte Observability-Lösung kann die Softwareentwicklung erheblich unterstützen.
* Über den Autor Roman Spitzbart konzentriert sich seit mehr als 15 Jahren auf Performance Monitoring & Observability. Er ist VP Solution Engineers EMEA bei Dynatrace und verantwortet ein Team, dass Unternehmen dabei hilft, die Dynatrace Platform zu verstehen und optimal einzusetzen. Gemeinsam mit seinem Team deckt er dabei die gesamte Breite an Use Cases von Observability für Infrastruktur und Applikationen über Security bis hin zu Digital Experience und Business Analytics ab.