Was macht ein Platform Engineer / AWS DevOps?

Wie genau hat man sich die Aufgaben eines Platform Engineer vorzustellen?

Der Platform Engineer ist eine besondere Art von DevOps Engineer, der sich nicht nur auf das Produkt, sondern auch (oder vielleicht sogar hauptsĂ€chlich) auf die technischen Aspekte und die zugrunde liegenden Mechanismen Ihrer komplexen Anwendung konzentriert. Vor der Cloud-Ära gab es Sysadmins – Leute, die sich um die operative Seite des Produkts kĂŒmmerten. Sie lösten Probleme mit ĂŒberschaubaren, oft quelloffenen Tools.

Dann kamen die Cloud-Dienste auf, und die Dev-Ops-Kultur konnte sich ausbreiten, so dass der Großteil der betrieblichen und infrastrukturellen Wartungslast von den Schultern der Teams genommen wurde. Aber wenn die Produkte wachsen und mehrere Teams zusammenarbeiten mĂŒssen, entsteht der Bedarf an einer gemeinsamen Integrationsplattform, einem Raum, in dem alle Beteiligten auf vorhersehbare Weise arbeiten können.

Ein Leben in der Cloud 😉

Der Platform Engineer ist so etwas wie ein Systemadministrator der Cloud-Ära – seine Hauptaufgabe besteht darin, eine gemeinsame Cloud-Infrastruktur und Basiskomponenten zu entwickeln, die von allen anderen Teams genutzt werden können und in der Regel sogar die Integration von Lösungen Dritter ermöglichen. Die so genannte “Plattform” ist in der Regel nur ein weiterer Dienst in einer Microservice-Landschaft, der von allen anderen Abteilungen genutzt wird.

NatĂŒrlich leben wir im 21. Jahrhundert und nutzen die Cloud – alles wird in einem DevOps-Ansatz durchgefĂŒhrt, weshalb der Titel Platform Engineer oft in Verbindung mit DevOps Engineer verwendet wird (in der Regel auch mit der Bezeichnung der Zielplattform – in meinem Fall zum Beispiel: AWS DevOps). Das bedeutet, dass eine solche Plattform vollstĂ€ndig als Code ausgedrĂŒckt, mit Tools wie Terraform oder CloudFormation bereitgestellt und mit einer CI/CD-Pipeline vollstĂ€ndig automatisiert wird.

Wie sieht dein typischer Tagesablauf aus?

Im Allgemeinen Ă€hnelt die tĂ€gliche Routine derjenigen, die in jeder Dev-Ops-Rolle vorkommt – die Plattform ist in der Regel nur eine Reihe von sehr grundlegenden Microservices und Tools, die in den Automatisierungsprozessen verwendet werden. Wir arbeiten nach Scrum, wir haben Funktionen, an denen wir arbeiten mĂŒssen, und wir können unseren Fortschritt messen. Der Hauptunterschied besteht darin, dass der KPI fĂŒr das Plattformteam normalerweise nicht das Produkt selbst ist, sondern die ProduktivitĂ€t der anderen Teams.

Es ist auch nicht ungewöhnlich, dass wir eine Rolle als interne Berater spielen. Nicht alle Teams sind bereits Cloud-fĂ€hig, vor allem, wenn wir ĂŒber moderne AnsĂ€tze wie beispielsweise serverlose Architekturen sprechen. Dann mĂŒssen wir mögliche Lösungen fĂŒr solche Teams analysieren, sie sowohl in unsere Plattform als auch in den Cloud-Anbieter selbst einweisen und ihre Fortschritte ĂŒberprĂŒfen.

Was sind die Voraussetzungen fĂŒr einen Platform Engineer

Einen universitĂ€ren Weg gibt es meines Wissens nach nicht. Erstens ist es ein rein branchenspezifischer Begriff, zweitens ist es eine ziemlich neue und nicht so streng spezifizierte Rolle. Im Allgemeinen ist der Platform Engineer eine Mischung aus einem Systemarchitekten und einer Dev-Ops-Rolle – wir mĂŒssen einen tiefen Einblick sowohl in die Dienste des Cloud-Anbieters als auch in den technologischen Stack unseres Projekts haben, in der Lage sein, die gewĂŒnschte Architektur zu verfeinern, und sie anschließend implementieren. Jedes Studienfach, das auf solche Aufgaben vorbereiten kann, kann als Ausgangspunkt dienen.

