Kolumne: Stropek as a Service

Die Sicht auf Cloud versus On-Premises wird auf den Kopf gestellt
Keine Kommentare

Das gängige Paradigma in den frühen Jahren der Cloud war, dass die Cloud unsicher, unberechenbar (z. B. hinsichtlich der Kosten) und unkontrollierbar ist. Die Server im eigenen Rechnerraum waren greifbar. Die Tür des Rechnerraums konnte man persönlich absperren, und das vermittelte ein Gefühl von Sicherheit.

Meine berufliche Arbeit ist schon seit fast einem Jahrzehnt durch Cloud-Computing geprägt. In den ersten Jahren war der Gegenwind speziell bei uns in Europa massiv. Der Kontrollverlust in der Cloud wäre viel zu groß, der Datenschutz von US-Firmen wie Microsoft im Vergleich zur EU ein Skandal, das Außerhausgeben von IT in eine Cloud, in die man keinerlei Einblick hat, an der Grenze zur Fahrlässigkeit. Die Liste an Firmen, die an der Cloud von Anfang an interessiert waren, bestand zumindest in meinem beruflichen Umfeld aus wenigen Unternehmen, die sich bewusst durch Technologie differenzieren. Es dominierten die Firmen, die mir mit stolzgeschwellter Brust von ihrer „No Cloud“-Strategie berichteten.

Das gängige Paradigma in den frühen Jahren der Cloud war also, dass die Cloud unsicher, unberechenbar (z. B. hinsichtlich der Kosten) und unkontrollierbar ist. Die Server im eigenen Rechnerraum waren greifbar. Die Tür des Rechnerraums konnte man persönlich absperren, und das vermittelte ein Gefühl von Sicherheit.

Die Vorteile beginnen zu überzeugen

In den letzten zwei Jahren hat sich die Meinung stark gewandelt. Die großen Cloud-Provider haben bewiesen, dass ihre Dienste langfristig stabil laufen. SaaS-Anbieter wie wir, die konsequent auf PaaS (Platform as a Service) und Serverless Computing setzen, berichten von enormen Kostenvorteilen angesichts stark reduzierter Administrationsaufgaben. Die allgemein verfügbare Rechenleistung in der Cloud hat ein Niveau erreicht, das es in der Praxis selbst ohne teure langfristige Verträge erlaubt, ad hoc je nach Bedarf die zugrunde liegende IT-Infrastruktur zu skalieren und damit die Betriebskosten der tatsächlichen Nutzung anzupassen.

Diese Vorteile führten dazu, dass jedes Softwareunternehmen, mit dem ich in den letzten zwei Jahren als Berater in Kontakt war, Cloud-basierende SaaS-Angebote auf der Roadmap hat und die Cloud aktiv für gewisse Anwendungsfälle nutzt. Eine Cloud-First- oder Cloud-only-Strategie ist aber immer noch selten. Ich höre häufig, dass man Kunden die Wahl bieten möchte, der Markt zum Großteil noch nicht bereit für die Cloud sei, man zu viele Kunden vor den Kopf stoßen würde, man Lock-in-Effekte auf jeden Fall vermeiden wolle.

Paradigmenwechsel: Cloud ist führend

Wenn ich heute mit Kunden Workshops zum Thema Softwarearchitektur abhalte oder auf Konferenzen über DevOps Best Practices spreche, nehme ich mehr und mehr eine Änderung wahr. Keine Rede mehr von Stolz über No Cloud, stattdessen entschuldigende Erklärungen, dass man moderne Softwareentwicklungstechniken wie Microservices nicht konsequent nutzen kann, weil man auch lokale Installationen unterstützen muss. Empfehlungen für den sicheren Betrieb werden bewusst zur Seite geschoben, weil sie im eigenen Rechenzentrum mit den vorhandenen Ressourcen nicht umsetzbar sind.

Es hat ein Paradigmenwechsel stattgefunden: Die Cloud wird in Hinblick auf Produktivität, Sicherheit und Stabilität als die führende Referenz wahrgenommen, die eigene IT hinkt hinterher und ist der sprichwörtliche Klotz am Bein. Ich möchte im Folgenden zwei Beispiele nennen, die den Wandel verdeutlichen.

Datensicherheit

