Categories
Grundlagen

Schlüsseltechnologien des Cloud Computing

Seit dem Beginn des neuen Jahrhunderts hat die Informationstechnologie viele neue Technologien hervorgebracht, die nun zusammen dafür genutzt werden IT-Ressourcen je nach Bedarf bereitzustellen. Durch die Kombination von Internet-Technologien wie Web-Browser, virtualisierte Server, Parallel-Computing und Open Source Software haben sich für die Bereitstellung von Computer Ressourcen völlig neue Möglichkeiten ergeben. Der Begriff Cloud Computing beschreibt die Kombination dieser genannten Technologien am besten.

IT-Anbieter sind dazu übergegangen aus dem Ergebnis dieser Konsolidierung Pakete zu schnüren und Unternehmen anzubieten, die ihre klassischen IT-Aufgaben auslagern wollen. Dazu gehören bspw. der Betrieb des eigenen Rechenzentrums oder die Anschaffung und Wartung von Unternehmensanwendungen wie Enterprise Resource Planning (ERP), Customer Relationship Management (CRM), Human Resource Information System (HRIS) oder weiteren Anwendungen, die lediglich dazu dienen, den Betrieb des Unternehmens zu unterstützen.

Grid Computing

Beim Grid Computing handelt es sich um eine Form des verteilten Rechnens. Die Idee entstand erstmalig im Jahr 1997 am Argonne National Laboratory. Dabei wird eine Art virtueller Supercomputer auf Basis eines Cluster von lose gekoppelter Computer aufgebaut. Ein Grid ist so konzipiert, dass die Ressourcen nicht einer zentralen Instanz zugeordnet sind. Dabei werden offene und standardisierte Protokolle und Schnittstellen verwendet, um damit Speicher- und Rechenkapazitäten über das Internet zur Verfügung zu stellen. Auf Basis des Grid Computing sollen Rechenleistungen und Daten über Organisationsgrenzen hinweg auf eine sichere und effiziente Art gemeinsam genutzt werden. Damit sollte die Möglichkeit geschaffen werden, rechenintensive Probleme zu lösen, für die nicht ausreichend lokale Ressourcen zur Verfügung stehen. Zu den grundlegenden Konzepten des Grid Computing gehören die Standardisierung, die Automatisierung sowie die Abstraktion von der Hardware. Über standardisierte Schnittstellen erfolgt der Zugriff auf alle verfügbaren Rechnersysteme innerhalb des Grids, die über einen automatisierten Verteilungsalgorithmus ihre Aufgaben erhalten. Auf Basis der Standardisierung findet der Zugriff auf die unterschiedlichen Ressourcen statt.

Das Cloud Computing erbt von dem Grid Computing grundlegende Konzepte und Technologien. So ermöglicht das Grid Computing bspw. der IT-Infrastruktur die Flexibiltät und Elastizität. Das Grid Computing bildet die Grundlage für Infrastructure-as-a-Service, indem es die Basiskonzepte für die standardisierten und hochskalierbaren Systemarchitekturen bereitstellt, die als abstrahierte virtuelle IT-Services verwendet werden können. Zudem ist die Erweiterung des Grid Computing mittels Rechen-, Speicher- und Netzwerkkapazitäten bei Bedarf das Grundkonzept für eine Cloud Computing Infrastruktur. Neben der optimierten Ressourcennutzung, dem Zugriff über das Internet und dem effizienteren Betrieb der Infrastrukturen wurden ebenfalls die Standardisierung, Automatisierung, und die Kosten- und Effizienzgewinne vom Grid Computing übernommen.

Virtualisierung

Virtualisierung wird als eine Emulation oder Simulation von Hardware-Ressourcen, bei der die Hardware vom Betriebsystem entkoppelt wird und sich dadurch der Grad der Flexibilität erhöht, charakterisiert. Ressourcen erhalten damit eine zentrale und einheitliche Sicht unabhängig von dem tatsächlichen physikalischen Ort, an dem sie sich befinden.