Was hast Du studiert?

Ich habe mit 8 Jahren angefangen, erste Programme zu schreiben, habe an ersten Open-Source-Projekten teilgenommen, als ich noch in der Grundschule war, und habe an ersten kommerziellen Projekten gearbeitet, bevor ich 15 wurde. Ich begann ein Studium an der Zachodniopomorski Uniwersytet Technologiczny in Szczecin (ehemals Politechnika SzczeciƄska), das ich aber im vierten Semester abbrach – zu diesem Zeitpunkt hatte ich bereits ein ziemlich starkes Portfolio an persönlichen Projekten, wurde im Internet in einigen Bereichen bekannt und bekam Jobangebote von großen Unternehmen. In meinem Fall habe ich mich dafĂŒr entschieden, Karriere und Familienleben dem Studium vorzuziehen.

Gibt es zusÀtzliche Ausbildungsprogramme?

Zertifikate sind mit Sicherheit wichtiger als StudienabschlĂŒsse. Ich persönlich konzentriere mich als AWS DevOps/Platform Engineer auf diese Plattform und mache eine Zertifizierung in diesem Bereich. Die meisten großen Cloud-Anbieter (wenn nicht sogar alle) bieten Zertifizierungswege an. Zertifikate sind sehr wichtig, vor allem, wenn man als Berater arbeiten will – sehr oft werden Unternehmen, die eng mit AWS zusammenarbeiten, von AWS dazu gedrĂ€ngt, sich zertifizierte Partner zu suchen, um ihre Ziele zu erreichen. Das ist nicht nur aus kommerzieller Sicht sinnvoll – die Wahl zertifizierter Entwickler gibt dem Cloud-Anbieter die Gewissheit, dass er die Ressourcen vernĂŒnftig nutzt und entsprechend den Best Practices plant. Ein zufriedener Kunde bleibt mit hoher Wahrscheinlichkeit bei seinem Cloud-Anbieter. Die meisten “Misserfolgsgeschichten”, die ich gelesen oder sogar gesehen habe, waren auf eine schlechte Implementierung und ein unzureichendes VerstĂ€ndnis der in Anspruch genommenen Dienste zurĂŒckzufĂŒhren.

Welche Kompetenzen und Fertigkeiten gibt es an Deinen Job?

Die Menge der erforderlichen FĂ€higkeiten hĂ€ngt in der Regel von der jeweiligen Rolle ab (welcher Cloud-Anbieter, welche Programmiersprachen, welche Tools). Im Allgemeinen gehören jedoch mindestens eine der wichtigsten Programmiersprachen, die sich leicht in die jeweilige Cloud integrieren lassen (im Falle von AWS in der Regel Java oder Node.js), Erfahrung mit Tools fĂŒr das Infrastrukturmanagement (fĂŒr AWS – in den meisten FĂ€llen CloudFormation oder Terraform) und Automatisierungstools (hier hĂ€ngt es stark von der Unternehmenspolitik ab – manchmal ist es möglich, AWS-Dienste zu nutzen, manchmal nutzt das Unternehmen einen Drittanbieter-Service, manche verwenden unternehmenseigene Lösungen). Automatisierung bedeutet auch die Integration mit Build-Tools wie Maven oder NPM, Test-Frameworks und Tools zur QualitĂ€tskontrolle. Zumindest ein gewisses Grundwissen ĂŒber Sicherheit ist ebenfalls erforderlich.

Auch Softskills spielen eine wichtige Rolle, denn obwohl es sich bei der Rolle des Platform Engineer hauptsĂ€chlich um eine technische Rolle handelt, muss er, wie bereits erwĂ€hnt, mit verschiedenen Personen auf verschiedenen Ebenen zusammenarbeiten – von der Verfeinerung der Anforderungen bis hin zur Anleitung und Betreuung.

Was ist Deine grundsĂ€tzliche Motivation fĂŒr den Job

Ich bin computerbegeistert, seit ich im Alter von 3 Jahren meinen ersten Computer bekommen habe. Mein Beruf ist mein Hobby – diese Aufgabe kombiniert die meisten Aspekte, die ich in meiner Freizeit immer gerne gemacht habe, mit den neuesten Industriestandards.

Wenn Du nicht Platform Engineer wĂ€rst, wĂŒrdest Du… 

…viel mehr freie Zeit haben :).