Anwendungsszenarien für Cloud Computing
Durch einen Kommentar bei Heise wurde ich inspiriert, einmal ein paar Anwendungsszenarien für Cloud aufzuschreiben, die so mit klassischen Hosting/Housing nicht oder nur wesentlich schwerer möglich sind.
Zuerst möchte ich den Begiff “Cloud” differenzieren:
- Cloud in dem Medien
-> speichern von Daten im Internet oder nutzen von irgendwelchen Webdiensten
=> betrachte ich in diesem Artikel nicht - Cloud in der Lehre
-> Kombination aus IaaS, PaaS und SaaS. Teilweise noch mit nachgelagerten Services ala *aaS
=> möchte ich in diesem Artikel ein paar Beispiele geben. SaaS betrachte ich nicht, da es schwer abzugrenzen ist
Ohne API ist eine Cloud zwar nutzbar, aber kann nicht ihr Potenzial ausschöpfen. Cloud müssen für mich keine Millarden Rechner sein, das Konzept zählt (gibt ja real auch Cirrocumuluswolken und nicht nur Cumuluswolken).
Szenario 1: Virtualisierung von Testsystemen
Durch die Virtualisierung kann ich einfach einen Snapshot vom System zu einem bestimmten Zeitpunkt machen bzw. dies Klonen. Ich kann mir also ein bestimmtes System mit einem Fehler nehmen und Klonen, den Fehler suchen und beheben und dann das Testsystem einfach nach einer Stunde wegwerfen.
Fazit: Systeme werden mit Virtualisierung/Cloud schnell und für begrenzte Zeit reproduziert. Ich muss nicht mehr eine Woche auf den Server warten und den dann einen Monat nehmen, sondern habe nach 2min ein System, was ich nach 2h wieder wegschmeißen kann. Auch selten genutzte Hardware/Software kann schnell runtergefahren werden bzw. mit geringen Kosten vorgehalten werden.
Szenario 2: Hardware effizienter Nutzen
Hat man mehrere virtualisierte IT-Systeme mit unterschiedlicher Auslastung (bspw. Seiten aus verschiedenen Ländern) und diese auf eigener Hardware, die als Cloud verbunden ist, können Lastspitzen ausgeglichen werden. Man hat nicht mehr 10 Server, wo einer auf Anschlag pustet und ein anderer sich langweilt, sondern das Gesamtsystem hat eine gemeinsame Auslastung. Ist diese gering, können Server abgeschalten und so Kosten und die Umwelt geschont werden. Somit erreicht bspw. Google eine durchschnittliche Auslastung von über 95%
Oft vermieten dir die Cloudhoster 1 CPU-Kern für 1h. Wenn du den nicht nutzt, können sie also (im großen dann) die einem anderen geben, rechnen dir die Möglichkeit die CPU zu nutzen jedoch auch ab, wenn du sie nicht nutzt und machen so Reibach 🙂
Fazit: In Clouds ist die Lastverteilung einfacher und die durchschnittliche Auslastung kann gesteigert werden. Das schont die Umwelt.
Szenario 3: Automatische Skalierung
Richtig gebaut ist das IT-System (bspw. der Shop) mit einem Monitoring verbunden, das die Auslastung beobachtet. Sind viele Leute auf der Plattform und so der Platz eng, können über die Cloud-API automatisch bspw. neue App-Server der Infrastruktur hinzugefügt werden. Fällt die Last wieder, werden die Ressourcen wieder an die Cloud-Verwaltung freigegeben (und somit nicht mehr berechnet). Neben möglicher Kosteneinsparungen (auch schon zwischen viel Besuchern am Mittag und wenig in der Nacht, noch mehr zw. Sommerloch und Weihnachtsgeschäft) verlieren auch Lastpeaks wie ein Heise-Link oder eine unangekündigte Fernsehwerbung ihren Schrecken. Das System skaliert automatisch, man schläft ruhig weiter und wundert sich nur am nächsten Morgen über die Statistiken (es sei denn, man hat die Kostenbremse/Automatik zu gering eingestellt, so dass das System trotzdem überlastet war).
Fazit: Richtig geplant können automatische Skalierungen Dienstausfälle vermeiden und Schlaf des Admins verbessern
Szenario 4: Fixkosten -> variable Kosten
Wenn ich richtig viel Berechnen muss, brauch ich viele Server. Diese zu kaufen ist sehr teuer. Ich kann in der Cloud zu Amazon gehen und mir 10000 Server für 5h mieten, da die da rumstehen. Somit habe ich keine Fixkosten, sondern nur variable Kosten, die sich teilweise besser kalkulieren lassen. Auch transferiere ich das Risiko, dass die Server ausgelastet werden müssen, auf den Cloud-Anbieter (was der sich natürlich bezahlen lässt).
Fazit: Durch die Transformation in variable Kosten habe ich möglicherweise geringere Investments in Hardware und kann besser kalkulieren.
Szenario 5: Leichterer Umzug von IT-Systemen
Sind meine IT-Systeme virtualisiert, so brauche ich nur eine Datenleitung um das ganze System zu einem anderen (Cloud)hoster umzuziehen. Es muss kein physisches Blech mehr geschleppt werden. Problem sind hier natürlich immernoch die verschiedenen Cloud-APIs etc. der einzelnen Anbieter, aber ich bin sicher, das wird noch.
Fazit: Mit Cloud ist einfacherer Transfer von IT-Systemen möglich
Zusammenfassung
Natürlich gibt es noch viele weitere gute Szenarien für Cloud-Computing, aber zum Verständnis der neuen Möglichkeiten reicht das.
Das größte Problem am Begriff Cloud ist meiner Meinung nach die enorme Schwammigkeit in der Verwendung. Viele denken auch in alten Mustern (weil die Systeme schon so komplex genug sind), so dass sie momentan nur versuchen bestehende Anwendungen zu virtualisieren um ggf. Kosten zu sparen. Dies erklärt auch, dass viele Cloudanbieter in der Vergangenheit und noch vorgegebene Instanzgrößen angeboten haben (sicher auch, weil sie es intern nicht flexibler abgebildet bekommen haben).
Bei neuen Anwendungen richtig von Anfang an eingeplant kann Cloud sehr sinnig sein. Dabei muss es noch nicht mal ein Datenschutzproblem geben. Momentan ist es ja oft so, dass man seine Daten im Rechenzentrum bei einem Hoster hostet und auch nicht direkt in seinem Keller physischen Zugriff auf die Daten hat. Das ist bei kleinen Clouds nicht anders. Leider kenne ich bisher in Deutschland extrem wenig Cloud-Dienste, die den Namen auch verdienen. aber das wird noch.