Cloud Computing – Skalierbare Ressourcen und grenzenlose Möglichkeiten für agile Lösungen

Cloud Computing bzw. die Cloud, aus dem englischen die „Wolke“, begleitet uns bereits für ein Weilchen.

Sie ist als bedarfsgerechte Verfügbarkeit von Computer-Systemressourcen, insbesondere von Datenspeichern (Cloud Storage) und Rechenleistung zu verstehen. Mittlerweile kann man fast die gesamte IT-Infrastruktur ganzer Unternehmen in die Cloud verfrachten. Darüber hinaus wird es heutzutage fast schon erwartet, dass der Administrator bzw. Nutzer die Server als auch die Komponenten der Infrastruktur nicht mehr direkt bzw. aktiv selbst verwalten oder warten müssen.

Große Cloud-Anbieter stellen oft Server bzw. Funktionen zur Verfügung, die auf mehrere Standorte und Systeme verteilt sind. Dadurch werden die Verfügbarkeit und die Zugriffszeiten auf einem optimalen Niveau und redundant gehalten. In der Regel handelt es sich bei jedem dieser „Zugriffspunkte“ meistens um eigenständig agierende Rechenzentren. Cloud Computing beruht auf der gemeinsamen Nutzung von Ressourcen, um im Best-Case-Szenario maximale Kohärenz bzw. Redundanz und damit eine erhöhte Ausfallsicherheit zu erreichen. Meistens wird ein „Pay-as-you-go“-Modell angeboten, welches zur Kostensenkung beitragen soll, aber auch zu unerwartet hohen Betriebskosten führen kann.

Seit wann schicken wir unsere Daten in, durch und über die Wolken durch Cloud Computing?

Die ersten Time-Sharing-Konzepte wurden in Form von RJE realisiert. Was an „JRE“ „Java Runtime Environment“ erinnert, dass ich durchaus in einem späteren Beitrag thematisieren werde, sich aber eigentlich um Remote Job Entry bzw. Remote-Job-Eingabe handelt. Die Konzepte dafür erfreuten sich einer gewissen Popularität in den 60ern größtenteils bei den Computergiganten IBM und DEC. Anfang der 70er waren Time-Sharing-Lösungen auf Plattformen wie Multics (auf GE-Hardware), Cambridge CTSS und den ersten UNIX-Ports (auf DEC-Hardware) verfügbar. Dennoch war das „Rechenzentrums“-Modell, bei dem die Benutzer den Betreibern Aufträge zur Ausführung auf den IBM-Mainframes erteilten, vorherrschend.

Ist/war Time-Sharing bereits Cloud Computing?

In der Informatik handelt es sich bei Time-Sharing, um die gemeinsame Nutzung einer Rechenressource durch viele Benutzer zur gleichen Zeit mittels Multiprogramming und Multitasking.

Was ist/war RJE

Es ist ein Verfahren, mit dem von entfernten Arbeitsplätzen aus Anfragen für nicht interaktive Datenverarbeitungsaufgaben (Jobs) an Großrechner gesendet werden und damit auch den Prozess des Empfangs der Ausgabe solcher Jobs an einem entfernten Arbeitsplatz zu ermöglichen.

Das Aufkommen als führendes Computermodell in den 70er Jahren stellte einen bedeutenden technologischen Wandel in der Geschichte der Computertechnik dar. Durch die Möglichkeit, dass viele Benutzer gleichzeitig mit einem einzigen Computer interagieren konnten, senkte die Kosten für die Bereitstellung von Rechenkapazitäten drastisch und ermöglichte es Einzelpersonen und Organisationen, einen Computer zu nutzen, ohne diesen besitzen zu müssen. Zeitgleich wurde dadurch die interaktive Nutzung von Computern und die Entwicklung neuer interaktiver Anwendungen gefördert bzw. vorangetrieben.

In den 90er Jahren begannen Telekommunikationsunternehmen, die zuvor hauptsächlich dedizierte Punkt-zu-Punkt-Datenleitungen anboten. 

