22. März 2024
Devops engineer: Warum man sie im Team braucht
Entwickler*innen, die an Kundenprojekten arbeiten, müssen sich um zahlreiche Aufgaben kümmern. Immer wenn man denkt, dass die Liste kürzer wird, kommen ganz unten neue Dinge hinzu. Was fehlt, ist jemand, der sich im IT-Bereich der Entwickler*innen auskennt und die Fähigkeit hat, neben dem üblichen Management bei den operativen Prozessen zu unterstützen.
Es sollte eine Infrastruktur bereitgestellt werden, die es dem Team ermöglicht, ihre Aufgaben zu bewältigen. Dazu gehört aber neben der administrativen Seite, auch die technischen Voraussetzungen, damit die Entwickler*innen richtig arbeiten können. An dieser Stelle kommen die DevOps ins Spiel. Mit der Arbeit der DevOps wird dem Entwicklungsteam der Rücken gestärkt. Sie stellen das Bindeglied zwischen Betrieb und Entwicklung dar und unterstützen das Team in der Verwaltung der Software und der Anwendungen. Außerdem stellen sie Tools bereit, um die Abläufe zu verkürzen und den Entwicklungsprozess zu vereinfachen. Mit ihrer Arbeit wirken die DevOps Verzögerungen im Prozess entgegen, indem Stillstandszeiten und Systemausfälle reduziert werden. Ihr Einsatz im Team sichert nicht nur Qualität und optimiert Workflows, sie bringen sich und ihr Team auch auf den neuesten Entwicklungsstandard.
Welche Skills die DevOps ausmachen
Beginnen wir mit dem Offensichtlichsten: Die Fähigkeiten zum Bereich Development. Das Unterscheidungsmerkmal der DevOps im Vergleich zu den technischen Manager*innen sind die Skills in Bezug auf Programmierung und Skripting. Dazu gehören verschiedene Programmiersprachen, Open-Source-Technologien sowie Kenntnisse in Serversystemen und Sicherheitskonzepten. Die DevOps beweisen ihre Kompetenz für die Position durch ihr Verständnis von Quellkontrollsystemen, Infrastruktur-Automatisierungstools, Cloud-Diensten und ihre Erfahrung im Testing. Über die technischen Kompetenzen hinaus, die in diesem Bereich erforderlich sind, müssen die DevOps diese mit einer Reihe von Soft Skills kombinieren.
Als verbindende Komponente zwischen verschiedenen Teams, ist beispielsweise eine ausgezeichnete Kommunikation unabdingbar. Außerdem ist es bei der Vielzahl möglicher Probleme, die auftreten können, nicht einfach einen kühlen Kopf zu bewahren. Die DevOps benötigen deshalb ein Hohes Maß an Empathie und Integrität. Und nicht zuletzt erfordert der Job mehr als jeder andere die Bereitschaft, sich weiterzubilden und mit neuen Trends auseinanderzusetzen. Das digitale Umfeld befindet sich in einem ständigen Wandel, der es erfordert, dass die DevOps in ihrem Bereich Expert*innen bleiben. Gut informiert zu sein über neue Technologien, Systeme und Verfahren bereitet die DevOps auf die nicht enden wollende Welle von Problemen und Fehlern vor, die sie zur Unterstützung ihres Teams lösen müssen.
Wie setzen wir DevOps bei Factorial ein?
Wir bei Factorial verteilen die Aufgaben der DevOps derzeit auf verschiedenen Schultern. In diesem Fall haben wir nicht nur bestimmte Teile des Teams, die sich mit Aufgaben befassen, sondern wir nutzen auch administrative Tools, um Arbeitsabläufe zu automatisieren. Zum Beispiel haben wir eine Möglichkeit geschaffen, die Protokollierung und Überwachung zu zentralisieren und auch unseren Dschungel an gehosteten Anwendungen wie Jira, Confluence und Mattermost zu verwalten. Auf diese Weise verbessern wir unsere Unternehmensinfrastruktur ständig und suchen nach neuen Möglichkeiten zur Rationalisierung unserer Prozesse und neuen Funktionen wie schnelle Rollouts von Entwicklungsinstanzen.
Darüber hinaus verbessern und entwickeln wir unseren lokalen Dev-Stack auf Basis von MultiBaseBox. Unsere Entwickler*innen verwenden Docker, um die benötigten Abhängigkeiten für ihre Projekte zu erstellen. Wir verwenden MultiBaseBox und phabalicious für die lokale Entwicklung. Der zugrundeliegende Haproxy-Container mit automatischer Konfiguration wird auch als einfache Möglichkeit genutzt, um entfernte Entwicklungsinstanzen aufzusetzen, damit Kund*innen neue Funktionen testen können. Unser Team arbeitet ständig an der Verbesserung und Erweiterung dieser Tools.
phabalicious
Durch den Einsatz von phabalicious werden unsere Entwickler*innen mit allen notwendigen und projektbezogenen Informationen in einer einzigen Konfigurationsdatei ausgestattet. Mit diesem Programm können sie sich mit der aktuellen App-Installation verbinden, sei es lokal installiert, hinter einem ssh-jump-host oder als Teil eines Kubernetes-Clusters, und können alltägliche Aufgaben ausführen. Dazu zählen z. B. einen Datenbank-Dump abrufen, eine neue Version der Anwendung bereitstellen oder einfach nur eine Shell auf dieser bestimmten Instanz aufrufen. Vor kurzem haben wir eine Unterstützung für Kubernetes hinzugefügt. Es wird von unserem Team aktiv gepflegt und an die sich ständig ändernden Bedürfnisse unserer Entwickler*innen und Kund*innen angepasst, wobei wir versuchen, so offen wie möglich zu sein.
kubernetes
Unsere Entwickler*innen können sich auf kubernetes als wertvolles Werkzeug für die Verwaltung und Erstellung von Definitionsdateien für unsere Cluster und die Cluster unserer Kund*innen verlassen. Sie können Drupal-, Laravel- oder Node-basierte Websites und Anwendungen in ein kubernetes-basiertes Cluster einbringen und die Anwendungen im Laufe der Zeit überwachen.
GitLab und Docker
Als passionierte Entwickler*innen arbeiten wir mit GitLab als Hauptcode-Repository und nutzen die starken Integrationsmöglichkeiten, die Pipelines bietet, voll aus. Darüber hinaus verwenden wir Docker, um unserem Team auf der ganzen Welt die beste Arbeitsumgebung zu bieten.
DevOps — die perfekte Ergänzung für das Team
Wir bei Factorial sind der Meinung, dass ein Entwicklungsteam ohne eine Rolle, die das Verständnis für Entwicklungsprozesse und -programme mit dem administrativen Wissen, das alles miteinander verbindet, vereint, nicht vollständig ist. Der wahre Nutzen, den diese Rolle für das Unternehmen haben kann, liegt vor allem in der Stressreduzierung und Prozessoptimierung. Wer bisher noch nicht über diese Rolle nachgedacht hat, wird vielleicht überrascht sein, welchen Wert sie für das Team haben kann.
Das alles kommt dir bekannt vor? Komm‘ in unser Team und unterstütze uns als DevOps Engineer!
Wir freuen uns sehr auf deine Bewerbung! Hier sind alle Infos zur Stellenanzeige zu finden.