Cloud vs. Rechenzentrum

Nach mehren Jahren in Großkonzernen, Mittelständlern und Startups möchte ich heute mit dir über das Thema Cloud vs. Rechenzentrum sprechen. Dieser Blogeintrag wird technischer und zeigt meine drei größten Learnings im IT Betrieb, wenn es um das Thema Cloud geht.

Stell dir vor es ist der Abend des 23. Dezember. Du befindest dich gerade auf dem Weg zum Bahnhof, denn morgen ist Weihnachten und du möchtest die Feiertage mit deiner Familie verbringen. Draußen sind es winterliche 0°Celsius. Du kommst am Bahnhof an und freust dich, denn du wirst gleich im warmen Zug sitzen können.

Du schaust auf die Uhr und stellst fest, dass dein Zug schon 5 Minuten Verspätung hat. Du wartest geduldig und versuchst auf den Anzeigen des Bahnhofs zu erkennen, warum oder wie lange dein Zug noch benötigt. Die Anzeigen sind abgeschaltet. Der Info Schalter ist zu. Keine Menschenseele am Bahnhof, nur du.

Du holst dein Handy raus und schaust in der App deines Mobilitätsanbieters nach deiner Verbindung. Erleichtert liest du: „15 Minuten Verspätung.“ Endlich weißt du, dass dein Zug fahren wird und du nicht mehr lange in der Kälte stehen musst. 5 Minuten später kommt dein Zug und du fährst Richtung Heimat.

Wie selbstverständlich ist es für dich, dass die Anzeiger am Bahnhof funktionieren und was machst du, wenn du dort die gewünschte Info nicht bekommen kannst? Wie wichtig ist es dir, mal kurz an deinem Handy checken zu können, wann dein Zug fährt oder ob dir jemand eine Nachricht bei WhatsApp geschrieben hat? Das alles ist nur möglich, weil die IT Systeme im Hintergrund dieser Applikationen 24 Stunden am Tag, 7 Tage die Woche zuverlässig laufen.

Seit einigen Jahren arbeite ich in der Softwareentwicklung als Experte für den modernen IT Betrieb und helfe Unternehmen und Teams dabei, die Software, die Infrastruktur und die Prozesse so zu entwickeln und umzusetzen, dass die Software 24/7 zur Verfügung steht. Da spielen Themen wie Automatisierung, Selbstheilung von Software und Infrastructure as Code eine große Rolle. Doch was hat die Geschichte am Bahnhof und meine tägliche Arbeit mit dem Rechenzentrum oder der Cloud zu tun?

Software wird schon immer auf großen Serverfarmen betrieben, die auch Rechenzentren genannt werden. Große Unternehmen haben meistens komplett eigenständige Rechenzentren und eigene Mitarbeiter, die sich nur um die Hardware kümmern. Damit das alles einwandfrei funktioniert, muss es viele Sicherheitsrichtlinien und Prozesse geben, die alle garantieren sollen, dass du auch nachts eine Nachricht verschicken kannst. Dabei hat ein Unternehmen immer begrenztes Budget für Hardware und kann nicht einfach mal so fünf neue Server in das Rechenzentrum stellen.

Stell dir vor du bist Entwickler und möchtest eine neue App entwickeln und in genau diesem Rechenzentrum betreiben. Jetzt musst du einige Themen klären:

  1. Gibt es überhaupt noch Kapazität für deine Anwendung?
  2. Falls nein, hast du die Möglichkeit noch Server in das Rechenzentrum einzubauen?
  3. Wie lange wird es wohl dauern, bis diese Server zur Verfügung stehen?
  4. Und wo kannst du in der Zwischenzeit deine Applikation mal testen?

Sobald das Rechenzentrum keine freien Kapazitäten mehr hat, wird es unflexibel und teuer. Bis du den ersten Testlauf deiner Applikation machen kannst, können schnell Tage oder Wochen vergehen und die Konkurrenz zieht an dir vorbei.

