Was ist Cloud Computing und Storage?

Keylearnings:

  • Welches Problem löst Cloud Computing?
  • Welche Cloud-Arten gibt es?
  • Wie funktioniert eine Cloud?

Kennst du ihn auch?

  • Den Bekannten, der gerade ein Haus baut?
  • Der Kollege, der gerade Vater geworden ist?
  • Den Freund, ohne Freundin?

Der, der plötzlich vor dir steht, sein Handy zückt und dir ein Bild des glücklichen Goldfischs im neuen Gartenteich, des Sohnemanns, der zum ersten Mal Papa gesagt hat, oder das leere Tequila Glas am Ballermann zeigt.

Willkommen in der Cloud!

Dank der Cloud müssen wir kein schweres Fotoalbum mehr mit uns herumtragen. Du benötigst noch nicht einmal einen USB Stick oder einen anderen Datenträger.

Alles was du brauchst ist ein Gerät, mit welchem du eine Verbindung zum Internet herstellen kannst.

Und das Beste ist. Die Cloud kann noch vielmehr als das. Cloud ist cool! Und deshalb wollen wir uns in diesem Artikel einmal näher mit dem Thema Cloud Computing und Cloud Storage auseinander setzen.

Warum eigentlich eine Cloud?

Für uns alle ist fließend Wasser und Strom schon lange eine Selbstverständlichkeit.

Möchtest du dir Hände waschen, dann gehst du ins Badezimmer und drehst den Wasserhahn auf.

Benötigst du Strom, dann steck den Finger. Ähm den Stecker in die Steckdose.

Mittlerweile sind wir im Zeitalter der Informationen angekommen und hier gibt es zwei neue Ressourcen, welche unseren Alltag immer mehr bestimmen. Nämlich Datenspeicher und Rechenleistung.

Dir diese Ressourcen genauso leicht zur Verfügung zu stellen wie Wasser und Strom ist Aufgabe der Cloud.

Obwohl du weder Kläranlage noch Atomkraftwerk im Keller stehen hast, steht dir jederzeit rund um die Uhr Strom und Wasser zur Verfügung.

Auch musst du Dank Strom- und Wasserzähler nur soviel Strom und Wasser bezahlen wie du tatsächlich verbraucht hast.

Gilt dies auch für die Ressourcen Datenspeicher und Rechenleistung?

Was benötigt der Computerhasser Uwe um seine digitalen Urlaubsbilder zu verwalten?

  1. Eine Software um die Bilder zu verwalten.
  2. Ein Betriebssystem auf dem diese Software läuft.
  3. Hardware auf dem das Betriebssystem installiert werden kann.

Noch schlimmer wird es wenn Uwe, seine Bilder sicher aufbewahren und überall zur Verfügung haben möchte.

Dann muss sich der arme Kerl zusätzlich noch mit Datensicherheit und Netzwerktechnik beschäftigen.

Du merkst es. Es ist fast so als bräuchten wir ein eigenes Kraftwerk nur um im dunkeln ein Buch lesen zu können.

Ziel der Cloud ist es diese Komplexität vor dem Anwender zu verbergen und dem Anwender lediglich das benötigte bei Bedarf (on Demand) bereitzustellen. Hierbei spricht man auch von Service on Demand.

Sind wir an Datenspeicher interessiert, dann sprechen wir von Cloud Storage. Benötigen wir Rechenleistung dann ist das sogenannte Cloud Computing die Lösung.

Welche Arten von Cloud Computing gibt es?

Vereinfacht ausgedrückt besteht ein Computersystem aus drei Schichten. Der Anwenderschicht, dem Betriebssystem und der Hardware.

Cloud Schichten

Für jede dieser Schichten stellt das Cloud-Computing eine Art von Dienst (Service) bereit, den man bei Bedarf abrufen kann. Hierbei ist zu beachten, dass die Arten aufeinander aufbauen.

Was ist Software as a Service (SaaS)?

Das ist genau was Uwe benötigt!

Auf der Software as a Service Ebene wird Anwendersoftware bereitgestellt, die Uwe über das Internet, oft mit Hilfe eines Internet-Browser, bei Bedarf aufrufen kann.

Eine Software as a Service Lösung muss also nicht auf einem Gerät installiert werden sondern wird aus der Ferne von einem Server geladen.

Uwe braucht lediglich ein Gerät, auf welchem er einen Internetbrowser verwenden kann. Das kann ein klassischer PC, ein Smartphone oder ein Tablet sein.

Nachteil bei einer SaaS Lösung ist, dass die Performance stark von der Qualität des Internetzugriffs abhängt.

Ein Beispiel für eine SaaS Anwendung ist das Bildbearbeitungsprogramm Canva.

Die SaaS Ebene bedient den Endanwender.

Was ist Platform as a Service (PaaS)?

Möchtest du eine eigene Anwendung im Internet veröffentlichen?

Dann bist du auf der PaaS Ebene genau richtig.

Neben einer Datenbank, einem Betriebssystem und einem Webserver enthält die Platform as a Service Ebene eine Laufzeitumgebung für deine Programme. Das kann beispielsweise ein PHP Interpreter oder im Falle von Java das JRE (Java Runtime Environment) sein.

Berühmte PaaS Realisierungen sind die Amazon Webservices und Windows Azure von Microsoft.

Die PaaS Ebene bedient den Entwickler.

Was ist Infrastructure as a Service (IaaS)?

Die letzte Ebene ist die Infrastructure as a Service Ebene.

Auf der IaaS Ebene schlagen wir die Brücke zu den Hardware Ressourcen wie Datenspeicher und CPU Leistung.

Bekannte Anbieter auf diesem Gebiet sind auch hier die Amazon Webservices (EC2) und Microsoft Azure.

Du bist Hobbymeteorloge und möchtest die Wettervorhersage für die nächste Woche berechnen? Dafür benötigst du jede Menge Rechenpower!

Dank IaaS  musst du dir aber keine unbezahlbare Serverlandschaft anschaffen sondern kannst dir die Rechenleistung bei Bedarf für relativ kleines Geld einkaufen. Viele Anbieter rechnen die CPU Nutzungsdauer in Minuten ab.

Die IaaS Ebene bedient die Anforderungen eines Administrators.

Cloud Pyramide

Wie funktioniert eine Cloud?

Okay, dank der Cloud können wir uns also Datenspeicher und Rechenleistung bei Bedarf einkaufen.

Bedeutet dies, aber das wir irgendwo einen physikalisch vorhandenen Computer mieten?

JEIN!

Unser Cloudanbieter betreibt einen sogenannten Cluster!

Ein Cluster ist eine Zusammenschaltung von Netzwerken und jedes Netzwerk ist wiederum eine Zusammenschaltung von Rechnern.

Dieser Verbund von Computern stellt eine große Menge von CPU Leistung und Speicherplatz zur Verfügung, die der Cloudanbieter seinen Kunden zur Verfügung stellen kann.

Bildlich können wir uns einen Cluster als eine Belegschaft von Arbeitern vorstellen, denen wir Aufgaben zuweisen können. Einen Arbeiter innerhalb des Clusters bezeichnen wir als Knoten.

Cloud Aufbau

Unser Chef Mr. Loadbalancer

Natürlich benötigt diese Belegschaft eine Leitung, welche festlegt wer, wann welche Aufgabe übernehmen kann.

Diese Rolle übernimmt der sogenannte Loadbalancer.

Fordert ein Kunde des Cloudanbieters Rechenleistung oder Speicherplatz an, bestimmt der Loadbalancer, welcher Rechner diese zur Verfügung stellt.

Virtualisierung von Rechnern

Damit ein Cloud-Anbieter nicht für jeden PaaS und IaaS Kunden einen eigenen Rechner im Cluster bereitstellen muss, müssen wir die Möglichkeit haben auf einer Hardware mehrere Betriebssysteme zu betreiben.

Und genau das ist Aufgabe der sogenannten Virtualisierung.

Mit Hilfe von Virtualisierung können wir das Betriebssystem von der Hardware trennen. Die Kommunikation zwischen Betriebssystem und Hardware übernimmt eine Schnittstelle. Der sogenannte Hypervisor.

Cloud Virtualisierung

Die verschiedenen Betriebssysteme, die sich eine Hardware teilen nennen wir Betriebssystem-Instanzen.

Da eine Betriebssytem-Instanz nicht an eine bestimmte Hardware gebunden ist, kann der Loadbalancer diese dynamisch im Cluster verteilen. Dies führt außerdem zu einer höheren Ausfallsicherheit, da bei Ausfall eines Knotens die Betriebssysteminstanz einfach an einen anderen Knoten im Cluster übergeben werden kann.

Fazit: Ich hoffe ich konnte dir in diesem Artikel einen ersten einführenden Überblick über das Thema Cloud-Computing geben. Ziel des Cloud-Computings ist es Rechenleistung und Speicherplatz so einfach wie Wasser und Strom zur Verfügung zu stellen. Damit Cloud Computing funktioniert müssen wir die Anwenderschicht und die Betriebssystemschicht von der Hardware trennen. Die Technologien, die wir hierfür einsetzen ist Virtualisierung und Clustering.

Möchtest du mehr über die Themen Loadbalancing oder Virtualisierung erfahren? Ich freue mich auf deine Fragen im Kommentarbereich!

Hat dir der Artikel gefallen? Dann folge uns doch gleich auf Facebook.

 

Hallo ich bin Kim und ich möchte ein großer Programmierer werden. Machst du mit?

Kommentare (2)

  • Antworte

    Hallo Kim und danke für diese Seite. Ich lerne sehr viele gute Sachen von deinem Blog.
    Meine Frage bezüglich Clouding ist folgende: Kann ich auf meinem OneDrive Speicher auch Programme wie NetBean oder Eclipse herunterladen? Ich möchte nämlich an meinen nie fertigwerdenden Projekten auch von unterwegs arbeiten können, ohne meinen Standardrechner mit mir herumtragen zu müssen. Oder kennst du eine bessere Möglichkeit, wie ich online meine Java Programme speichern und öffnen kann? Vielen Dank

    • Hallo Dan, vielen Dank für dein Lob! Ich habe es noch nicht ausprobiert. Aber ich denke nicht das es geht, da du ja ein Ausführbares Java SDK benötigst und das ist meiner Meinung nach schwer auf einem OneDrive Speicher zu installieren. Ich nehme an du hast einen Laptop auf dem du Unterwegs entwickeln möchtest. Richtig? Ich würde es so machen, dass ich auf dem Laptop Eclipse oder Netbeans installiere und lediglich den Quellcode deiner Projekte in die Cloud lege. Einen Dienst den du hierfür verwenden kannst ist https://github.com/. Solange du dein Quellcode nicht Privat halten willst, ist dieser sogar komplett kostenlos. Ich hoffe das hilft dir weiter. Viele Grüße Kim

Antworte auf Dan Abbruch