Glossar für Onlinemarketing, eCommerce & Webdesign

A B C D E F G H I J K L M N O P Q R S T U V W Z

DevOps-Engineer

Was ist ein DevOps-Engineer?

Der DevOps-Engineer ist ein spezialisierter DevOps-Experte der die bereits etablierten Funktionsstellen des Build-Engineers, des System-Administrators und des Tool-Entwicklers zusammengeführt. Hier finden Sie eine kompakte Einführung in DevOps.

Wozu ein DevOps-Engineer?

Grund für die Einführung der Rolle des DevOps-Engineers ist die konsequente Zusammenführung unterschiedlicher Fachdisziplinen und eine immer wiederkehrende Verlagerung verschiedener Verantwortlichkeiten.

Mit einem Fokus auf der Automatisierung verschiedener Entwicklungsprozesse und mit dem Fokus auf die Pipeline-Optimierung, spielt der DevOps-Engineer eine übergeordnete Rolle. Sie führt die zuvor erwähnten Funktionsstellen zusammen und verkörpert eine Verantwortlichkeit, die als aktiver Kommunikator für die Implementation ausgewählter DevOps-Vorgehensweisen auf Entwicklerseite sowie im IT-Betrieb verantwortlich ist.

Durch die zu implementierenden Vorgehensweisen wird nicht nur ein schnellerer Release-Zyklus angestrebt, auch der Endkunde rückt durch Ansätze aus dem Bereich User-Driven-Design stärker ins Zentrum.

Die 16 Aufgabenbereiche des DevOps-Engineers:

Auf Basis der wissenschaftlichen Studie „Who Needs Release and DevOps Engineers, and Why?“ wird im folgenden eine tiefergehende Eingrenzung der Rolle des DevOps Engineers vorgenommen. Ergebnisse der Studie zeigen, dass die folgenden 16 Aufgabenbereiche der Rolle des DevOps-Engineers zuzuordnen sind:

  1. Integration:  Source-Control-Management (SCM), einschließlich Branch- und Merging-Strategien zur parallelen Entwicklung von Software sowie der Support durch SCM-Tools wie GIT.

  2. Build System: Techniken und Tools zur Generierung und Paketerstellung von Source Code und Programmdateien in Delivery-Units, z.B. über Softwarelösungen wie Ant oder Maven.

  3. Continuous Integration:  Management der Tools zur automatisierten Qualitätssicherung basierend auf definierten Events, beispielsweise mit Tools wie Jenkins. Ein konkretes Anwendungsbeispiel: Nach jeder Änderung die Entwickler per Commit in das entsprechende Test-Szenario ausliefern, wird das gelieferte Code-Fragment automatisch auf einem dedizierten Build-/Test-Server getestet. Dieser Aufgabenbereich umfasst zugleich das Tagging und die Speicherung der gebauten Artefakte in Repositories wie JFrog oder Nexus.

  4. Environment / Infrastruktur: Definieren und Managen der an der Softwareentwicklung beteiligten Systemumgebungen und Infrastruktur (z.B. Server, VMs und Container sowie ggf. zu konfigurierende Hardware und Netzwerkkomponenten) zur Umsetzung unterschiedlicher Staging-Aktivitäten, wie Entwicklung, dem Software-Test, dem Betrieb auf der Staging-Umgebung sowie dem produktiven Live-Betrieb (Dev, Test, Staging, Produktion). Dies schließt die Koordination mit anderen Rollen und Aufgabenbereichen mit ein.

  5. Ausführung und Planung von Systemtests: Der DevOps Engineer unterstützt bei der Umsetzung entwicklungsspezifischer Test-Szenarien und berät bei der Planung derselben. Hierbei ist zu beachten, dass die Test-Definition nur bei längerfristigen und komplexeren Projekten lohnenswert und sinnvoll ist, da für den Systemtest entsprechend umfangreiche Zeitaufwände für Definition spezifischer Testszenarien und deren Abbildung anfallen.

  6. Delivery / Release: Das Einrichten und die Wartung der Pipeline für Software Deployments und Software Releases, sowohl für bestehende wie neue Projekte.

  7. Operation Monitoring: Monitoring und Kontrolle der Produktivumgebung sowie proaktive Fehlerbehebung.

  8. Problem Diagnose: Diagnose von nach einem Release auftretenden Fehlern und unerwünschtem Systemverhalten. Hierbei gilt es zu beachten, dass möglichst detaillierte Fehlerbilder mit Zeitstempel und genauer Beschreibung zur Problemeingrenzung zur Verfügung stehen.

  9. Version Upgrades: Upgrade vorhandener Produktionsumgebungen auf neuere Releasestände, möglicherweise durch Techniken wie Canary Deployment oder Rollback.

  10. Pipeline Optimierung: Optimierung der unterschiedlichen Aktivitäten des Release Prozesses mit dem Fokus in Richtung von Continuous Delivery.

  11. Scripting: Scripting und Automation von manuellen Release Engineering Aufgaben, typischerweise unter Verwendung von Skriptsprachen wie Bash, Python oder PowerShell.

  12. Kommunikation: Fähigkeit zur Förderung des aktiven Dialogs im Team. Gezielter Informationsaustausch sowohl über formale und informelle Diskussionen, über soziale Netzwerke, dem internen Wiki und eigens erstellter Dokumentation sowie per eMail und über weitere Kommunikationsmedien.

  13. Koordination und Planung: Unterstützung der Release-Planung, zum Beispiel in Form einer Release-Roadmap oder der zeitlichen Definition von Entwicklungszyklen. Dieser Aufgabenbereich erfordert eine ausgesprochene Koordinationsfähigkeit in Bezug auf andere Teammitglieder wie Entwickler, externen Datenbank Administratoren oder IT Dienstleistern.

  14. Nicht-Release bezogene Tätigkeiten: Engagement in weiteren entwicklungsbezogenen Tätigkeiten wie dem Systementwurf, einer leicht verständlichen Systemarchitektur oder dem Entwurf von Test-Szenarien.

  15. IT-Sicherheit: Notwendigkeit zur Etablierung einer releasebezogenen und auf maximale Sicherheit ausgerichteten Infrastruktur und sicherheitsorientierter Prozesse. Hierunter fällt auch die IT-Sicherheitsunterweisung, unternehmensweit einheitliche Standards zum Datenschutz und hierauf ausgerichtete Schulungen und Trainings.

  16. Cloud: Wissen und Umsetzung Cloud-basierter Technologien und Prozesse für die Build-, Test- und Deployment Umgebungen.

