Schnellere Cloud-Deployments DevOps-Prozesse mit aPaaS optimieren

Autor / Redakteur: Andrew Melck * / Stephan Augsten

Wollen Unternehmen ihre Applikationen schneller bereitstellen, sind DevOps-Prozesse unverzichtbar. Doch Cloud Deployments sind hochkomplex. Bei Inkonsistenzen zwischen Entwicklungs- und Live-Umgebung schleichen sich schnell Fehler ein. Mit einer Applikations-Plattform as a Service, kurz aPaaS, können Unternehmen dies vermeiden – und neue Services schneller online bringen.

Anbieter zum Thema

Schnellere Cloud-Deployments für Unternehmen - DevOps mit Applikations-Plattform as a Service (aPaaS) optimieren.
Schnellere Cloud-Deployments für Unternehmen - DevOps mit Applikations-Plattform as a Service (aPaaS) optimieren.
(Bild: gemeinfrei (diwou / pixabay) / CC0 )

Die Zeiten, in denen Unternehmen einmal im Jahr einen neuen Release herausbringen konnten, sind vorbei. Kunden erwarten heute – gerade im Online-Bereich – kontinuierlich Verbesserungen und neue Services. Damit Unternehmen dies leisten können, müssen sie ihre Prozesse von der Entwicklung über die Qualitätssicherung bis zur Bereitstellung agil gestalten und so weit wie möglich automatisieren.

DevOps, die Verknüpfung von Development und Operations mit agilen Prozessen, hat sich weitgehend durchgesetzt. Doch auch hier zählt Geschwindigkeit. In den vergangenen Jahren hat eine rasante Entwicklung stattgefunden. Während es 2009 noch als schnell galt, täglich zehn Deployments durchzuführen, sprach Amazon bereits 2012 von durchschnittlich 23.000 Deployments am Tag.

Wie viel schneller, agiler und erfolgreicher Unternehmen sind, die DevOps perfektioniert haben, zeigt eine Studie von Puppet Labs. So haben die High-Performer unter den Befragten 200 Mal häufiger neuen Code herausgebracht. Neue Features konnten sie zweieinhalb Mal schneller bereitstellen. Durchschnittlich hatten sie Lieferzeiten von Minuten oder Stunden, statt Wochen, Monaten oder gar Quartalen.

Doch die High Performer waren nicht nur schneller und leistungsfähiger, ihr Ergebnis war auch besser. So kam es bei ihnen dreimal weniger zu Deployment-Problemen. Trat doch einmal ein Fehler auf, konnten sie ihn 24 Mal schneller beheben. Insgesamt verbrachten sie 22 Prozent weniger Zeit mit ungeplanter Arbeit.

Ungeplante Arbeit reduzieren

In jedem Unternehmen gibt es bei der Softwareentwicklung und Bereitstellung drei verschiedene Arbeitstypen: Geplante Arbeit, Änderungen und ungeplante Arbeit. In die Pipeline der geplanten Arbeiten fließen zum Beispiel neue Kunden-Projekte oder interne IT-Verbesserungsinitiativen ein.

Aus diesen Aufgaben ergeben sich häufig Änderungen, üblicherweise aus einem Issue-Management-System. Ungeplante Arbeiten entstehen, wenn es bei der geplanten Arbeit und Änderungen zu Fehlern kommt, die behoben werden müssen. Das aber kostet wertvolle Zeit, die dann für die ursprünglich geplanten Arbeiten fehlt.

DevOps und Automatisierung haben das Ziel, geplante Workloads schneller und besser durchzuführen und den ungeplanten Anteil zu reduzieren – unter Aufrechterhaltung von Stabilität, Verlässlichkeit, Verfügbarkeit, Performance und Sicherheit. Dies gelingt jedoch nur mit reibungslosen DevOps-Prozessen. Wer hier nachlässig ist, verursacht dagegen Probleme in der Qualitätssicherung und bei der Sicherheit. Schlechte DevOps-Prozesse in der geplanten Arbeit führen dann zu ungeplanter Arbeit – und je mehr geplante Arbeit in die Pipeline fließt, desto mehr ungeplante kommt am anderen Ende hinzu.

Unterschiedliche Umgebungen als Fehlerursache

Eine gängige Fehlerquelle besteht darin, dass sich die Entwicklungs- und Testumgebung von der Live-Umgebung unterscheidet. Häufig arbeiten Entwickler zum Beispiel mit einer Testdatenbank, die nur wenige Datensätze enthält. Denn meist gilt es als zu aufwendig, eine Live-Datenbank zu klonen.

Das führt zu folgendem Szenario: Ein Entwickler führt eine Änderung durch und hat sie nach bestem Wissen und Gewissen getestet. Auch in der Qualitätssicherung funktioniert alles nach Plan. Der neue Code geht online. Doch am nächsten Morgen häufen sich die Fehlermeldungen und es hagelt Kundenbeschwerden.

Der Grund? Die Qualitätssicherer hatten nicht bedacht, dass der Entwickler eine eigene Datenbank verwendet hatte und das Caching ausgeschaltet war. Jetzt muss die Änderung wieder rückgängig gemacht werden und die Fehlersuche beginnt. Das bremst nicht nur den kompletten Bereitstellungs-Prozess aus, sondern verärgert auch Kunden.

Ein Applikations-Plattform as a Service hilft

Solche Fehler in DevOps-Prozess lassen sich mit einem Applikations-Plattform as a Service (aPaaS) vermeiden. Ein aPaaS stellt Entwicklungs- und Deployment-Umgebungen für Cloud-Applikationen zur Verfügung. Platform.sh zum Beispiel fertigt innerhalb von Sekunden automatisiert exakte Klone von Live-Webapplikationen an, sodass Entwickler und Tester mit einer Umgebung arbeiten können, die identisch mit der Produktivumgebung ist.

Der aPaaS hält Code, Files, Services und Data immer auf dem aktuellen Stand und sorgt für Konsistenz zwischen den Umgebungen. Das erhöht die Sicherheit, denn Tests finden garantiert unter realistischen Bedingungen statt. Entwickler können damit gewiss sein, dass das, was sie getestet haben, sich auch live genauso verhält.

Dank der identischen Umgebungen und Datensätze können sie zudem bereits vorab die Bereitstellung testen, sodass es später kein böses Erwachen gibt. Das ist insbesondere bei komplexen Änderungen wichtig, denn jetzt lässt sich nicht nur prüfen, ob der Code funktioniert, sondern auch ob die Neuerungen richtig umgesetzt werden. Diese Sicherheit beschleunigt den DevOps-Prozess erheblich und macht Continuous Integration und Continuous Deployment erst wirklich möglich.

Fazit

Andrew Melck ist Regional Director DACH bei Platform.sh.
Andrew Melck ist Regional Director DACH bei Platform.sh.
(Bild: Platform.sh)

Je weniger Zeit Entwickler für die Fehlersuche aufwenden müssen, desto mehr Kapazitäten haben sie für die Umsetzung von geplanten Änderungen und Projekten und umso schneller können sie Neuerungen online bringen. Ein DevOps-Prozess, der Fehler vermeidet, ist deshalb essenziell für die Wettbewerbsfähigkeit.

Mit einem guten aPaaS, der Konsistenz zwischen Entwicklungs- und Produktivumgebung garantiert, sind Unternehmen in der Lage, ihre Services kontinuierlich und schnell an die Bedürfnisse ihrer Kunden anzupassen. Entwickler können sich dann auf das konzentrieren, was wirklich wichtig ist: ihr Unternehmen voranzubringen.

* Andrew Melck ist Regional Director DACH bei Platform.sh.

(ID:45428587)