Automatisierte Deployments: Mehr Effizienz und weniger Fehler
Automatisierte Deployments: Mehr Effizienz und weniger Fehler
Hinter dem Bedürfnis, alles Mögliche zu automatisieren, steckt oftmals viel mehr, als es nur zu tun, weil es möglich oder gerade im Trend ist. Heute beleuchte ich, warum selbst bei kleineren Projekten ein automatisiertes Deployment sinnvoll sein kann, und warum es nicht nur Techniker*innen, sondern auch Kund*innen auf lange Sicht Vorteile bringt.
Automatisierung durch Maschinen ist keine neue Idee
Wenn man sich die Geschichte der Industrialisierung ansieht, ging es im Kern darum, Menschen durch Maschinen zu ersetzen, welche die gleiche Arbeit mit größerer Effizienz erledigen. Ein wesentlicher Teil davon ist, dass Maschinen weniger fehleranfällig sind und sich auch bei Überstunden nicht beschweren. Doch bevor die Menschheit den Höhepunkt dieser Entwicklung auskosten konnte, mussten gewisse Tools, Verständnisse und Erfindungen erst noch geleistet werden. Die IT hat eine ähnliche Entwicklung - ob wir das Ende langsam erreichen oder erst ganz am Anfang sind, vermag ich allerdings nicht zu sagen.
Im Alltag eines Entwicklers geht es ganz oft darum, ein Muster zu erkennen und dieses zu abstrahieren - eines der wichtigsten Mottos moderner Entwicklung nennt sich DRY (”don’t repeat yourself”). Und genau dieses Prinzip lässt sich nicht nur auf Datenstrukturen anwenden, sondern auch auf Prozesse.
Vorteil #1: Eine Sorge weniger
Ein neues Feature in der Website kann mitunter viele kleine Stellschrauben haben, die Entwickler*innen im Kopf haben, während sie daran basteln und die erste Version zum Test für Kund*innen fertig bauen. Je nach Komplexität kann dies durchaus stressig sein. Das Deployment automatisiert laufen zu lassen, nimmt hier Stress weg und macht es leichter für die Entwickler*innen, sich auf das Wesentliche zu konzentrieren: Das Feature zu bauen, den Bug zu fixen, Kaffee in Code zu verwandeln.
Vorteil #2: “Fehlerunanfälligkeit” des automatisierten Deployments
In der perfekten Welt könnte ein Deployment einfach sein. Leider besteht der Alltag aber aus verschiedenen Systemen, verschiedenen Versionen jener Systeme und einer Myriade anderer Faktoren, die von Hoster zu Hoster unterschiedlich sind. Diese ganzen Dinge muss man neben meist einigen Schritten zusätzlich im Kopf oder sehr gut dokumentiert vor sich haben. Die beste Dokumentation eines Prozesses für Entwickler*innen ist Code. Es liegt also nahe, diese Dokumentation in Form eines Skripts bereit zu stellen - so ist alles genau aufgeschrieben und noch dazu kann man es ausführen. Dadurch ist es jetzt jedem Entwickler (und Computern) möglich, eine neue Version auszurollen - und alle potentiellen Fehler sind in dem Skript bereits abgefangen. Zudem wird keiner der Schritte übersprungen oder in der falschen Reihenfolge ausgeführt.
Vorteil #3: Neue Entwickler*innen an Bord holen
Für mich ist eine der wichtigsten Fragen bei neuen Projekten: Wie kann ich meine Änderungen live schalten? Gerade bei langlebigen Projekten besteht die Tendenz, dass es nur eine Person gibt, die den Deployment-Prozess von Anfang bis Ende kennt. Doch mit einem Automatismus kann man auch hier für mehr Sicherheit sorgen: Erstens ist das Wissen so dokumentiert, dass auch neue Entwickler*innen nachvollziehen können, was genau gemacht werden muss. Und zweitens - und viel wichtiger! - muss man sich in dem neuen Projekt in einen Faktor weniger direkt eindenken. Der Einstieg in die neue Codebasis kann so erleichtert werden.
Unterm Strich: Zeitersparnis durch automatisiertes Deployment
Einen Prozess zu automatisieren, kostet zunächst immer Zeit. Oft ist nicht ersichtlich oder schlecht messbar, wann sich die investierte Zeit rechnet. Doch gerade in Zeiten der DSGVO mit der Anforderung an Betreiber*innen, ihre Plattformen sicher zu halten, ist der Verzicht auf automatisiertes Deployment nur etwas für Projekte, die nach wenigen Monaten wieder aus dem Netz verschwinden sollen. Im Durchschnitt habe ich persönlich durch automatisiertes Deployment rund einen bis zwei Arbeitstage pro Monat eingespart - und das ist auch der Punkt, an dem die Kund*innen wirklich profitieren: Denn Zeit, die wir uns sparen, spart sich der Kunde 1:1 - und wir haben mehr Zeit für das, was unseren Kund*innen wirklich wichtig ist: ihre Probleme zu lösen.
Ihr möchtet erfahren, wie Ihr das Thema “Automatisiertes Deployment” nun konkret angeht? Wartet auf meinen nächsten Blog-Beitrag, der demnächst kommt! Ihr habt Fragen dazu oder benötigt Hilfe? Kontaktiert mich gerne! Auf unserer Kontaktseite könnt Ihr einen Beratungstermin ausmachen oder mir über das Kontaktformular eine Nachricht schreiben!