Was uns Corona über Cloud Computing lehrt

Lesezeit: 5 Min, veröffentlicht am 01.04.2020
Was uns Corona über Cloud Computing lehrt

In den 90er Jahren war das Internet das große neue unbekannte Ding. Es verhieß endlose Möglichkeiten. Allerdings wussten die wenigsten, wie diese Möglichkeiten genau aussehen sollten und was das für ihr Geschäft bedeutete. IBM hat es damals in einem Werbespot sehr treffend zusammengefasst. Einer der Gesprächspartner liest in der Zeitung, dass das Internet die Zukunft ist und man deshalb unbedingt ins Internet müssen. Allerdings steht in der Zeitung nicht warum.

Der Hype um das Thema Cloud Computing erinnert mittlerweile sehr stark an den Hype um das Internet in den 90er Jahren. Die meisten Unternehmen haben gehört oder gelesen, dass sie „in die Cloud müssen“, weil das die Zukunft sei.

Warum aber sollte ein Unternehmen mit seiner IT-Infrastruktur in die Cloud gehen? Ein sehr oft angeführter Grund ist, dass ein Unternehmen durch einen Wechsel in die Cloud Kosten sparen möchte. Es mietet Server bei einem der großen Public Cloud Provider (AWS, Google, Microsoft Azure) an und transferiert die Lösung dorthin. Allerdings macht sich dann in der Regel schnell Ernüchterung breit, weil die erwarteten Kostenersparnisse nicht eintreten.

Cloud Computing bedeutet Skalierung der Infrastruktur …

Einen Root Server bei einem klassischen Hoster zu mieten, kann um den Faktor fünf bis zehn günstiger sein, als sein Pendant in der Cloud. Warum das so ist, erschließt sich durch einen Vergleich der Preismodelle. Bei einem klassischen Hoster werden Server monatlich, quartalsweise oder für ein ganzes Jahr gemietet, die Public-Cloud-Anbieter rechnen minutengenau ab. Dieses Mehr an Flexibilität – jederzeit so viel Rechenzeit anfordern oder freigeben zu können, wie man möchte – führt zu einem Preisausschlag bei den Public-Cloud-Anbietern. Diese Flexibilität ist aber genau einer der maßgeblichen Vorteile von Cloud Computing. Die Infrastruktur lässt sich jederzeit beliebig skalieren. Was das bedeutet, führen uns die mit der Corona-Krise verbundenen Maßnahmen gerade eindrücklich vor Augen.

Bestimmte Geschäftsmodelle sind während dieser Krise unglaublich gefragt, z.B. Videokonferenzen, Video Streaming, eBooks, eCommerce. Würden die Anbieter dieser Dienste mit einer klassischen Infrastruktur (mglw. sogar in einem eigenen Rechenzentrum) arbeiten, hätten sie diese Infrastruktur so dimensioniert, dass sie die höchste Last verarbeiten kann, die sie sich vorstellen konnten. Nicht ganz unerheblich ist auch, dass sie entsprechende Mittel brauchen, um diese Infrastruktur auch zu bezahlen, die die meiste Zeit völlig unterbeschäftigt ist. Mit der steigenden Anzahl an Menschen, die von zu Hause arbeiten, wäre diese „größtmögliche Infrastruktur“ aber heute trotzdem völlig unterdimensioniert. Da die meisten der Internetfirmen heute auf Cloud Computing setzen, hat es den Eindruck, dass sie ihre Kapazitäten scheinbar grenzenlos erweitern können. Ihre IT-Infrastruktur skaliert nahtlos mit dem Wachstum ihres Geschäftsmodells.

Viele Unternehmen werden jetzt einwenden, dass es sich dabei um eine Sondersituation handelt, und sie das Lastprofil ihrer Anwendung ziemlich genau kennen. In diesem Fall scheint eine beliebige Skalierung erst einmal keinen Unterschied zu machen. Dazu habe ich ein Gegenbeispiel aus der eigenen Praxis.

Stellen wir uns eine Anwendung vor, die aus einem Backend mit REST-Services und einem Web-Client sowie Apps für iOS und Android besteht. Eine Änderung in den Apps führt dazu, dass das Backend mit dem Zehnfachen an Anfragen bombardiert wird, als es sonst unter Höchstlast der Fall ist. Dieses Problem trat mit einigen wenigen App Clients nicht auf, sondern ergibt sich nur ab einer zwei- bis dreistelligen Anzahl an Clients. Änderungen an Apps lassen sich auch nicht so einfach zurückrollen, wie es bei Web-Anwendung der Fall ist. Mit einer klassischen Infrastruktur hätten die Benutzer jetzt mit Ausfällen oder zumindest mit Einschränkungen in der Quality of Service zu leben, bis das Problem in den Apps gefunden und behoben ist. Die Entwickler stünden gleichzeitig bei der Problembehebung unter hohem Zeitdruck – was die Wahrscheinlichkeit erhöht, dass neue Fehler entstehen. Cloud-Infrastruktur kann für den Zeitraum der Fehlersuche und -behebung einfach an das geänderte Lastprofil angepasst werden („den Regler nach rechts schieben“). Die Benutzer merken so keine Einbußen hinsichtlich der Quality of Service und die Entwickler können mit einem kühlen Kopf nach dem Fehler suchen. Sobald er behoben ist, wird die Infrastruktur wieder auf das vorherige Niveau heruntergefahren („den Regler nach links schieben“).