Was ist eine (P2P) Punkt-zu-Punkt-Verbindung

Eine Punkt-zu-Punkt-Verbindung ist eine private Datenverbindung, die zwei oder mehr Standorte für private Datendienste sicher miteinander verbindet. Es handelt sich dabei in der Regel um einen geschlossenen Netzdatentransportdienst, der nicht über das öffentliche Internet läuft und von Natur aus etwas „sicherer“ ist. Ich persönlich kannte als Vergleich das Tunneling, welches in der Regel bei VPN-Diensten zum Einsatz kommt. VPN-Dienste (Virtual Private Networks). Dieses Thema werde ich zu einem späteren Zeitpunkt in einem separaten Beitrag aufgreifen.

Weiter mit der Entstehungsgeschichte

Sie begannen, das Cloud-Symbol zu verwenden, um die Grenze zwischen dem, wofür der Anbieter und dem, wofür die Nutzer verantwortlich waren, zu markieren. Mit dem Cloud Computing wurde diese Grenze auf alle Server und die Netzinfrastruktur ausgedehnt. Mit der zunehmenden Verbreitung von Computern erforschten Wissenschaftler neue Möglichkeiten. Primär um die Rechenleistung in großem Maßstab durch Time-Sharing einer größeren Audienz zur Verfügung zu stellen.

Sie experimentierten mit Algorithmen zur Optimierung der Infrastruktur, der Plattformen und Anwendungen. Primär zur Priorisierung der Berechnungen durch die CPUs, der auszuführenden Aufgaben und zur Steigerung der Effizienz für die Endnutzer. CPU’s = Central Processing Unit – Die zentrale Recheneinheit – In anderen Worten, das Gehirn des Computers. Hier werden in einem bestimmten Rhythmus Befehle interpretiert und ausgeführt.

Die Verwendung der Cloud-Metapher für virtualisierte Dienste geht mindestens auf General Magic aus dem Jahr 1994 zurück. Die wurde verwendet, um das Universum der „Orte“ zu beschreiben, die mobile Agenten in der Telescript-Umgebung aufsuchen konnten. Wie von Andy Hertzfeld beschrieben:

„Das Schöne an Telescript“, so Andy, „ist, dass wir jetzt nicht mehr nur ein Gerät zum Programmieren haben, sondern die gesamte Cloud, in der ein einzelnes Programm zu vielen verschiedenen Informationsquellen reisen und eine Art virtuellen Dienst erstellen kann.“

Die Verwendung der Cloud-Metapher wird dem Kommunikationsmitarbeiter von General Magic, David Hoffman, zugeschrieben. Es basiert auf der langjährigen Verwendung im Netzwerk- und im Telekommunikationsbereich.

Im Jahr 2002 legte dann Amazon mit der Tochtergesellschaft Amazon Web Services nach. Es ermöglichte Entwicklern, innovative und unternehmerische Anwendungen zu entwickeln. Im März 2006 führte Amazon seinen Simple Storage Service (S3) ein. Dicht gefolgt von Elastic Compute Cloud (EC2) im August desselben Jahres. Diese Produkte leisteten so gesehen Pionierarbeit für die Nutzung der Server-Virtualisierung bzw. zur Bereitstellung von IaaS (Infrastructure as a Service). Dazu aber später mehr. 

Im April 2008 veröffentlichte Google die Beta-Version von Google App Engine, welches PaaS, dass eine vollständig gewartete Infrastruktur und eine Bereitstellungsplattform für Benutzer zur Erstellung von Webanwendungen in den gängigen Programmiersprachen Python, Node.js und PHP bot. Dies war damals etwas völlig neuartiges. Ziel war es, einige der für ein IaaS-Modell typischen Verwaltungsaufgaben zu eliminieren. Gleichzeitig sollte eine Plattform geschaffen werden, auf der die Nutzer solche Anwendungen einfacher bereitstellen und je nach Bedarf skalieren konnten.