Wie Sie DevOps erfolgreich im Unternehmen etablieren:

Um DevOps optimal und nachhaltig zu implementieren, müssen Sie sich zunächst den folgenden Aufgabenstellungen widmen:

Die Unternehmensstrategie auf DevOps ausrichten:

Eine erfolgreiche DevOps-Verankerung wird maßgeblich durch die Unternehmensstrategie beeinflusst. Folgende Fragen helfen dabei in diesem Kontext:

• Welche Produkte, Dienstleistungen und Prozesse sind abhängig vom Bereich DevOps?

• In welchem Umfang widmet sich ein Mitarbeiter Tätigkeiten die für den DevOps-Engineer im Rahmen internen DevOps- Themen definiert sind und zu welchem Prozentsatz steht der DevOps-Engineer in externen DevOps-Projekten zur Verfügung?

• Wie wird DevOps als IT-Strategie und im Sinne eines gemeinsam vereinbarten Mindsets unternehmensweit verankert?

Interne und externe DevOps KPIs definieren:

Um DevOps optimal und nachhaltig im Unternehmen zu verankern, ist es unbedingt erforderlich unternehmensinterne Leistungskennziffern in Form DevOps bezogener KPIs zu definieren.

Anhand dieser KPIs können DevOps-Tätigkeiten und die unternehmensweite DevOps-Strategie dann intern sowie extern vertreten werden.

Dabei ist – ganz im Sinne des DevOps-Gedanken – darauf zu achten, die Erfolgsbewertung gegenüber allen Mitarbeiter und Kunden transparent zu gestalten. Nur auf diesem Wege kann sichergestellt werden, dass eine kontinuierliche Verbesserung umsetzbar und für alle erreichbar wird.

„DevOps und Release-Engineering sind Software-Engineering Disziplinen die sich mit der Entwicklung, Implementation und der Prozessoptimierung befassen um qualitativ hochwertige Software verlässlich und vorhersehbar zu gestalten.“

Wie Sie mit DevOps agil werden und Ihr Unternehmen innovativ gestalten:

Mit dem DevOps-Ansatz ergänzen Sie wirksam Ihre agile Softwareentwicklung und agiles Projektmanagement mit pragmatischen Tools und methodischen Erweiterungen innerhalb Ihres Unternehmen. Gestalten Sie die digitalen Lösungen für Ihr Unternehmen und Ihre Kunden und Anwender so effektiv wie möglich.

Warum Sie von DevOps garantiert profitieren:

Einer der Hauptgründe dafür, dass DevOps-Praktiken und agile Vorgehensweisen so stark an Bedeutung gewonnen haben, ist die rasante Entwicklung digitaler Lösungen und mobiler Websites.

Die Organisation komplexer Projekte ist jedoch nicht einfach. Das Problem ist vielschichtig und liegt nicht selten in festgefahrenen Vorgehensweisen. Vielfach werden digitale Lösungen im Unternehmen nicht spezifisch für ein bestimmtes Interesse oder nach einem strukturierten Gesamtdesign entwickelt sondern wachsen historisch.  Damit jedoch bleibt das enorme Potential innovativer Lösungen verborgen und ein Großteil wertvoller Informationen weitgehend ungenutzt. Deshalb ist es unerlässlich ein solides Datenkonzept zu erarbeiten und die digitale Wertschöpfungskette darauf aufzubauen.

Wünschen Sie ein rundum erfahrenes Team und durchdachte Lösungen für Ihr Unternehmen und Ihre Kunden? Wir bringen die digitale Transformation in Ihrem Unternehmen zum Erfolg und sparen Ihnen durch unsere Expertise langwieriges und vor allem kostspieliges Experimentieren.

Jetzt unverbindlich anfragen: Unsere Experten unterstützen Sie beim Erfolg Ihres Projekts!


| Neuere Einträge »