Interviewfrage für DevOps Engineer

Wie würdest du einen von Hand konfigurierten Legacy-VM-Service in Container überführen?

Worauf der Interviewer abzielt, wie du deine Antwort aufbaust und ein gesprochenes Beispiel zum Anpassen.

Kurzantwort

Dokumentiere zuerst die Realität, denn niemand weiß, was alles auf einer langlebigen Kiste installiert ist. Erfass laufende Prozesse, Pakete, Config-Dateien, Cronjobs und ausgehende Abhängigkeiten und bau das als Dockerfile nach, statt das Disk-Image zu importieren. Lager lokalen State und Konfiguration aus, lass den Container parallel zur VM gegen gespiegelten oder geschatteten echten Traffic laufen und schalt schrittweise um, mit der VM als Rollback-Pfad.

Warum Interviewer das fragen

Migrationsfragen testen Pragmatismus. Der Interviewer will wissen, ob du einen Big-Bang-Rewrite versuchst oder einen inkrementellen Weg mit Rollback findest. Er will auch die unglamourösen Teile hören: Entdeckung undokumentierter Abhängigkeiten, lokaler State auf der Platte und Cronjobs, an die sich niemand erinnert, denn daran scheitern solche Projekte tatsächlich und nicht am Container-Build.

So baust du deine Antwort auf

  • Fang mit der Entdeckung an, was die Kiste tatsächlich tut.
  • Bau aus einem Dockerfile neu statt die Platte zu snapshotten.
  • Lager State, Config und geplante Jobs aus.
  • Lauf parallel und schalt um, mit der VM als Rollback.

Beispielantwort

Gesprochenes Beispiel, erste Person

Schritt eins ist Archäologie, denn eine Kiste, die seit vier Jahren läuft, macht Dinge, die niemand dokumentiert hat. Ich würde die laufenden Prozesse, die lauschenden Ports, die installierten Pakete, die Crontab, die Config-Dateien und vor allem die ausgehenden Verbindungen über eine Woche erfassen, denn das legt Abhängigkeiten offen, die kein Diagramm zeigt. Dann baue ich darauf basierend ein Dockerfile von Grund auf, statt die Platte zu importieren, denn das Image zu kopieren trägt nur das Chaos weiter und ich verliere den ganzen Sinn. Die harten Teile sind immer State und Konfiguration. Dateien, die auf lokale Platte geschrieben werden, müssen nach Object Storage oder auf ein Volume, Config, die in Dateien lebt, muss aus Environment oder einem Secrets Manager kommen, und Cronjobs müssen zu geplanten Jobs werden statt in einen langlaufenden Container gebacken zu sein. Dann lasse ich den Container neben der VM laufen, schatte echten Traffic oder nehme einen kleinen Prozentsatz, und vergleiche das Verhalten. Der Cutover ist schrittweise und die VM bleibt eingeschaltet, bis wir ein paar Wochen zufrieden waren, denn sie ist der einzige Rollback, der definitiv funktioniert.

Steht dieses Vorstellungsgespräch bald an? GhostPilot hört bei deinem Live-Call mit, erkennt die Frage in dem Moment, in dem sie gestellt wird, und bringt dir eine strukturierte Antwort in Echtzeit auf den Bildschirm. Probier es im nächsten Mock aus, oder hol dir einen $29 Session Pass, kein Abo, für den Ernstfall.

So funktioniert es

Nachfragen, mit denen du rechnen solltest

  • Wie findest du die undokumentierten Abhängigkeiten, bevor sie dich beißen?
  • Was machst du mit einem Prozess, der auf einen lokalen Dateipfad schreibt?
  • Wie gehst du mit den Cronjobs auf diesem Host um?

Weitere Fragen für DevOps Engineer

Dein Interviewer stellt seine eigene Version davon. Kopier deine echte Stellenbeschreibung in den kostenlosen Question Predictor und bekomm die 20 Fragen, die diese Rolle am wahrscheinlichsten stellt, samt dem, worauf jede wirklich abzielt.

Meine Fragen vorhersagen

Üb die harten Fragen, bevor sie gestellt werden

Trainier mit einem Live-Copiloten und geh dann vorbereitet rein. Ein $29 Session Pass bringt dich durch das Vorstellungsgespräch, ohne Abo und ohne Bindung.

GhostPilot holen