Ebenfalls im Jahr 2008 wurde dann Nebula veröffentlicht. Ein Produkt aus einem Programm der NASA, dass im Rahmen des von der Europäischen Kommission finanzierten „RESERVOIR“-Projekts weiterentwickelt wurde. Es wurde zur ersten quelloffenen Software für den Einsatz privater und hybrider Clouds.

Mitte 2008 sah Gartner bereits die erhöhte Wahrscheinlichkeit, dass Cloud Computing die Beziehung zwischen den Nutzern von IT-Diensten und denjenigen, die IT-Dienste zur Verfügung stellen, grundsätzlich verändern wird. Gartner ging davon aus, dass Individuen und Unternehmen von unternehmenseigenen Hardware- und Software-Assets zu Service-basierten Modellen wechseln werden. Diese Verlagerung auf das Cloud Computing, sollte in einigen Bereichen zu einem dramatischen Wachstum und in anderen Bereichen zu einer deutlichen Reduzierung bei IT-Produkten führen.

So schlecht war die Prognose eigentlich gar nicht. Wir befinden uns nach wie vor in diesem Prozess 😀

Im gleichen Jahr startete die U.S. National Science Foundation (NSF) das Cluster Exploratory-Programm, um akademische Forschungsarbeiten zu finanzieren, die Google-IBM-Clustertechnologie zur Analyse großer Datenmengen einsetzen sollte.

Wieso Cloud Computing?

Das Ziel des Cloud Computing ist es, den Nutzern die Möglichkeit zu geben, von allen „neuen“ Technologien zu profitieren, ohne, dass man über tiefgreifende Kenntnisse oder Erfahrungen mit jeder einzelnen Technologie verfügen muss. Die Cloud soll die Kosten senken und den Nutzern helfen, sich auf ihr Kerngeschäft zu konzentrieren. IT-Hindernisse sollen die Arbeit nicht behindern. Die wichtigste Grundlagentechnologie für Cloud Computing ist die Virtualisierung. Virtualisierungssoftware unterteilt ein physisches Computersystem in ein oder mehrere virtuelle Maschinen. Jedes Einzelne zur Ausführung Verwendung und Verwaltung von Computeraufgaben.

Durch die Virtualisierung auf Betriebssystemebene, die im Wesentlichen ein skalierbares System aus mehreren unabhängigen Computergeräten schafft, können ungenutzte Computerressourcen effizienter zugewiesen und genutzt werden. Virtualisierung bietet die nötige Flexibilität, um den IT-Betrieb zu beschleunigen und die Kosten durch eine bessere Auslastung der Infrastruktur zu senken. Autonomic Computing automatisiert den Prozess, durch den der Benutzer Ressourcen nach Bedarf bereitstellen kann. Durch die Minimierung des Benutzereingriffs soll die Automatisierung die Prozesse beschleunigen, die Arbeitskosten senken und die Möglichkeit menschlicher Fehler reduzieren.

Obwohl die serviceorientierte Architektur „Everything as a Service“ (mit den Akronymen EaaS oder XaaS oder einfach aas) befürwortet, bieten Cloud-Computing-Anbieter ihre „Dienste“ nach verschiedenen Modellen an. Diese sind in die drei Standardmodelle nach NIST gegliedert. Infrastructure as a Service (IaaS), Platform as a Service (PaaS) und Software as a Service (SaaS). Diese Modelle bieten eine zunehmende Abstraktion. Sie werden daher oft als Schichten in einem Stapel dargestellt. Infrastruktur-, Plattform- und Software-as-a-Service, aber diese müssen nicht miteinander verbunden sein. So kann man beispielsweise SaaS auf physischen Maschinen implementieren. Jedoch ohne die zugrunde liegenden PaaS- oder IaaS-Schichten zu verwenden. Und umgekehrt kann ein Programm auf IaaS ausgeführt und direkt darauf zugegriffen werden, ohne es als SaaS zu verpacken.

Infrastructure as a service (IaaS)

