Passend für den Herbst, wo die Blätter die Farbe wechseln und die Vögel ihre langwierige Reise in den Süden antreten, migrieren also auch wir. Auch langsam. Auch sicher. Aber nicht analog (das haben wir zum Glück bereits 2018 hinter uns gebracht), sondern rein digital.
*****
Was ist eigentlich Migration? Während es für die meisten es die Ab- und Zuwanderung von Menschen bedeuten dürfte und für einige wenige Exemplare auch die altersbedingte Wanderung der Kopfhaare in Richtung Ohren und Nase, bedeutet es für uns seit einigen Monaten die Übersiedelung von eguana SCALES, genauer gesagt von der alten Version unseres Softwarestacks hin zur aktuellen.
Im Gegensatz zu den Zugvögeln, die zwischen Ihren Wohnsitzen pendeln, verhält es sich bei SCALES mehr wie mit einem Einsiedlerkrebs, der seiner Muschel entwachsen ist und in ein größeres, passenderes Quartier zieht.
„Alter Code fängt irgendwann zu stinken an“
Um unser Datenmanagementsystem SCALES am Laufen zu halten, kommen verschiedene Softwarebibliotheken zum Einsatz, die von Zeit zu Zeit im Rahmen von neuen Versionen Änderungen und Verbesserungen integrieren und Fehler beheben. Hinzukommt, “dass nur die aktuellsten Versionen aktiv weiterentwickelt werden”, so Joachim: „Wenn man eine LTS (long term support) Version verwendet, ist irgendwann der Zeitpunkt gekommen, wo sie eingestellt wird. Dann verwendet man altes Zeug, das nicht mehr weiterentwickelt wird. Das heißt also: Immer weiter, nie stehenbleiben, auch wenn es zach und ressourcenintensiv ist.” Denn, um aus Weniger schlecht programmieren zu zitieren, “alter Code fängt irgendwann von selbst zu stinken an.” Keine Sorge, so lange wird bei uns natürlich nie gewartet. Deshalb auch die Migration, um immer am aktuellen Stand der Technik zu bleiben.
So auch Ember, ein Javascript-Framework, das mittlerweile bei Version 5 angelangt ist und auch von LinkedIn und Netflix verwendet wird. “Es kommt was Neues dazu, Altes wird aus- und verbessert, dadurch kann sich sehr viel ändern von einer Version auf die Nächste. So auch bei Ember JS. Mit einer neuen Version wurden z.B. neue Glimmer Klassen eingeführt und die Syntax wurde umgestellt”, um mit unserem Entwickler Franz zu sprechen. Damit SCALES auch in Zukunft reibungslos läuft, aktualisieren wir nun unseren Code und bauen alle Änderungen ein. Man könne es sich so vorstellen: “Wir versuchen, deinen alten Fiat Multipla aufzumotzen. Neue Felgen, Zündkerzen, neuer Kolbenringsatz, vielleicht ein Turbo noch dazu und einmal das Öl wechseln. Damit es danach wieder schnurrt, wie ein Kätzchen, und sich nicht anhört, als würde er gleich absterben.” Charmant.
Man könne sich die Übersiedlung vorstellen wie einen Hausbau, so Joachim, der das Projekt Migration von Anfang an begleitet hat. Das ursprüngliche Haus aus Holz soll durch ein gleichgroßes Haus aus Ziegel und Beton ersetzt werden – die neue Version eben, da Holz als Baustoff verwittert und nicht mehr unterstützt wird. Baustoff und Bauweise sind eine andere, “aber im Endeffekt habe ich dann wieder ‘nur’ das gleiche wie vorher: Terrasse, Balkon, schöne Zimmer und ein Dach über dem Kopf”, erklärt er.
Update im Hintergrund
Von den Umbauten und Updates bekommen die User nichts mit, denn die Übersiedelung, die sich mittlerweile in den letzten Zügen befindet, läuft im Hintergrund ab. “Es wird kleinere Designänderungen und einen großen Geschwindigskeitsfortschritt geben”, freut sich Head of Development Flo. “Wie groß der Geschwindgkeitsgewinn sein wird, werden wir aber erst dann sehen, wenn der letzte Teil migriert und alle externen Pakete aktualisiert sind. Wir sind aber zuversichtlich, dass der Performanceboost mindestens so groß wie beim ersten Teil der Updates (letztes Jahr) wird.”
Ein teilweise neues Interface und neue Features sollen die Bedienung von SCALES benutzerfreundlicher machen, ohne aufzufallen. Ziel ist ein “schnelleres und schöneres SCALES, in dem wir auf Wünsche der Kunden noch besser reagieren können”, so Pascal.
Ende in Sicht
Wann es so weit sein wird?
Die Übersiedelung läuft bereits – und ist sehr viel langwieriger als ursprünglich gehofft. “Zu Beginn unserer Migrationsbemühungen dachten Joachim und ich, dass wir den ersten Teil automatisiert mittels Updatetools innerhalb von zwei Wochen erledigt haben. Nach 19 Monaten hat sich herausgestellt, dass dem nicht so ist”, gibt Flo zu. Mittlerweile arbeiten fünf Mitarbeiter zumindest teilweise an der Migration.
“Ich würde es wieder so machen”, meint Joachim, “das ganze Projekt komplett durchpflügen, jeden Teil anschauen, Fehler finden, verstehen, was passiert, neu machen, besser machen. Sich durch den ganzen alten Code durchwühlen und alles im frischen Glanz erstrahlen lassen. Ich habe die Möglichkeit, mir jeden Teil anzusehen und zu verstehen, und ich kenne dann das ganze System.”
Langsam, aber sicher ist ein Ende in Sicht. “Wir hoffen, noch vor Ende des Jahres fertig zu werden. Derweilen liegen wir gut im Kurs”, so Pascal. Es liegen aber dennoch noch einige Wochen Arbeit vor unseren Entwicklern.
Dass es währenddessen immer wieder mal den einen oder anderen Faux-Pas gegeben hat, wollen wir euch natürlich nicht verschweigen (offene Fehlerkultur und so). So hat etwa Franz seinen eigenen User-Account gesperrt, und Pascal “aus Versehen Core-Component-Changes eingebaut, die die Überarbeitungen von unserem Head Developer Flo überschrieben haben, wodurch manche unserer Eingabe-Felder nicht mehr funktioniert haben.” Upps – aber solange nichts Schlimmeres passiert!
Und natürlich gab es auch Höhepunkt, etwa, “als es ‚Klick‘ gemacht hat und ich die Matrix, aus der Scales besteht, endlich lesen konnte” (Pascal) oder “dass ich nicht jede Woche weinend eingeschlafen bin 😊“ (Franz). Zumindest sein Humor hat ihn noch nicht verlassen.
*****
Mit der Übersiedelung ist übrigens auch eine neue Optik einhergegangen! Wer mehr darüber wissen will, liest am besten unseren Quartalsblog: