Was ist denn bitte...

Cloud?

cloud
engl. Substantiv: die Wolke, dunkle Stelle, die Trübung
Verb: verdunkeln, trüben

Die Luftnummer

Der Begriff Cloud ist heute synonym für "im Internet". In dieser sehr allgemeinen Interpretation wird er von jedem benutzt, aber entweder hat der Benutzende gar keine darüber hinaus gehende Vorstellung oder eine von sehr, sehr vielen Betrachtungsweisen.

Von den direkten Übersetzungen wird allgemein die Wolke als richtig angesehen, da in vielen Diagrammen und Netzwerkplänen das große undefinierbare Internet schon immer mit einer Wolke symbolisiert wurde. Die Trübung passt aber in vielerlei Hinsicht auch ganz gut, da man zum einen nicht mehr so genau weiss, wo die Software, die man in der Cloud benutzt läuft, und wo die Daten physikalisch abgelegt sind.

An Definitionen haben sich schon viele versucht und ich muss mich da nicht anschließen. Da sich nicht alle Beteiligten an die gleiche Definition halten, macht es auch keinen Sinn, Definitionen aufzustellen. Vielmehr möchte ich versuchen, unterschiedliche Betrachtungsweisen und Interpretationen zu erläutern. Wenn Sie eine Weitere haben, nehme ich sie gerne hier auf!

Software als Service

engl. SaaS
Software as a Service

Wir benutzen eine Software, die irgendwo im Internet läuft. Prominente Beispiele sind Web-Mail-Systeme wie Google-Mail oder GMX.

Wo die Software läuft, entscheidet der Anbieter. Der Anwender kann über eine Web-Adresse darauf zugreifen. Er merkt nicht, ob er sich die Umgebung, in der er seine Software benutzt, mit vielen anderen Anwendern teilt ("shared ressource") oder die Umgebung nur für ihn und seine Mitbenutzer gestartet wurde ("dedicated ressource").

Die Wahrscheinlichkeit, dass Sie überhaupt keine Dienste dieser Art verwenden, ist eher gering. Tatsächlich ist das schon so selbstverständlich, dass der Begriff "Cloud" hier nur noch selten in Zusammenhang gebracht wird.

Sie selbst können Software, die als Webanwendung realisiert ist, auch als Service anbieten. Bei der Umsetzung ist sehr genau darauf zu achten, dass Benutzer in der für sie vorgesehenen Umgebung bleiben und nicht auf Informationen von anderen Anwendern zugreifen können. Diese Software würde dann in der Cloud auf "Plattform als Service" oder "Infrastruktur als Service" laufen können.

Server im Internet anmieten

engl. Infrastructure as a Service, IaaS
Infrastruktur als Service
engl. Platform as a Service, PaaS
Plattform als Service
engl. Serverless Computing
Server ausser Acht lassen
Hosting
Betrieb von Softwareapplikations- oder Internetdiensten

So ein Begriffschaos! Hier geht es beim Thema Cloud um den Fall "die Software läuft im Internet". Wenn man Software im Internet laufen lassen will, benötigt man dafür entsprechend eingerichtete Computer. Die unterschiedlichen Namen unterscheiden sich in erster Linie darin, wie viel ich mich als Anbieter der Software und Nutzer des Service mit genau diesen Computern auseinander setzen will.

Beim "Serverless Computing", ein deutscher Begriff hat sich da noch nicht gefunden, betrachtet man den Computer als Nutzer gar nicht mehr. Man übergibt die Software an den Dienstleister und der sorgt dafür, dass sie ausgeführt wird, wenn ein Kunde sie benutzen möchte. Ohne Kunden läuft sie nicht und das kostet dann auch nichts.

Ein Plattform als Service Anbieter vermietet mir hingegen einen Computer, einen Server, kümmert sich aber um das Betriebssystem und gegebenenfalls weitere Basis-Software.

Infrastruktur als Service stellt Ihnen, wie der Name schon sagt, die Infrastruktur, sprich die Computer zur Verfügung; um den Rest müssen Sie sich selbst kümmern.

Ein großer Unterschied dieser Service-Angebote im Verhältnis zu klassischem Hosting, was man zum Beispiel von seiner Webseite kennt, ist, dass sich die Angebote sehr viel feiner und kurzfristiger buchen lassen. Wenn Sie einmal im Monat für eine Abrechnung viel Speicher und Rechenleistung benötigen, können Sie diese Leistung auch nur für ein paar Stunden oder Minuten buchen. Den Rest des Monats bezahlen Sie dann nur die geringe Leistung, die Sie für Ihr Tagesgeschäft benötigen.

Speicher im Internet

engl. Network-Attached-Storage, NAS
An ein normales Netzwerk angeschlossener Speicher
engl. Storage-Area-Network, SAN
Spezielle Netzwerke, über die auf Speichermedien zugegriffen werden kann.
engl. Content-Delivery-Network, CDN
Ein Verbund von Systemen im Internet, die identische Inhalte an mehreren Knotenpunkten bereithalten, um sie mit möglichst kurzen Übertragungswegen anbieten zu können.

Für viele immer noch der Inbegriff von Cloud sind Speichersysteme im Internet. Das können allgemeine Datei-Speicher wie Dropbox, Google-Drive oder Amazon-S3 sein, oder Dienste wie Flickr, die sich auf Fotos, oder FoxDox, die sich auf Dokumente spezialisiert haben.

Allen gemeinsam ist die Tatsache, dass der Anwender über eine Weboberfläche im Internet-Browser auf seine Daten zugreifen kann. Dieses System wurden so sehr mit dem Begriff Cloud assoziiert, dass Speicher-Systeme im lokalen Netzwerk (NAS) plötzlich Cloud im Namen führten (WD-My-Cloud, OwnCloud, ...).

Wenn von "über das Internet verteilen" gesprochen wird und dabei sehr viele Ziele gemeint sind, schlägt die Stunde der Content-Delivery-Networks. Bei diesen Systemen geht es nicht um das sichere Speichern oder das komfortable Zugreifen, sondern darum, von jedem System im Internet die Daten mit maximaler Geschwindigkeit herunterladen zu können. Ein klassisches Beispiel sind hierbei Software-Updates für sehr verbreitete Software wie zum Beispiel das Windows-Betriebssystem.

Cloud-Technologie

Der Betrieb von großen Software-Lösungen in den beschriebenen Cloud-Umgebungen stellt besondere Anforderungen an die verwendete Software. Das dahinter stehende Konzept hat aber auch ausserhalb der Cloud bei lokal installierten Systemen entscheidende Vorteile, weshalb es als Erfolgsrezept oder "best practice" unter Entwicklern auch als Cloud-Technologie bezeichnet wird.

Ein entscheidender Faktor ist dabei, dass ein System keine Daten für sich behält und es nicht relevant ist, was der Benutzer vorher gemacht hat. Man spricht hierbei von zustandslos oder englisch stateless. Wenn Sie in einem Web-Mail-System eine Mail schreiben und dazu eine Datei hoch laden, die Sie anhängen möchten, wird diese Datei nicht von der Software gespeichert, die Sie zum Schreiben der Mail benutzen, sondern in einem zentralen Speicher des Anbieters abgelegt. Wenn Sie die Mail dann senden, kann das durch ein ganz anderes System ausgeführt werden, welches aber auch Zugriff auf das zentrale Speichersystem hat. Dadurch können alle Funktionen von mehreren Systemen angeboten werden, was für Stabilität und Performance sorgt. Ausgefallene Systeme können einfach neu gestartet werden und haben keine direkte Auswirkung auf den angebotenen Service.

Um dieses Skalieren - das Starten mehrerer Systeme für eine Funktion - vollständig automatisieren zu können, ist es wichtig, dass die Systeme keine Pflege benötigen und kein manueller Eingriff erforderlich ist. Zur Verdeutlichung wird hier oft der Unterschied zwischen Haustier und Farmtier herangezogen. Ein Haustier wird gepflegt, man geht mit ihm zum Tierarzt wenn ihm etwas fehlt und man verzeiht auch gerne mal einen schlechten Tag. Ein Farmtier geht in die Verarbeitung und wird durch ein neues ersetzt. Genau so müssen sich Cloud-Systeme behandeln lassen.

Cloud-Anbieter

Durch die starke Medienpräsenz des Begriffs "Cloud" wird jeder, der etwas "im Internet" anbietet, laut eigener Marketingaussagen gleich zum Cloud-Anbieter. Wenn man die Betrachtung auf Angebote eingrenzt, die Infrastruktur für den Betrieb von Cloud-Lösungen anbieten, ist der Markt durch den fließenden Übergang von Hosting zu Cloud immer noch sehr groß. Schränkt man weiter auf Anbieter ein, die international alle benötigten Varianten der unterschiedlichen Cloud-Technologien anbieten, reduziert sich die Betrachtung schnell auf eine Hand voll Anbieter - allen voran Amazon mit Amazon Web Services (AWS), Microsoft mit Azure, IBM mit Bluemix, Google und Oracle.

Wer in dieser Liga mitspielen muss, setzt nicht nur auf einen der Anbieter, sondern betreibt seine Services gleich als Multi-Cloud bei mehreren. Auch hierfür gibt es Software, die einen bei der Konfiguration unterstützt. Man spricht hier oft von "Architecture as Code" oder "Infrastructure as Code", weil die Konfiguration der angemieteten Systeme ähnlich einem Programm-Code beschrieben wird und bei unterschiedlichen Anbietern angewendet werden kann.

Wenn Sie keinen internationalen Service anbieten wollen und Ihre Anwenderzahlen kein Tausendertrennzeichen benötigen, kann trotzdem ein Blick auf die großen Anbieter lohnen. Durch die enorme Professionalisierung der Services ist ein gutes Preisniveau vorhanden, die Zuverlässigkeit ist enorm gut und es sind tatsächlich wartungsfreie Systeme verfügbar.

Vorsicht ist hingegen geboten, wenn Anbieter keine eigene Infrastruktur betreiben, sondern ihrerseits die angebotenen Ressourcen bei einem großen Anbieter einkaufen. Sie erkaufen sich hier womöglich etwas mehr Komfort bei der Einrichtung mit dauerhaft höheren Kosten, die die Wertschöpfung beim Anbieter hervorrufen.