Infrastructure as a Service stellt Unternehmen IT-Ressourcen zur Verfügung. Darunter fallen Server-, Netzwerkkomponenten und Speicher, sowie Stellflächen im Rechenzentrum auf der Basis nutzungsabhängiger Gebühren.

Die Vorteile von IaaS

  • Man muss nicht in eigene Hardware investieren oder für die Wartung persönlich eingreifen.
  • Die Infrastruktur kann bei Bedarf zur Unterstützung dynamischer Workloads skaliert werden.
  • Bei Bedarf erhält man relativ flexible und innovative Services.

Platform as a Service (PaaS)

Platform as a Service stellt eine Cloud-basierte Umgebung mit allen Komponenten bereit. Zur Unterstützung des gesamten Lebenszyklus, von der Erstellung bis zur Bereitstellung, von webbasierten (Cloud-) Anwendungen.

Die Vorteile von PaaS

  • Schnellere Entwicklung und Markteinführung von Anwendungen.
  • Bereitstellung neuer Webanwendungen in der Cloud innerhalb kürzester Zeit.
  • Geringere Komplexität mit Middleware as a Service.

Software as a Service (SaaS)

Cloud-basierte Anwendungen – oder Software as a Service. Im Grunde genommen auf Remote-Computern „in der Cloud“ ausgeführt, deren Eigentümer und Betreiber in der Regel externe Anbieter sind. Die Nutzer stellen über das Internet und primär über einen Web-Browser eine Verbindung zu diesen Remote-Computern her.

Die Vorteile von SaaS

  • Man kann nach der Anmeldung und Einrichtung relativ schnell mit der Nutzung und Erstellung innovativer Anwendungen beginnen.
  • Der Zugriff auf Anwendungen und Daten ist von jedem angebundenen Endgerät aus möglich.
  • Bei einem Ausfall des Endgeräts kommt es zu keinem Datenverlust, da die Daten in der Cloud gespeichert sind.
  • Der Service kann dynamisch an die Anforderungen der Nutzung angepasst werden.

Public Cloud

Eigentümer und Betreiber von Public Clouds sind Unternehmen oder Individuen, die schnellen Zugriff auf kosteneffiziente IT-Ressourcen über ein öffentliches Netzwerk bereitstellen möchten. Bei Public-Cloud-Services müssen die Nutzer keine Hardware, Software oder unterstützende Infrastruktur einkaufen. Die sind und bleiben in der Regel Eigentum des jeweiligen Providers und werden von diesem betrieben und gewartet.

Vorteile der Public Cloud

  • Innovative SaaS-Anwendungen, die von CRM-Anwendungen (Customer Resource Management) über das Transaktionsmanagement bis zu Datenanalysen reichen.
  • Flexible, skalierbare IaaS für sofort einsatzbereite Speicher- und Rechenservices.
  • Leistungsfähige PaaS für Cloud-basierte Umgebungen für die Anwendungsentwicklung und -bereitstellung.

Private Cloud

Eine Private Cloud ist eine Infrastruktur, die nur für ein einziges Unternehmen oder ein einziges Individuum betrieben wird. Für deren Management und Hosting kommt entweder das Unternehmen, der Nutzer selbst oder ein externer Provider in Frage. Private Clouds können die Effizienz der Cloud nutzen. Sie bieten jedoch mehr Kontrolle über die Ressourcen und verzichten auf die Nutzung des Multi-Tenant-Modells.

Vorteile der Private Cloud

  • Self-Service-Schnittstelle zur Steuerung der Services, die IT-Mitarbeitern oder Spezialisten eine schnelle Provisionierung, Zuordnung und Bereitstellung von IT-Ressourcen bei Bedarf ermöglicht.
  • Hochautomatisiertes Management von Ressourcenpools für alle Aspekte von Rechenkapazität bis zu Speicher, Analytics und Middleware.
  • Ausgereifte Sicherheit und Governance, die für die Anforderungen des jeweiligen Unternehmens konzipiert sind.

Hybrid Cloud

Eine Hybrid Cloud nutzt eine Private-Cloud als Grundlage, die mit der strategischen Integration und Nutzung von Public-Cloud-Services kombiniert wird. Tatsächlich kann eine Private Cloud nicht isoliert von den übrigen IT-Ressourcen eines Unternehmens oder Individuums und der Public Cloud existieren. Die meisten Unternehmen und Individuen mit Private Clouds, weiten das Workload-Management auf eine Kombination von Rechenzentren, Private Clouds und Public Clouds aus. Dadurch entstehen Hybrid Clouds.

Vorteile einer Hybrid Cloud

  • Möglichkeit für Nutzer und Unternehmen, kritische Anwendungen und sensible Daten in einer traditionellen Rechenzentrumsumgebung oder einer Private Cloud auszuführen bzw. zu speichern.
  • Nutzung von Public-Cloud-Ressourcen wie SaaS (für die neuesten Anwendungen) und IaaS (für anpassungsfähige virtuelle Ressourcen).
  • Einfachere Portierbarkeit von Daten, Anwendungen und Services plus größere Auswahl an Bereitstellungsmodellen.

Nachteile aller Cloud Computing Lösungen

Nun, bevor ich zu jeder einzelnen Lösung jeweils die Nachteile aufzähle, hier die Nachteile für alle Lösungen zusammengefasst.

  • Datensicherheit & Datenverfügbarkeit – Das Argument der Abhängigkeit von einem Anbieter kann für Individuen Unternehmen schwer wiegen.
  • Begrenzte Individualisierung.
  • Abhängigkeit vom Cloud-Anbieter und Cloud-Dienstleister.
  • Schlechte Portabilität – Wenn man mal den Anbieter wechseln will.
  • Verfügbarkeit – Ja, man benötigt immer einen Internetanschluss. Ansonsten geht gar nichts 😀

Fazit

Soweit ich es beurteilen kann, ist Cloud Computing bereits im Unternehmensalltag angekommen. Nach der anfänglichen Skepsis und Unsicherheit, gehen die meisten Individuen, Unternehmen und bekannte Dienst- und Content-Creator über in die Cloud. Sie entwickeln immer mehr Cloud Computing Anwendungen und Dienste. Sicherlich ist nicht außer acht zu lassen, dass die größeren Anbieter eher im amerikanischen Raum vertreten sind. Folglich wird dadurch auch eine gewisse Abhängigkeit geschaffen.

Es zeigt sich jedoch auch, dass traditionelle Anwendungen, Netzwerkstrukturen und Bereitstellungsmodelle neuen, innovativen Anwendungen nicht mehr lange standhalten können. Die Nutzer erwarten auch bei der mobilen Arbeit einen einfachen Zugang und eine gewisse Flexibilität. Dies kann fast nur über Cloud Lösungen ermöglicht werden.

In meiner Idealvorstellung kann sich eine globale Netzwerk-Infrastruktur bilden lassen, die von Landesgrenzen relativ losgelöst ist. Ich kann mir vorstellen, dass in der Zukunft dezentralisierte Open Source Cloud Computing Plattformen geschaffen werden. Diese können dem Nutzer bzw. der Gesellschaft einen Mehrwert bieten. Ohne zeitgleich ein Vermögen von einzelnen Individuen oder Unternehmen zu fordern. Ein Sprungbrett dafür bietet die Blockchain und die bereits bestehende globale Open Source Gemeinde. Und vielleicht kann auch so das Fundament für ein funktionsfähiges Metaverse geschaffen werden.

Die Netzwerk-Infrastruktur wird sich ohnehin weiterentwickeln, um sich den durch Virtualisierung und Cloud Computing getriebenen Innovationen rasch anzupassen. Cloud Computing befindet sich meiner Meinung nach immer noch in einer gewissen Entwicklungsphase. Daher können bereits heute die Weichen dafür gestellt werden, um nicht nur den vereinigten Staaten die Hoheit über Cloud Lösungen zu überlassen, sondern der ganzen Welt als Einheit.

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.