5 Minuten Lesezeit Mit Insights von Romano Roth Chief of DevOps & Partner romano.roth@zuehlke.com Raul Rodriguez Expert Software Engineer raul.rodriguez@zuehlke.com Hast Du Dich schon einmal gefragt, was „DevOps Engineers“ den ganzen Tag so machen? Bevor wir die Sache eingehend betrachten, schauen wir doch erst einmal, ob die Bezeichnung „DevOps" wirklich die Arbeit dieses Personenkreises trifft. Dazu müssen wir zunächst das DevOps-Konzept verstehen und welchen Wert es hat. Habe also einen Moment Geduld mit uns; am Ende gehen wir auf den Aufgabenbereich ein. Warum ist DevOps wichtig? Stelle Dir vor, der Vorstand trifft sich zu seiner vierteljährlichen Sitzung und die technische Leitung bekommt Dinge zu hören wie: „Unser Plan ist es, die Plattform zu skalieren, um den Umsatz in den nächsten sechs Monaten um 25 % zu steigern und das Unternehmen als bevorzugte Plattform in unserem Markt zu positionieren“. Mit DevOps können Unternehmen Prozesse optimieren und automatisieren – von der Idee über die Entwicklung bis zur Produktion. Das erhöht die Effizienz und reduziert hierdurch die Kosten. Dank DevOps können Unternehmen die Feedbackzyklen, die Durchlaufgeschwindigkeit und die Time-to-Market beschleunigen. Dadurch können sie schneller reagieren und ihre Kunden in einem nachhaltigen Tempo immer wieder mit Innovationen überzeugen. Aber was ist denn nun DevOps? Ursprünglich wurde der Begriff DevOps für die Zusammenarbeit zwischen Softwareentwicklung (Development) und IT-Betrieb (Operations) geprägt. Um den Gedanken dahinter besser zu erklären, wurde eine Reihe von Prinzipien aufgestellt: Ganzheitlicher Systemansatz Keine Silos zwischen den Bereichen Kurze und schnelle Feedbackzyklen Gemeinsame Ownership für den Code Wie diese Prinzipien zu befolgen sind, ist Auslegungssache und hat zu einer großen Vielfalt von Konzepten und Tools geführt, die sich mit der Bezeichnung „DevOps“ schmücken. Außerdem hat die Allgemeingültigkeit dieser Prinzipien in anderen Bereichen außerhalb des IT-Betriebs Abkürzungsmonster wie DevSecFinHugOps hervorgebracht. DevOps ist also weder eine Aufgabenbeschreibung noch ein Fachgebiet. DevOps ist vielmehr eine Denkweise, eine Kultur und eine Reihe von technischen Praktiken – daher die Anführungszeichen für die Berufsbezeichnung „DevOps Engineer“ in diesem Beitrag. Im Rahmen der DevOps-Philosophie geht es in erster Linie um einen kulturellen Wandel und um eine neue Art und Weise, wie wir zusammenarbeiten. Es geht nicht mehr um „die anderen“ (Entwicklung und Betrieb), sondern um „uns“ (alle am Wertstrom Beteiligten). Teamarbeit ist die Basis von DevOps. Gegenseitiges Vertrauen, Übertragen und Übernehmen von Verantwortung, kontinuierliche Verbesserung, datenbasierte Entscheidungsfindung und Einfühlungsvermögen in den Kunden sind die Eckpfeiler von DevOps. Für Zühlke bedeutet DevOps: Zusammenführung aller Menschen, Prozesse und Technologien, um unseren Kunden kontinuierlich einen Nutzenvorteil zu bieten! Was ist das Ziel von DevOps? DevOps ermöglicht Kommunikation, Integration, Automatisierung und enge Zusammenarbeit zwischen allen Personen, die für die Planung, Entwicklung, Prüfung, Bereitstellung, Freigabe und Wartung eines Produkts gebraucht werden. Außerdem hilft DevOps dem Unternehmen: Kürzere Time-to-Market Experimentieren Häufigere kleinere Software-Releases Schnelleres Bugfixing Bessere mittlere Reparaturzeit (Mean Time To Recover, MTTR) Wer ist DevOps? Alle tragen zum Wertstrom bei – die DevOps-Arbeit ist kein Silo, sondern Möglichmacher der Zusammenarbeit vieler Disziplinen. Welche Skills müssen DevOps Engineers haben? Die erste und grundlegende Fähigkeit ist DevOps zu verstehen. „DevOps Engineers“ müssen eine DevOps-Mentalität haben und sich die DevOps-Kultur zu eigen machen. Wer Berufserfahrung als Software Developer oder System Administrator mitbringt, hat bei der Umstellung auf DevOps schon einen gewissen Vorteil. Wenn Du programmieren kannst, werden dir die Automatisierungsaspekte von DevOps leichtfallen. Andererseits bringen auch System Engineers etwas sehr Wichtiges mit: Sie kennen die Infrastruktur, wofür sich die Programmers meist nicht interessieren. Technische Vorkenntnisse sind aber nicht der einzige Weg in den DevOps-Bereich. Bootcamps, Selbststudium, ein interner Wechsel des Arbeitsplatzes, Mentoring oder Umschulungsangebote sind alternative Eintrittsoptionen in den DevOps-Bereich. Die Arbeit als „DevOps Engineer“ dreht sich jedoch keineswegs nur um Automatisierung, Tools und gute Kenntnis der Infrastruktursysteme. Es gibt noch weitere Kompetenzen, die wir bei Zühlke schätzen: Ausgeprägte Fähigkeit, Code in mehreren Programmiersprachen zu verstehen. Gut zuhören können: Du musst auf die Launen und Wünsche Deines Entwicklungsteams eingehen. Geduld und Beharrlichkeit: Wir sind ein Team, und wir wollen, dass alles stabil und performant ist – und am besten schon vorgestern fertig. Erfolgreich als DevOps Engineer Aber was machen „DevOps Engineers“ denn nun den ganzen Tag? „DevOps Engineers“ sorgen für reibungslose Arbeitsabläufe entlang des gesamten Wertstroms und verschaffen dem Unternehmen so einen Wettbewerbsvorteil. Dabei ist der Zusammenhang entscheidend, denn je nach dem Umfeld, in dem sie tätig sind, generiert die Arbeit der „DevOps Engineers“ unterschiedliche Werte. Typische Arbeitsbereiche sind: Beteiligung in der Entdeckungsphase: Eine Projektphase, in der Zühlke ihren Kunden dabei hilft, das Richtige zu projektieren Entwicklung von Basisprodukten (Minimum Viable Products, MVP) Bewertung von Architekturen Cloud-Native-Projekte Vor-Ort-Projekte Evaluieren und implementieren von Überwachungsfunktionen, die zu einer verbesserten Funktionsfähigkeit der Systeme führen. Die Auflistung aller Aspekte und Aufgaben, die wir bei Zühlke in DevOps einbeziehen, würde den Rahmen dieses Blogbeitrags sprengen. Wir haben aber noch ein paar typische Beispiele für Dich, was du als DevOps-Engineer für Aufgaben übernimmst: Aufbau einer Continuous Delivery Pipeline, damit das Team beständig Werte generieren und Feedback erhalten kann. Definition von Prozessen, um zu einem gemeinsamen Systemansatz zu kommen. Priorisierung von Automatisierung gegenüber repetitiven manuellen Aufgaben: In hoch- oder vollautomatisierten Systemen kann jedes Teammitglied komplexe und spezialisierte Aufgaben übernehmen. Gewährleistung von Konsistenz zwischen der Entwicklungsumgebung, den Testumgebungen und der Produktionsumgebung. Unterstützung von geschäftlichen Anforderungen und Initiativen zur Förderung von Innovation und Unternehmensentwicklung. Fazit zur Arbeit eins DevOps Engineers Generell ist DevOps ein gemeinsames Konzept für ein ganzes Entwicklungsteam und läuft oft auf eine Vereinbarung darüber hinaus, wie der Entwicklungsprozess angegangen werden soll. Teams, die DevOps in den Mittelpunkt ihrer Strategie zur Unternehmensentwicklung stellen, können schneller und sicherer in Produktion gehen und ihre Ziele zuverlässiger erreichen. Zudem ermöglicht DevOps den Geschäftsbereichen, neue Ideen zu erkunden und letztendlich innovativ zu sein. Erfahre mehr über unsere DevOps Job Welt Finde Deinen passenden Job bei uns Jobs entdecken