Bei Datensicherheit geht es um die technische Sicherung, Erhaltung und Verfügbarkeit von Datenverarbeitungssystemen und der mit ihnen verarbeiteten Daten. Ziel ist es, dass Verlust oder Verfälschung von Daten sowie unberechtigte Einsichtnahmen durch Dritte verhindert werden. Welche Techniken, Technologien und Dienste bietet beispielsweise die Microsoft Azure Cloud, um Datensicherheit zu verbessern? Hier einige Beispiele:

  • Data in Transit wird verschlüsselt, egal ob im öffentlichen Internet oder in VPNs.
  • Verschlüsselung von Data at Rest ist bei vielen PaaS-Diensten ein Feature, das ganz einfach aktiviert werden kann (z. B. Azure Storage Service Encryption, Transparent Data Encryption for Azure SQL DB).
  • „Secrets“ (z. B. Passwörter, Crypto-Keys, API-Keys) werden nicht in Konfigurationsdateien, sondern über den Azure Key Vault in speziell zertifizierter Hardware gespeichert. Jeder Zugriff wird protokolliert und kann auditiert werden. Außerdem werden Secrets automatisch regelmäßig ausgetauscht (z. B. neu generierte starke Passwörter) oder erneuert (z. B. Zertifikate).
  • Cluster sind sowohl für die Datenspeicherung als auch für die Datenverarbeitung die Regel, nicht die Ausnahme. Je nach Sicherheitsbedarf können Cluster ohne großen Aufwand über mehrere Rechenzentren verteilt werden.
  • Die Automatisierung von Administrationsaufgaben wird durch entsprechende Dienste (z. B. Azure Automation) und APIs (Web-APIs und APIs für viele verschiedene Programmiersprachen) ermöglicht. Dadurch kann die Anzahl an Personen mit administrativen Rechten auf ein Minimum reduziert werden.
  • Für die Authentifizierung stehen Dienste (z. B. Azure Active Directory) zur Verfügung, die den neuesten Industriestandards (z. B. OpenID) entsprechen, bei denen Multi-Factor Authentication nur ein paar Klicks entfernt ist und die im Hintergrund Machine Learning und umfangreiche Heuristiken nutzen, um Angriffe zu erkennen.
  • Die Cloud bietet kostengünstige Datenspeicher an (z. B. Azure Storage), die sich ideal eignen, um umfangreiche Audit-Logs langfristig zu speichern. Sie sind die Grundlage für Nachforschungen in Hinblick auf versuchte oder erfolgreiche Angriffe.

Die meisten Administrationsteams, die auf On-Premises setzen, können wenige oder keine Pendants für die oben genannten Datensicherheitsmaßnahmen anbieten. Nur in sehr großen Unternehmen habe ich interne Angebote in diese Richtung gesehen. Dort scheitert es in der Praxis aber häufig am Zugang für die Entwicklungsteams. Dokumentation, organisatorische Maßnahmen und personelle Ressourcen fehlen, und daher werden gut gemeinte, interne Angebote nicht genutzt.

Kostenlos: Docker mit .NET auf einen Blick

