Cyberbedrohungen
Die Cloud als Spielwiese für Entwickler
Für Entwickler ist die Cloud eine Spielwiese, auf der sie innovative Apps und Services ausprobieren wollen. Doch was tun, damit dies für Unternehmen nicht aus dem Ruder läuft? Governance mit Leitplanken für die Architektur ist hier essenziell.
Ich denke, der konkrete Fall einer größeren Versicherung kann das Thema gut veranschaulichen. In einem meiner Gespräche mit dem CIO ging es darum, wie sich das Unternehmen in Zukunft am Markt differenzieren will. Neben den klassischen Problemen im Umfeld, suchte die Organisation neue Mittel zur Kundenbindung. Die Differenzierung der Wahrnehmung bei Versicherten und potenziellen Versicherungsnehmern sollte hier durch spannende mobile Apps erfolgen, die das Image vom angestaubten Versicherungsanbieter aufpolieren und als attraktiven Partner für den Alltag neu erleben lassen.
Also wurden Konzepte für mobile Apps entwickelt und mehrere Scrum-Teams begannen, um die Wette zu programmieren und Use-Cases, wie den digitalen Begleiter auf dem Heimweg, die Suche nach dem nächsten freien Parkplatz oder die Vermittlung des nächsten Arzttermins zu erstellen. Das war 2020, bevor diese Apps ihren Weg in unseren Alltag fanden. Nicht alle Themen trafen das genaue Zielumfeld der Versicherung. Aber „Weiterdenken“ ist die Devise, und so ging es auch darum, sich nicht nur dorthin zu bewegen, wo die Kunden es ohnehin erwarten.
Mit diesem „Digitalisierungsfeuer“ und der Freiheit der Entwicklung wurden also die unterschiedlichen Use-Cases auf Basis von Cloud-Diensten bei einem Hyperscaler auf den Weg gebracht. Bemerkenswert war jedoch, dass beim ersten Termin die Frage nach einer Art Architektur-Governance unbeantwortet blieb. Da ich mit diesem Versicherer schon früher über Initiativen im Rechenzentrumsumfeld und eine potenzielle Rechenzentrumstransformation in Kontakt war, war die Architekturdiskussion und auch deren Bedeutung bereits bekannt. Dennoch schien man der Meinung zu sein, Architektur und Governance hindern die Entwickler in ihrer Produktivität und Effizienz -- sie hatten also freie Wahl bei der Auswahl der Cloud-Dienste und Services, die sie verwendeten.
Ohne Leitplanken in den Cloud-Sprawl
Welches sind nun die potenziellen Auswirkungen für IT-Entscheider, wenn keine Architektur-Governance eingeführt wird? Die Governance ist in etwa die Leitplanke, die vorgibt, was an Services verwendet werden darf und was ggfs. bewusst nicht genutzt werden will.
Angenommen drei Scrum-Teams entwickeln eifrig und gesteuert von drei Product Ownern ihre unterschiedlichen Applikationen. Ohne direkte Abstimmung – es sind ja drei verschiedene Projekte – kommt es leicht dazu, dass die Teams unterschiedliche Programmiersprachen verwenden, die Auswahl der Cloud-Services variiert bei Datenbanken, Message-Busses, Notification Services, Auswahl eines oder mehrere Content-Distribution Services. Immerhin ist alles möglich, und warum sollte man nicht alle Varianten ausschöpfen? So beginnt der Wildwuchs in der Cloud. Diese Form des Cloud-Sprawls mag etwas überzeichnet scheinen, dennoch ist es eine reale Situation, getrieben von einem hohen Durchsatz an Releases (Velocity).
Ein anderer betroffener CIO fasste die Folgen so zusammen: „In den vergangenen zwei Jahren haben wir den Entwicklern völlig freie Hand gelassen bei ihrer Auswahl der Services. Das Ergebnis ist eine sechsstellige Quartalsrechnung von unserem Hyperscaler, obwohl nur knapp ein Drittel unserer Projekte überhaupt produktiv im Einsatz sind. Die Aufstellung der Services wirkt wie ein Blumenstrauß - hübsch anzusehen, aber ob es den Zweck erfüllt?“ Im eigenen Rechenzentrum hat man zuvor unter großem (Kosten-) Druck konsolidiert und rationalisiert, diese Prinzipien aber auf dem Weg in die Cloud über Bord geworfen.
Mit der heutigen Erfahrung sollte auch nicht unerwähnt bleiben, dass jedes Tool, jeder Service, jede Komponente neben den Mehrwerten durch Funktionalität natürlich ein individuelles Risiko mit sich bringt, dass es zu bewerten und kontinuierlich zu überwachen gilt. Die digitale Angriffsfläche wächst also mit dem sprichwörtlichen Blumenstrauß an Technologien, die zum Einsatz kommen.
Kann man sagen „Er war’s“?
Zu gern stellt man nun die Schuldfrage. Verständlicherweise nutzen Entwickler und Product Owner, wenn sie freie Hand haben, das, was sie kennen, mögen und das, von dem sie wissen, dass sie in kurzer Zeit zu einem brauchbaren Ziel kommen. Der Betrieb der Lösung steht für den fokussierten Entwickler nicht in erster Linie im Blickwinkel.
Architektur und Governance spielen hier die übergeordnete Rolle und sollen auch die Möglichkeit des Betreibens, Prozesse und Sicherheit der Lösung als Aspekte in die Produktentwicklung einfließen lassen. Als Architekt möchte ich die Produktivität nicht einschränken, aber die Auswahl von Services standardisieren. Dies dient dem Zweck, mit möglichst geringem Ressourceneinsatz heute und in Zukunft den operativen Betrieb sicherzustellen und dort, wo möglich, Synergien zu schaffen. Dies bedeutet nicht, Innovationen nicht zu nutzen – es heißt nur, dass die Architekten zentrale Leitplanken vorgeben, in denen sie sich bewegen. Die richtige Lösung zum richtigen Zeitpunkt.
Die Cloud als Spielwiese, Produktion ist aber ernst!
Die Cloud ist eine Spielwiese – die Cloud ist das Rechenzentrum, das Sie immer wollten. Volle Service-Auswahl, umfassende Angebote und Fähigkeiten, die man im eigenen Rechenzentrum nur unter massivem Zeit- und Geldaufwand in diesem Umfang aufbauen könnte, wenn überhaupt.
Entwicklern sollten ursprünglich keine Grenzen gesetzt werden, aber Leitplanken müssen vorgegeben sein. Das Sinnvolle sollte eruiert und besprochen werden – aber eine Governance für Architektur und Entwicklung ist am Ende unerlässlich, um Wildwuchs zu vermeiden. Während es gern eine Bühne für Innovation geben kann, auf der Experimente gemacht werden, sollte in der Pipeline auf dem Weg durch Test / QA in die Produktion nur das geschickt werden, von dem man sicher ist, dass es auch betrieben werden kann.
Begleitend zu diesen Prozessen gilt es, die Sicherheit nicht außer Acht zu lassen. Vor der Ausführung mit Code-Analyse, Image Scanning und IaC (Infrastructure as Code) Template Analyse, während der Ausführung, in Form von Verhaltens-Überwachung und Scanning und natürlich auch durch Scanning der Kommunikation / Requests. Dieses Thema ist mir aber einen gesonderten Post wert zu unserem Trend Micro Cloud One Security Offering. Auch hier gilt es die Cloud Betreiber und Applikations-Entwickler nicht zu behindern, sondern durch brauchbaren Input in ihrer Tätigkeit zu unterstützen.