In der Cloud kannst du dagegen einfach auf Knopfdruck neue Umgebungen erstellen. Diese Werden dir nach dem Prinzip „Pay as you go“ nur dann berechnet, wenn du sie benutzt. Nachdem du also deine neue App kurz getestet hast, fährst du deine Umgebung genauso einfach herunter, wie du sie erzeugt hast. Super einfach, ohne viel Overhead und in diesem Fall extrem günstig.

Weiteres Szenario: Ein Jahr ist vergangen. Es ist gerade Frühling, dein Team und du haben endlich die App entwickelt, welche heute für den Kunden live gehen soll. Es ist alles vorbereitet. Die Applikation läuft auf Servern im Rechenzentrum und ihr habt ungefähr abgeschätzt, wie viele Kunden die neue Funktion nutzen wollen. Fred aus der Marketing Abteilung hat auch richtig die Werbetrommel gerührt und auch die Geschäftsführung ist sehr gespannt, wie die neue App ankommt.

Startschuss! Die App ist live und die ersten Kunden sind schon fleißig am Nutzen der neuen App. Ihr beobachtet alle technischen Metriken der Anwendung, um sicher zu stellen, dass alles einwandfrei läuft. Sehr schnell erkennst du, dass es mehr Nutzer sind, als ihr ursprünglich geplant hattet. Immer mehr und mehr Anwender stürmen sprichwörtlich auf die Applikation und bringen diese an ihre Leistungsgrenze. In totaler Panik versuchst du zu klären, welche Möglichkeiten ihr für eine Kapazitätserweiterung habt, damit die Masse an Usern bedient werden kann. Doch ein Techniker sagt: „Eine Kapazitätserweiterung ist nicht möglich. Wir müssen erst neue Server bestellen und das dauert mindestens ein paar Tage.“

Dein Team und du müssen zusehen, wie zu viele User gleichzeitig auf eure Applikation zugreifen und diese dadurch zusammenbricht. Ein Horror Szenario, denn auch die Erwartungen deiner Geschäftsführer wurde nicht erfüllt und ein schlechtes Licht auf dein Team geworfen.

In einem Cloud Umfeld wäre die Kapazität kein Problem gewesen. Mit Funktionen wie Autoscaling erhöht sich die Kapazität in einem definierten Rahmen sogar von alleine. Wenn also eine bestimmte Last auf deine Anwendung zukommt, dann wird automatisch eine neue Instanz deiner Applikation hochgefahren, die dann durch ein Loadbalancing von den Anwendern genutzt werden kann. So garantierst du, dass immer genügend Kapazität vorhanden ist und sparst sogar Geld, wenn die Auslastung zum Beispiel in der Nacht nicht so groß ist.

Die drei wichtigstes Vorteile der Cloud sind aus meiner Sicht:

Flexibilität: Du kannst innerhalb von Sekunden neue Umgebungen aufbauen, neue Apps testen oder mehr Kapazität bereitstellen.

Kostenoptimierung: Du hast den Vorteil, nur das bezahlen zu müssen, was du wirklich benötigst. Wenn deine User zum Beispiel nur am Tag aktiv sind, dann kannst du deine Infrastruktur in der Nacht auf ein Minimum skalieren. Das spart in der Cloud direkt Geld, im Rechenzentrum kannst du die Server nicht einfach so abbauen. Das sind dann einfach teure Heizungen.

Easy to use: Es ist super einfach, verständlich und ohne viele Abhängigkeiten zu nutzen. Wo vorher mehrere Teams für die verschiedenen Bereiche zur Bereitstellung von Infrastruktur notwendig waren, kann in der Cloud eine einzelne Person alles steuern. Die großen Cloudanbieter haben durchdachte APIs und grafische Nutzeroberflächen, sodass ein einzelnes Team ohne Probleme die Infrastruktur in der Cloud managen kann.

Was sind deine Erfahrungen mit der Cloud? Seid ihr gerade in der Umstellung oder bist du noch voll in der Rechenzentrums Welt?

Schreib mir in den Kommentaren, ich freue mich von dir zu lesen.

Beste Grüße
Kevin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.