… und damit des Geschäftsmodells in beide Richtungen

Dabei ist der zweite Effekt mindestens genauso wichtig wie der erste; meist wird Skalierung nämlich nur im Sinne von Wachstum verstanden. In Zeiten von Corona oder mit einem Geschäftsmodell wie Pokemon Go, das über Nacht ein Hit wird, möchte ich meine IT-Infrastruktur beliebig wachsen lassen können. Skalierung bedeutet aber auch ein Schrumpfen der IT-Infrastruktur. Dafür liefern sowohl Corona, als auch Pokemon Go wieder gute Beispiele – schließlich wird letzteres mittlerweile wieder von deutlich weniger Menschen regelmäßig gespielt, als es zu den Höchstzeiten der Fall war. Der Anbieter hat inzwischen mit Sicherheit seine IT-Infrastruktur auch wieder „herunterskaliert“.

Genauso wie Corona bei einigen Geschäftsmodellen zum Boom führt, gibt es vor allem im Bereich der Flug- und Urlaubsreisen auch klare Verlierer der aktuellen Krise. Um mit den stark sinkenden Umsätzen Schritt zu halten, müssten Unternehmen mit einem betroffenen Geschäftsmodell eigentlich auch ihre Kosten kurzfristig massiv reduzieren können.

Betrachten wir beispielhaft eine Mitfahrzentrale. Im Moment dürften nur wenige Menschen daran interessiert sein, sich mit einem Wildfremden mehrere Stunden in ein Auto zu setzen – die Gefahr einer Infektion wäre viel zu groß. Mit dem Einsatz von Cloud-Technologien kann der Anbieter sein Produkt und die dafür benötigte IT-Infrastruktur auf ein Minimum herunterfahren. Sobald Deutschland aus dem Gröbsten heraus ist, erhöht er die Kapazitäten einfach wieder. Das Beispiel der Lufthansa zeigt hingegen, wie schwierig es bei vielen Geschäftsmodellen ist, sie schnell in die eine oder die andere Richtung zu skalieren – was sich zugegebenermaßen nicht einfach durch Cloud Computing lösen ließe.

Root Server in der Cloud zu mieten, ist meist unwirtschaftlich

Durch die weltweite Ausbreitung des Corona-Virus sowie die Reaktionen der Bevölkerung und der Entscheider ist eine Extremsituation entstanden, die die extreme Skalierung von Geschäftsmodellen und der zu Grunde liegenden IT-Infrastruktur erfordert. Sowohl im Sinne eines starken Wachstums, als auch im Sinne einer starken Reduktion. Diese Extremsituation führt uns vor Augen, dass kurzfristige Skalierbarkeit ein wichtiger Vorteil von Cloud Computing für digitale Geschäftsmodelle ist.

Unternehmen sollten sich genau überlegen, ob sie in die Cloud gehen möchten, um ihre Anwendung so wie bisher zu betreiben und Kosten zu sparen. Diese Rechnung wird oft nicht aufgehen. Wenn das Ziel ist, die Kosten weitgehend linear zum Umsatz skalieren zu können, ist Cloud Computing dagegen genau der richtige Ansatz. Die wenigsten klassischen OnPremise-Anwendungen sind architektonisch ausreichend darauf vorbereitet, dieses Potenzial zu nutzen. Sie müssen unter intensiver Nutzung von Cloud-Technologien entwickelt sein (Cloud Native).

Auf die Erfahrung mit Cloud-Native-Entwicklung bei cosee aufbauen

Wir bei cosee haben schon viele Jahre Erfahrung mit dem Bau, der Migration und dem Betrieb von Cloud-Native-Anwendungen. Bereits seit 2013 nutzen wir die AWS-Cloud intensiv und sind seit 2018 zertifizierter AWS-Partner.

Daher können wir sehr gut abschätzen, wie weit beispielsweise eine bestehende OnPremise-Anwendung noch davon entfernt ist, die Möglichkeiten der Cloud zu nutzen. Zu diesem Thema führen wir regelmäßig Assessments durch und geben anderen Unternehmen Hilfestellung bei der Entscheidung für oder gegen den Betrieb ihrer Anwendung in der Cloud.

Vielen Unternehmen, die sich für die Cloud entschieden haben, fehlen die Skills für Cloud-Native-Entwicklung. Ihnen haben wir schon oft mit Hands on Workshops weitergeholfen, zu verstehen, was sich zu OnPremise-Anwendungen unterscheidet und wie sie selbst für, in und mit der Cloud Software bauen.

Für einige Firmen ist es schier undenkbar, ihre Anwendung selbst Cloud-ready zu machen. Auch diesen springen wir gerne bei, indem wir uns vollumfänglich um die Implementierung ihrer Anwendung in der Cloud kümmern – sei es durch Cloud Migration oder durch eine Neuentwicklung.

Auf welchem Level seid ihr bei Cloud Native-Entwicklung? Seid ihr ganz am Anfang und in der Entscheidungsphase? Oder brennt euch die Umsetzung unter den Nägeln und euch fehlt ein wenig Anwendungswissen? Egal wo ihr steht, wir freuen uns, euer Projekt mit euch gemeinsam in die Cloud zu bringen und eurem Unternehmen zum Erfolg zu verhelfen!

Kontakt aufnehmen

Tags

Verfasst von:

Foto von Konstantin

Konstantin

Konstantin ist CTO bei cosee und Spezialist für SCRUM und agile Softwareentwicklung.