Zur Navigation Zur Suche Zum Inhalt
Kontakt

Cloud-Native Series 2: Kultur

Michael Ingold
noun_3_1200 x 600 px

Cloud-Native Apps starten im Kopf, oder besser: in Köpfen! In den Köpfen von Entwicklern, welche sich etwas zutrauen. Etwas ehrgeiziges. Etwas ungewöhnliches. Ob sie mit ihren Ideen erfolgreich sind liegt leider oft nicht an Ihnen, sondern an der Kultur, welche Sie umgibt. Ehrgeizige Ideen verdienen Applaus. Die Zeit für Warnungen, Kritik und Ungewissheit bleibt genug. Herrscht im Unternehmen eine unterstützende oder verhindernde Kultur?

Das machen wir schon immer so

Unsere Unternehmen haben eine Geschichte. Auch wir jungspunden Informatikfirmen haben eine Geschichte. Wir haben unsere Erfahrungen gemacht. Haben Dinge angefangen und sind fehlgeschlagen. Dinge versucht und die nicht funktionierten. Uns wurde die Revolution von Technologien versprochen, trotzdem hatten wir noch dieselben Probleme. Unsere Erfahrung hat uns wachsam gemacht. Wachsam und Misstrauisch! Wir beäugen neue Technologien mit hochgezogenen Augenbrauen während wir uns insgeheim zureden: „Das muss erst noch den Test der Zeit bestehen, bevor ich auf den Zug aufspringe“. Hier ist unser Problem – so kommen wir zu spät und rechtfertigen unsere Untätigkeit mit simplen Floskeln.

So rufen wir also unsere begeistert ins Büro stürmenden, von Technologien schwärmenden (meist jungen) Software-Ingenieure zur Ruhe auf: Wir hätten schon einiges kommen und gehen sehen, das den Test der Zeit nicht bestand. Wir verstehen nicht, was diese jungen wilden Ingenieure von uns unterscheidet: Sie haben keine Angst. Sie sind ungebrannt von unausgereiften Technologien und bereit ihre Hände dreckig zu machen. Sie probieren nicht nur neue Technologien aus, sondern auch neue Architekturen, Vorgehensmodelle und Prinzipien.

Errungenschaften wie agile Vorgehensmethoden, Technologien wie Dokumentendatenbanken oder OS Virtualisierung (aka. Docker) – wo wären Sie ohne Firmen wie Twitter, welche die Limits des technisch möglichen nicht täglich ausloten würden. Ohne die jungen wilden Entwickler, welche bereit sind instabiles aus zu probieren, so verschwindend klein die Hoffnung auf Erfolg und so gross die Unsicherheit auch sein mag.

Die jungen Wilden

Viele IT-Unternehmen in Europa beklagen den Umstand, dass Sie kaum noch jungen talentierte Entwickler aus dem ohnehin schon trockenen Arbeitsmarkt für sich gewinnen können. Erstaunt geben Sie sich – die Bezahlung sei doch mehr als nur gut! Doch jungen Menschen spüren wer sie fördert und wer nur ihre Arbeitsleistung will. Sie brauchen kaum eine Stunde mit einem Personalverantwortlichen einer Firma – noch kürzer aber mit Ihrem zukünftigen Vorgesetzen – um zu spüren, was hinter der Fassade von Lohn, Stellung und Benefits wartet. Interpretiert wird dies oft als Arroganz, als zu anspruchsvoll werden Sie kritisiert. Dem genauen Beobachter der Branche wird aber klar – sie tun was wir alle tun – sie wollen in einer kurzlebigen Welt nicht riskieren, ausrangiert zu werden.

Auf der anderen Seite des Tisches erkennen wir unser Bedürfnis nach Erneuerung erst, wenn es zu spät ist. Zu oft sehe ich, wie wir Kunden Erweiterungen in ihrem System verkaufen, welche auf bereits sogar vom Hersteller verlassenen Technologien aufbaut. Wir auf der anderen Seite sehen den Handlungsbedarf erst, wenn es in der Regel zu spät ist. Beispiele sind, das Supportende von Windows XP oder die bald inexistente Unterstützung von x86 Code.

Erfolgreiche Unternehmen sehen Veränderung als Gewinn, und Bewegung (auch in falsche Richtungen) als wertvolle Erfahrung

Angewiesen wären wir auf Sie. Die nervigen, unerfahrenen, wilden Entwickler. Sie sind es welche unsere Organisation vorwärtstreiben, welche sonst eher zu Stillstand und Bewahrung tendieren, als zu Veränderung und Bewegung. Klar ist: Erfolgreiche Unternehmen sehen Veränderung als Gewinn, und bewerten Bewegung (auch in falsche Richtungen) als wertvoll. Milliarden Eltern rund um die Welt machen jedes Jahr die Erkenntnis, dass es nichts bringt ihre Kinder festzuhalten und ihnen zu sagen, was richtig und falsch ist. Oft merken Sie dabei, dass es auch anders geht als sie selbst getan hätten und dies nicht schlecht, sondern schlicht anders ist. Dieser Lektion verweigern wir uns auf den Management-Ebenen unserer Unternehmen, und Konzerne bis heute konsequent.

Keine Frage der Wahl

Unsere Kultur muss sich wandeln. In einer Firma wo Technologie- und Veränderungsfurcht herrschen, entstehen keine neuen Lösungen. Es entstehen alte Antworten auf neue Probleme, welche diese oft nicht lösen, sondern verstärken.

Im Englischen gibt es ein Wort, welches wir im Deutschen so nicht kennen: „Enabler“. Es beschriebt Menschen, deren Ziel es ist, anderen Ihren Erfolg zu ermöglichen. Sie tun dies nicht Ihrem eigenen Erfolg zu liebe, denn es sind selbstlose Taten ohne direkten Nutzen welche ihr Tun bestimmen. Werden wir zu Enabler nicht Verhinderer.

Technologiefurcht

Cloud-Native Apps – das werde ich in den folgenden Teilen dieser Serie aufzeigen – brauchen ein riesiges Umfeld aus Software für einfache Aufgaben wie Logging, Monitoring und eher schwierige neue Aufgaben wie Autoscaling, Orchestration, Metrics, SDNs etc. Wir können es uns nicht leisten Technologien aus Furcht zu verschliessen. Tun wir es trotzdem, bauen wir Dinge selbst, welche andere bereits für uns zur Reife gebracht hätten und verlieren dabei Zeit und Geld. Beides haben wir in der Regel nicht und können es uns daher nicht leisten sie zu verschwenden. Wir müssen Open-Source schätzen lernen, denn beste Software im Cloud-Native Umfeld die es gibt, sind OSS Projekte.

Wir können es uns nicht leisten Technologien aus Furcht zu verschliessen

In Frage stellen, was man zu wissen denkt…

Ich habe alles, was ich einmal über Applikationsentwicklung zu wissen dachte, wieder neu erlernen müssen. Primitive Dinge wie Fehlerbehandlung, oder Logging sind in hochskalierbaren Cloud-Applikationen so richtig komplex. Zu erwarten, dass einem die Nutzer sagen, wenn das System langsam wird, ist in der Cloud ein denkbar schlechter Ansatz. Netzwerke in der Cloud sind nicht die selben, wie wir es uns gewöhnt sind. Alles was ich dachte über IPv4 an Best-Pratices zu kennen (z.B NAT-ting) wird von IPv6 komplett umgekrempelt. Dokumentendatenbanken revolutionierten mein Verständnis im Bezug auf Persistenz und stellte im selben Zug meine festen Meinungen zu Normalisierung auf wackelige Beine. Verloren habe ich in diesem Prozess des Lernens absolut nichts! Oft denken wir, wenn wir etwas aufgeben, was wir bisher als unabdingbar annahmen (Datenbank-Transactions, Client-Applikationen, Normalisierungsformen etc.), wir würden etwas verlieren! Wie unsinnig: Erfahrungen sind etwas, was man nie verliert. Das schlimmste was man sich mit Neuem antun kann ist, seinen Horizont zu erweitern.

Wenn Sie gerade erst hier angekommen sind, könnte Sie eventuell auch der Einsteigsartikel in unsere Cloud-Native Serie interessieren! Wenn Sie diesen Teil nun gelesen haben – ich verspreche ich höre an diesem Punkt auf, über Soft-Faktoren zu sprechen, jetzt wird das Thema technischer:  Cloud-Native Series 2: Architektur in der Cloud!

Dieser Artikel ist Teil der Cloud-Native Serie:

  1. Intro: Das Ding mit den Cloud-Native Apps
  2. Entwickler-Kultur
  3. Architektur
  4. Logging & Tracing
  5. Metriken