Zwei Bereiche sind die treibenden Faktoren der Virtualisierung in der IT. Bei dem einen handelt es sich um die Serverkonsolidierung, womit die Anzahl der physikalischen Serversysteme innerhalb eines Rechenzentrums gesenkt wird. Bei dem zweiten Bereich handelt es sich um die Anwendungsvirtualisierung. Damit wird die Bereitstellung der Anwendungen beschleunigt, wodurch ebenfalls die Flexibilität des Unternehmens steigt. Weiterhin sorgt Virtualisierung für einen optimierten Auslastungsgrad der IT-Ressourcen, der mit Hilfe einer intelligenten Verteilung der Applikationen auf die freien Ressourcen auf 70%-90% gesteigert werden kann. Das führt ebenfalls zu höheren Kosteneinsparungen. Eine Virtualisierungssoftware sorgt für die Aufteilung eines physikalischen Servers in mehrere virtuelle und ermöglicht damit die parallele Bereitstellung der Cloud Services für mehrere Kunden. Damit wird die IT-Infrastruktur eines Cloud Anbieters konsolidiert und kostengünstig betrieben, was zu kostengünstigen Cloud Services führt.

Beim Cloud Computing wird die Virtualisierung genutzt, um dem Nutzer Ressourcen bei Bedarf automatisiert und flexibel bereitzustellen. Ohne diese Technologie und ihre Konzepte wäre Cloud Computing daher nicht möglich.

Software-as-a-Service

Das Konzept des Software-as-a-Service gilt als einer der führenden Treiber des Cloud Computing in den vergangenen Jahren. Dabei stellen Anbieter ihre Software nach Bedarf über das Internet dem Nutzer bereit. Dieser kann über einen Standard Webbrowser darauf zugreifen und muss stattdessen keine Software auf dem üblichen Weg mehr kaufen und auf seinem lokalem System installieren.

Speziell der Gedanke einen Service, in diesem Fall Software, nach Bedarf zu nutzen und nicht im Vorweg darin zu investieren, gehört zu den zentralen Ideen des Cloud Computing.

Service Oriented Architecture

Die Service Oriented Architecture (SOA) hat dazu beigetragen, dass überhaupt (verteilte) Softwarekomponenten entwickelt werden konnten, die für das Cloud Computing benötigt werden. Eine SOA wird dabei auch als ein Paradigma bzw. ein Softwarearchitekturkonzept beschrieben. Dabei werden die Daten und der zur Ausführung notwendige Programmcode so gekapselt, dass diese als Service von einer anderen Anwendung aufgerufen und damit wiederverwendet werden können.

Um mit Cloud Computing mehr als nur Infrastructure-as-a-Service anbieten zu können, ist das Architekturkonzept einer SOA unentbehrlich. Dabei wird eine SOA dafür verwendet, um Anwendungen in einzelne Services aufzuteilen, dass jeder einzelne Service einen eigenen Geschäftsprozess darstellt. Mittels standardisierter Schnittstellen können diese gemeinsam verteilt genutzt werden. Mit einer SOA können diese Services so kombiniert werden, dass die Veränderungen innerhalb der Geschäftsprozesse softwaretechnisch schnell nachvollzogen werden können. Somit kann die IT-Strategie ebenfalls schneller an die geänderte Unternehmensstrategie angepasst werden und führt damit zu einer höheren Flexibilität und Agilität und erhöht die Wettbewerbsfähigkeit.

Open Source Software

Aktuelle Internettechnologien (z.B. Apache, MySQL), Entwicklungsumgebungen, Frameworks (z.B. Ruby, PHP) und Infrastrukturtechnologien (z.B. Linux, XEN) zeigen den Einfluss von Open Source Software auf die heutigen Infrastrukturen. So ist bspw. die Cloud der Amazon Web Services die größte XEN Installation weltweit.

Web Services

Web Services werden sehr oft im gleichen Atemzug mit einer SOA genannt, basieren letztendlich aber nur auf ihrem Architekturkonzept. Bei einem Web Service handelt es sich um eine Softwareapplikation, die mittels einer standardisierten Schnittstelle bei Bedarf aufgerufen werden kann. Web Services sind damit auch die Grundlage von Mashups.

Die Amazon Web Services sind das beste Beispiel dafür, dass Web Services zu den grundlegenden Technologien des Cloud Computing gehören. So handelt es sich um jeden angebotenen Service wie bspw. Amazon EC2 oder Amazon S3 jeweils um einen eigenen Web Service, der separat über eine eigene Schnittstelle unabhängig angesprochen werden kann.