Immer wieder stelle ich fest, dass der gemeine Web-Entwickler nicht über seinen Tellerrand schaut und eigentlich keine Ahnung davon hat, was denn passiert, sobald er sein Werk über FTP auf den gemeinen Webhoster hochlädt.
Und im ersten Absatz sind schon diverse Fehler zu diesem Thema enthalten. Aber erstmal von vorn.
Warum wir DevOps brauchen, zeigt eigentlich dieser schöne Witz:
Ein Programmierer stirbt und wird Petrus vorgeführt.
Dieser meint: „Du warst kein guter Mann, aber auch nicht wirklich schlecht. Du darfst dir selber aussuchen, ob du in den Himmel oder die Hölle kommst!“Darauf meint der Programmierer: „OK, zeig mir den Himmel.“
Petrus führt ihn zu einem riesigen Raum, randvoll mit den schnellsten Servern, neuester Hardware, den besten Workstations.
„Tja“, meint Petrus, „du wirst hier programmieren.“
„Und wie sieht die Hölle aus?“, fragt der Programmierer.
Petrus antwortet: „Das ist auch hier, aber dann bist du der Admin.“
Da zeigt sich schon direkt, dass der gemeine Admin denkt, dass Coder immer ineffizient programmiert und der Admin alles fixen muss. Die Realität gibt dem Admin sogar oft Recht, aber sie hat inzwischen einen Beruf erschaffen, der einen Hybrid zwischen den beiden Gruppen darstellt: Den DevOp.
Oben erwähnte ich, dass ein typischer Web-Developer seine Werke per FTP hochlädt - das ist das falsche Vorgehen. Denn als DevOp wüsste er, dass er sein Werk deployen möchte. In skalierbar, denn es soll vielleicht sogar auf mehr als einem Server laufen.
Ich höre dann immer gern die Antwort: „Aber mein Blog hat gar nicht so viele Besucher, das muss nur auf einem Server laufen“. Klar, wenn man immer brav in der Tellermitte bleibt, kann man das behaupten, hilft aber nicht, wenn es doch mal plötzlich anders kommt und man versehentlich einen sehr beliebten Artikel schreibt. Da kann man dann versuchen, vertikal zu skalieren. Viel Spaß dabei. Und wer jetzt denkt: „Was meint der bloß mit ‘vertikal skalieren’?“, darf gern aufhören zu lesen. Dieser Post ist nicht für dich gedacht.
Dies ist nur ein Beispiel, in dem man sich als Web-Developer weiterentwickeln muss, um ein DevOp zu werden. Was man aber, glaube ich zumindest, grundsätzlich zu dem Job sagen kann, ist, dass man sein Projekt, welches hoffentlich auch weiterentwickelt wird, vom Anfang der Entwicklung bis zur Wartung auf dem Server komplett betreuen können sollte. Dazu gehört weiter:
- Deployments verwalten (hatten wir schon)
- Logfiles auswerten
- Monitoring einrichten und auswerten können
- Server betreuen (bei der Einrichtung darf gerne ein Admin helfen, aber wenn mal Software kaputt geht, sollte der DevOp wissen, was er da vor sich hat)
- skalierbare Anwendungen programmieren (du weisst, was ich meine, sobald du an dem Punkt bist)
- Messungen durchführen und auswerten (miss alles, was du messen kannst und wo es Sinn ergibt - Tipp: Miss dort, wo es Geld kostet oder Geld bringt, dann weisst du, was du noch alles messen willst)
- mehr als nur eine Programmiersprache können (man kann alle Probleme mit node.js lösen - sollte es aber nicht 🙂)
Die Liste ist keineswegs vollständig, da es natürlich immer darauf ankommt, was deine Anwendungen machen.
Als DevOp muss man sich immer im Klaren sein, dass man mit steigendem Wissen und Macht (du bekommst ja schließlich root-Zugriff 😉) auch mehr Verantwortung bekommt. Du musst also eventuell auch mal nachts um 3 Uhr aufstehen, um einen Server zu reparieren. Aber auch hier kannst du als DevOp wieder bestimmen, was du tust. Wenn du etwas nicht machen willst/kannst/sollst, dann lass es jemand Anderes machen.
Du kannst z.B. deine Server auslagern - dank der Amazon Web Services oder Microsofts Azure (und andere, je nachdem, wem man gerne misstraut) - kannst du deine Serverproblembehandlung auslagern und du kannst nachts gut schlafen. Dafür musst du für die Skalierung Automatismen schreiben, denn, und das sagt Google mit seiner Compute Engine: geh immer davon aus, dass die Maschine von jetzt auf gleich und ohne Vorwarnung weg ist. Aber ist ja nicht schlimm, denn du hast ja automatisiert, dass eine andere Instanz hochgefahren, eingerichtet und mit aktuellen Daten bespielt wird. Und während das passiert, kannst du dich gemütlich umdrehen, weiterschlafen und morgens im Monitoring sehen, dass alles geklappt hat.
Ach ja und als DevOp bekommst du geile Jobangebote - also schau über den Tellerrand und entwickel dich weiter!
Zusammenfassung (Anklicken zum Anzeigen)
Bitte hör auf, deine Aufmerksamkeitsspanne zu verkürzen, indem du ständig Kurzvideos schaust. Lies einfach den Text und lern wieder, zu verstehen. Nimm dir Zeit! Sonst bist du so dumm, wie die Menschen, die ich hier anspreche.
Hier gibt es keinen Kommentarbereich. Hast du etwas zu kommentieren? Dann blogge einfach selbst. Oder schreib darüber mit deinem Kommentar in einem sozialen Netzwerk deiner Wahl.