© Liashko/Shutterstock.com
Entwickler Magazin
Best Practices für performanceoptimierte DevOps

Was wir aus Obamacare lernen können

Abgestürzte Websites, Anwendungen im Schneckentempo, ärgerliche Funktionsfehler: Schon bei der Entwicklung lassen sich viele Probleme mit der Stabilität und Performance vermeiden. Dazu muss der aktuelle DevOps-Ansatz aber um die Einbindung von Testszenarien und Businessanforderungen erweitert werden.

Andreas Grabner


Etwa 80 Prozent der kritischen IT-Probleme werden von nur 20 Prozent aller Ursachenmuster ausgelöst. Dies zeigen diverse Untersuchungen und Expertendiskussionen. Die meisten Ursachenmuster hängen dabei mit Performance- oder Architekturproblemen in der Applikation selbst oder der darunter liegenden Infrastruktur zusammen. Die Folge: Gemäß einer aktuellen Studie werden 80 Prozent der Entwicklungszeit mit der Erkennung und Behebung von Problemen verschwendet. Daraus resultieren alleine in den USA geschätzte Gesamtkosten von etwa 60 Milliarden Dollar pro Jahr. Und dieser Aufwand für die Fehlersuche dürfte sich aufgrund der steigenden Komplexität durch Cloud-Angebote sowie der immer schnelleren App-Entwicklung vor allem für Mobilgeräte weiter erhöhen. Oft noch schlimmer als der finanzielle Verlust schmerzt aber der durch Abstürze und lange Reaktionszeiten ruinierte Ruf des Anbieters.

Empfehlenswerte DevOps-VorgehensweisenEs gibt viele Definitionen von DevOps. Der wichtigste Aspekt ist die „gelebte“ Kollaboration aller Entscheider in Softwareentwicklung, Test und Betrieb und die gemeinsame Verantwortung für alles, was zum Erfolg der Software führt. Das bedeutet, dass der Betrieb der Entwicklung zu verstehen gibt, wie die Betriebsumgebung wirklich aussieht, in der die Anwendung in Zukunft laufen wird und was es bedeutet, wenn Fehler auftreten. Der Betrieb wiederum muss sowohl den Testern als auch den Entwicklern dabei helfen, eine betriebsähnliche Umgebung zur Verfügung zu stellen. Die Entwickler müssen sich dazu verpflichten, dass ihre Software in dieser Umgebung stabil läuft. Eine Ausrede wie „Es läuft auf meiner Maschine“ gibt es dann nicht mehr. Außerdem sind die Entwickler gefordert, dem Betrieb dabei behilflich zu sein, automatische Deployment-Tools zu entwickeln, die sicherstellen, dass beim Aufziehen neuer Versionen nichts übersehen wird. Leider gibt es viele prominente Gegenbeispiele, bei denen genau das übersehen wurde. Diese könnten zukünftig verhindert werden. Im nächsten Schritt gilt es zusammen zu definieren, welche Daten aus dem Betrieb für Entwicklungs- und Testabteilung zugreifbar sind und welche Tools dafür verwendet werden. Mit diesen Daten kann man im Fehlerfall schneller auf Probleme reagieren. Außerdem können die Tester ihre Testszenarien um reale Anwendungsfälle erweitern.

Ein prominentes Problembeispiel ist die Internetseite von „Obamacare“ für den Zugang zur Krankenversicherung in den USA. Trotz jahrelanger Vorbereitung stürzte sie kurz...

Entwickler Magazin
Best Practices für performanceoptimierte DevOps

Was wir aus Obamacare lernen können

Abgestürzte Websites, Anwendungen im Schneckentempo, ärgerliche Funktionsfehler: Schon bei der Entwicklung lassen sich viele Probleme mit der Stabilität und Performance vermeiden. Dazu muss der aktuelle DevOps-Ansatz aber um die Einbindung von Testszenarien und Businessanforderungen erweitert werden.

Andreas Grabner


Etwa 80 Prozent der kritischen IT-Probleme werden von nur 20 Prozent aller Ursachenmuster ausgelöst. Dies zeigen diverse Untersuchungen und Expertendiskussionen. Die meisten Ursachenmuster hängen dabei mit Performance- oder Architekturproblemen in der Applikation selbst oder der darunter liegenden Infrastruktur zusammen. Die Folge: Gemäß einer aktuellen Studie werden 80 Prozent der Entwicklungszeit mit der Erkennung und Behebung von Problemen verschwendet. Daraus resultieren alleine in den USA geschätzte Gesamtkosten von etwa 60 Milliarden Dollar pro Jahr. Und dieser Aufwand für die Fehlersuche dürfte sich aufgrund der steigenden Komplexität durch Cloud-Angebote sowie der immer schnelleren App-Entwicklung vor allem für Mobilgeräte weiter erhöhen. Oft noch schlimmer als der finanzielle Verlust schmerzt aber der durch Abstürze und lange Reaktionszeiten ruinierte Ruf des Anbieters.

Empfehlenswerte DevOps-VorgehensweisenEs gibt viele Definitionen von DevOps. Der wichtigste Aspekt ist die „gelebte“ Kollaboration aller Entscheider in Softwareentwicklung, Test und Betrieb und die gemeinsame Verantwortung für alles, was zum Erfolg der Software führt. Das bedeutet, dass der Betrieb der Entwicklung zu verstehen gibt, wie die Betriebsumgebung wirklich aussieht, in der die Anwendung in Zukunft laufen wird und was es bedeutet, wenn Fehler auftreten. Der Betrieb wiederum muss sowohl den Testern als auch den Entwicklern dabei helfen, eine betriebsähnliche Umgebung zur Verfügung zu stellen. Die Entwickler müssen sich dazu verpflichten, dass ihre Software in dieser Umgebung stabil läuft. Eine Ausrede wie „Es läuft auf meiner Maschine“ gibt es dann nicht mehr. Außerdem sind die Entwickler gefordert, dem Betrieb dabei behilflich zu sein, automatische Deployment-Tools zu entwickeln, die sicherstellen, dass beim Aufziehen neuer Versionen nichts übersehen wird. Leider gibt es viele prominente Gegenbeispiele, bei denen genau das übersehen wurde. Diese könnten zukünftig verhindert werden. Im nächsten Schritt gilt es zusammen zu definieren, welche Daten aus dem Betrieb für Entwicklungs- und Testabteilung zugreifbar sind und welche Tools dafür verwendet werden. Mit diesen Daten kann man im Fehlerfall schneller auf Probleme reagieren. Außerdem können die Tester ihre Testszenarien um reale Anwendungsfälle erweitern.

Ein prominentes Problembeispiel ist die Internetseite von „Obamacare“ für den Zugang zur Krankenversicherung in den USA. Trotz jahrelanger Vorbereitung stürzte sie kurz...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang