Wie Cloud Computing die IT-Welt beeinflusst
Die Cloud und Cloud Computing sind nicht mehr wegzudenken. Nicht erst seit der Coronakrise und dem Zwangs-Homeoffice für viele Personen von Unternehmen, Behörden bis hin zu Schüler und Studenten. In diesem Artikel wollen wir auf die Geschichte der Cloud eingehen und die Zukunft beleuchten.
Die Rolle der IT innerhalb eines Unternehmens hat sich in ihrer kurzen Existenz bereits drastisch verändert. Die meisten IT-Anwender wissen wahrscheinlich nicht allzu viel über die IT-Abteilung, ausser dass es die Leute sind, die ab und zu am Arbeitsplatz vorbeikommen, um Probleme zu beheben oder Software zu installieren. Viele IT-Organisationen sehen sich auch heute noch als Infrastrukturdienstleister, der für die Verwaltung und Pflege des Unternehmenseigentums (Hardware) verantwortlich ist.
Die Evolution, in der sich viele IT-Organisationen befinden, ist die Transformation vom Infrastruktur- zum Serviceprovider. Die IT wird zum Dienstleister, die interne und externe Services kombiniert, für die Nutzer bereitstellt und somit einen Mehrwert schafft. Die Bedürfnisse der Anwender rücken ins Zentrum. Dabei kann die IT-Organisation evaluieren, welche Services sie selbst erbringen und welche sie einkaufen und weiterverkaufen möchte.
Die Konzentration auf den Kundennutzen bietet auch die Chance, das eigene Business durch externe Innovationen zu unterstützen: Egal ob die Digitalisierung beschleunigt oder die Effizienz verbessert werden kann – die IT ist zum Innovationstreiber Nummer eins geworden. Und eine der grössten Innovationen innerhalb der IT ist das Cloud Computing.
Warum sollte man auf Cloud Computing setzen?
Wer sich bereits in der Vergangenheit "Cloud-ready" gemacht hat, Services aus der Cloud bezieht und damit den Grundstein für Flexibilität, Geschwindigkeit und Standortunabhängigkeit gelegt hat, wird durch Krisen wie das Coronavirus weit weniger hart getroffen als unvorbereitete Unternehmen.
Nicht erst seit der Pandemie und dem daraus resultierenden Zwangs-Homeoffice ist die Cloud endgültig zum Standard geworden. Die Vorteile von Cloud Computing wie etwa die Standardisierung der Sicherheitsmassnahmen und die flexible und selbstständige Bereitstellung kompensieren dabei die Nachteile und Risiken mittlerweile bei sehr vielen Unternehmen.
Cloud-Services erhöhen die Agilität, Flexibilität und Zusammenarbeit zwischen Abteilungen. Sie sind hochgradig standardisiert, was zu positiven Skaleneffekten und gesteigerter Effizienz führt. Das Expertenwissen eines Cloud-Anbieters oder Managed Services Providers und die Zeit und Kosten, die dadurch eingespart werden können, ermöglichen den Fokus auf Kernkompetenzen.
Die Cloud ermöglicht Automatisierung (Infrastructure-as-Code), die Verwendung von Standarddiensten zur Abstraktion von Komplexität (Abstraktionsschichten mit klarer API) und eine kosteneffiziente und schlanke Arbeitsweise. Die Cloud unterstützt Teams beim gemeinsamen Ziel der kontinuierlichen Verbesserung (Continuous Improvement). Die Cloud hat sich von einer oft belächelten neuen Technologie zu einem Paradigmenwechsel entwickelt. Und nicht nur in der Wirtschaft, fast überall hat (notgedrungen) ein Umdenken stattgefunden. Mittlerweile sind Kollaborations- und Video-Tools auch in Schulen erlaubt, damit Schüler und Lehrer remote in Verbindung bleiben können.
Risiken und Herausforderungen des Cloud Computing
Oft genannte Cloud-Risiken wie Sicherheit, Datenschutz, Anbieterabhängigkeit und Kostenunsicherheit gelten nach wie vor, wie bei jedem Outsourcing eines Services. Die grösste Herausforderung der Cloud-Adoption liegt jedoch am Menschen selbst und nicht an Tools oder Prozessen.
Traditionelle IT-Organisationen stehen vor grossen Herausforderungen, die über die eigentliche Einführung von Cloud-Services weit hinausgehen. Dazu zählen unter anderem die Transformation von der (internen) Infrastruktur zum Dienstleister, Beschaffung statt Produktion von Standardleistungen, das Kombinieren und Anreichern von Dienstleistungen mit IT-Governance, Sicherheit, Controlling und nicht zuletzt die Agilität und Optimierung der Markteinführungszeit.
Das Ziel: weg von manuell aufgesetzten Servern hin zu Serverless Computing, zum Management von Kubernetes-Clustern mit einer Vielzahl von Software-Containern, die einfach reproduzierbar und je nach Bedarf im Selfservice genutzt werden können. Spezialisierte Cloud- und Managed Service Provider nehmen Aufgaben ab, damit man sich auf das Entwickeln der Applikation konzentrieren kann. Durch Anwendung des Capability Maturity Models (CMMI) kann die bestehende Qualität eines Prozesses wie der Softwareentwicklungs- und der Betriebsprozess beurteilt werden und Massnahmen zur Verbesserung abgeleitet werden.Um auf ein hohes Qualitätsniveau (CMMI-Level-5-"Optimierung") zu kommen, müssen Services standardisiert werden. Dies bedeutet die Schaffung einer standardisierten Schnittstelle, die Nutzer und Anbieter des Services ermöglicht, unabhängig voneinander Services zu optimieren. Die üblichen Cloud-Schnittstellen der Infrastructure-as-a-Service (IaaS, am Hypervisor) und Plattform-as-a-Service beziehungsweise Container-as-a-Service (PaaS beziehungsweise CaaS, an der Runtime) bieten sich hier natürlich an.
Was bringt DevOps im Zusammenhang mit Cloud Computing?
Durch wachsende Anforderungen hat sich die Cloud stetig weiterentwickelt und disruptive Technologien wie etwa Software-Container und Microservices hervorgebracht. Klassische Monolithen werden durch eine flexible Architektur auf Basis von Microservices ersetzt, die als Container deployt werden. Mehrere Entwicklerteams können agiler parallel arbeiten, Deployment-Prozesse besser automatisieren und die Release-Zyklen drastisch verkürzen und müssen statt Technologie- und Releasemanagement nur noch API-Definitionen koordinieren.
Diese Weiterentwicklungen des Cloud Computing wären kaum ohne den DevOps-Ansatz möglich gewesen. DevOps ist die Philosophie, in der Softwareentwicklung und Betrieb Hand in Hand arbeiten, um den Kunden kontinuierlich neue Funktionen, Fehlerbehebungen und Verbesserungen immer schneller liefern zu können.
Was gibt es sonst noch zu beachten?
Weiterentwicklungen der DevOps-Philosophie wie etwa DevSecOps und GitOps verleihen zum Beispiel der Sicherheit einen grösseren Stellenwert. DevSecOps setzt "Sec", also die Security, auf die gleiche wichtige Stufe wie "Dev" und "Ops". DevSecOps schliesst also den Themenkomplex Anwendungssicherheit in den DevOps-Prozess mit ein.
Durch die digitale Transformation werden traditionelle monolithische Applikationen zunehmend durch flexiblere Systeme ersetzt. Container und DevOps sind das Fundament der effizienten Nutzung der Cloud. Dieses Zusammenspiel ermöglicht Cloud Native Computing und Cloud Native Development. Zu diesem Überthema hat sich die Cloud Native Computing Foundation (CNCF) etabliert, die offene Plattformtechnologien wie etwa Kubernetes vorantreibt.
Die Automatisierung des Software-Deployment- und Betriebsprozesses bringt nicht nur Vorteile im Entwicklungs- sowie Testingprozess und damit in der Softwarequalität, sondern abstrahiert durch den Einsatz von quelloffenen Standards wie Docker-Container und Tools wie Kubernetes auch die Unterschiede verschiedener Infrastruktur. Damit kann ein Softwareunternehmen flexibel auf Anforderungen reagieren, egal ob die Applikation On-Premise oder in einer Cloud laufen soll.
Diese Entwicklung und die Vorteile von Cloud, DevOps und Open Source machen auch vor Spezialbranchen wie der Schweizer Banking- und Versicherungsbranche oder Medtech nicht halt. Der zunehmende Reifegrad der Cloud wird den Markt auch zukünftig weiter verändern und Innovationen ermöglichen.