Container unter Linux und Windows nutzen? Unser Cheatsheet zeigt Ihnen wie Sie: Container starten, analysieren und Docker.DotNet (in C#) verwenden. Jetzt kostenlos herunterladen!

Download for free

Am schlimmsten sieht es meiner Erfahrung nach bei Kunden aus, die Software kaufen und bei sich selbst betreiben, deren Kernkompetenz aber keinesfalls die IT ist. Ihr Fokus liegt auf der Reduktion der Betriebskosten (z. B. Server, Lizenzen, investierte Zeit für Systemadministration). Cluster, durchgängige Verschlüsselung, professionelle Verwaltung von Passwörtern, Machine Learning zur Erkennung von Angriffen? Fehlanzeige!

Das Paradigma verschiebt sich aber langsam. Früher hörte man oft, dass man das alles nicht bräuchte, weil ja eh alles im sicheren, lokalen Netzwerk wäre. Viele IT-Abteilungen wissen heute, dass das eine Ausrede ist. Datensicherheit könnte bei gleich hohen Investitionen in der Cloud besser gewährleistet werden. Die lokale IT hat Nachholbedarf und läuft der Cloud hinterher.

Softwarearchitektur

Microservices sind das momentan heißeste Architekturpattern. Es hat sich gezeigt, dass die Produktivität stark verbessert werden kann, wenn man autonome Teams relativ kleine Dienste entwickeln lässt und diese dann mit entsprechenden Werkzeugen (z. B. Workflowsystemen zur Serviceorchestrierung, API-Gateways) zu Gesamtsystemen zusammensetzt. Außerdem lässt sich ein Gesamtsystem aus autonomen Teilen mit klaren plattformunabhängigen Schnittstellen langfristig besser warten und weiterentwickeln. Wie sieht es in diesem Bereich in der Cloud am Beispiel von Azure aus?

  • PaaS-Dienste (z. B. Azure App Service, Azure Functions) erlauben es den Teams, im „Self-Service“ die für ihren Microservice notwendige Basisinfrastruktur zu provisionieren und zu verwalten. Das Mischen von Programmiersprachen und Plattformen (z. B. .NET, Java, Node.js, Windows, Linux) ist dabei kein Problem, da sich Microsoft um die Bereitstellung, Konfiguration und Wartung der Systemvoraussetzungen kümmert.
  • Wer auf Docker-Container setzen möchte, bekommt Container as a Service (z. B. Azure Container Instances, Kubernetes in Azure Container Service AKS). Entwicklungsteams können sich ganz auf ihren Code und das Bauen von Docker-Images konzentrieren. Administrationsaufgaben sind auf ein Minimum reduziert.
  • Für die Kommunikation der Microservices jenseits von HTTP stehen günstige, hoch verfügbare Dienste wie Azure Service Bus oder Azure Event Grid zur Verfügung.
  • PaaS-Dienste für API-Gateways (z. B. Azure API Management, Azure Functions Proxies) machen es leicht, verteilte Microservices zusammenzufassen, Kommunikationsprotokolle zu übersetzen oder die Zugriffsrechte auf die Detailservices zentral zu steuern.
  • In Sachen Datenspeicherung stellt Azure fertige PaaS-Dienste für NoSQL-Datenbanken (z. B. Azure Cosmos DB) und relationale Datenbanken (z. B. Azure SQL DB, Azure DB for PostgreSQL) zur Verfügung. Jeder Microservice kann die für den jeweiligen Zweck beste Datenspeicherungstechnik wählen.
  • Zur Überwachung und Optimierung können Microservices Log- und Telemetriedaten in fertigen PaaS-Diensten wie Application Insights oder Azure Log Analytics sammeln und auswerten.

Ich kann die mir bekannten Firmen, die ihren Softwareentwicklungsteams ähnlich fortschrittliche Basisdienste On-Premises anbieten können, an einer Hand abzählen. Softwarehersteller, die ganz klassisch Lizenzen verkaufen und ihre Software vor Ort beim Kunden installieren, vermeiden in der Regel ganz bewusst eine nennenswerte Aufteilung in heterogene Microservices, da die Kunden nicht in der Lage sind, die notwendige Basisinfrastruktur sicher und hoch verfügbar bereitzustellen.

Auch hier verändert sich das Paradigma. Entwicklungsteams sehen die Vorteile von Microservices, können diesen Weg aber nicht gehen. Die Voraussetzungen könnten sie unter den gegebenen Rahmenbedingungen (z. B. verfügbare Ressourcen, geforderte Projektdurchlaufzeiten) nur durch fertige PaaS-Dienste in der Cloud schaffen. Die Cloud wurde zur Messlatte, das selbst oder vom Kunden betriebene Rechenzentrum wird als Handicap gesehen.

Fazit

Die von modernem Cloud-Computing gebotene Funktionalität und Datensicherheit ist Lichtjahre weiter als das, was üblicherweise On-Premises machbar ist. Können die Cloud-Anbieter zaubern? Nein, der rasante Fortschritt ist das Ergebnis von Skaleneffekten und einem beinharten Konkurrenzkampf, der bei den Anbietern zu beeindruckender Innovationskraft führt. Selbst eingefleischte Cloud-Skeptiker erkennen, dass die Cloud nicht nur eine billige Betriebsumgebung für weniger wichtige Komponenten darstellt, sondern das Maß ist, an dem alles andere gemessen wird. Der Paradigmenwechsel ist vollzogen.

Lesen Sie alle Ausgaben der Kolumne „Stropek as a Service„!
In der Kolumne greift Rainer Stropek spannende Aspekte wie die Finanzierung, den Customer Lifetime Value, aber auch wichtige Themen wie Billing, Kundenbindung durch Qualität oder APIs auf – alles aus der Sicht eines Unternehmers, der seit 20 Jahren in der IT-Branche tätig ist und seit fünf Jahren intensive Erfahrungen mit SaaS gesammelt hat.
Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -