Kategorien
Grundlagen

Was ist Utility Computing?

Bereits 1961 definierte Prof. John McCarthy das Time Sharing von Ressourcen wie z.B. die Nutzung von Rechnerleistung oder Anwendungen als Geschäftsmodell. Er stellte sich dabei vor, diese Ressourcen der Öffentlichkeit als ein Public Utility zur Verfügung zu stellen, also genau so, wie auch Strom, Wasser oder Gas bereitgestellt wird.

Der Begriff Utility Computing wird von Herbert Kircher in seinem Buch „IT: Technologien, Lösungen, Innovationen,“ wie folgt definiert: ’Utility Computing beschreibt eine grundlegende Transformation der Bereitstellung und des Managements von IT-Services – von einem technologieorientierten zu einem geschäftsorientierten Ansatz. Diese Umstellung erfordert eine äußerst flexible und effizient verwaltete dynamische IT-Infrastruktur mit vollständiger Kostenkontrolle, flexibler Kostenverrechnung und aktivem SLA-Management.’

Beim Utility Computing bekommt also ein ’Kunde’ von einem ’Serviceanbieter’ Rechenkapazität (Ressourcen) und die gesamte Infrastruktur inkl. dessen Management zur Verfügung gestellt. Dabei wird der Kunde nach dem Prinzip ’pay per use ’, also bezahle nur das, was Du tatsächlich verbrauchst, abgerechnet – was auch den entscheidenden Ansatz beim Utility Computing ausmacht. Für Utility Computing wird oft auch der Begriff ’On-Demand Computing’ (deutsch: in etwa ’rechnen auf Anfrage’) verwendet. Das Ziel von Utility Computing ist klar: Steigerung der effizienten Nutzung der Computerressorucen und das Senken der dabei anfallenden Nebenkosten (Strom, etc.).

Der große Vorteil von Utility-Computing ist eine bessere Wirtschaftlichkeit, da Unternehmen nur für die Computerressourcen bezahlen, die sie nutzen, wenn sie diese nutzen. Rechenzentren von Unternehmen sind in der meisten Zeit nicht ausgelastet. Server sind in der Regel im Durchschnitt mit 15% ausgelastet, sind also in 85% der Zeit im Leerlauf. Unternehmen statten ihre Rechenzentren grundsätzlich mit zu vielen Ressourcen aus. Dies ist auf der einen Seiten genau der richtige Ansatz, denn die Systeme müssen auch in Spitzenzeiten (z.B. Urlaubszeit bei einem Online Reiseveranstalter aber auch für unvorhersehbare Ereignisse) voll funktionsfähig sein und dürfen nicht plötzlich überlastet sein und ausfallen. Andererseits sind die Systeme für normale Zeiten total überdimensioniert. Um genau diese eben angesprochenen Spitzenzeiten abzufangen ist Utility Computing das richtige Konzept, da der Anbieter in der Zeit die (angemieteten Systeme) dynamisch vergrößern kann. Die Kosten sind in den normalen Zeit ’…relativ gering und konstant…’ und steigen nur während der Hochkonjunktur, da auch die Systeme wachsen.

Anbieter von Utility Computing Diensten profitieren von den Größenvorteilen ihrer Systeme, da sie dieselbe Infrastruktur nutzen können, um damit mehrere Kunden zu bedienen.

Wie im Grid Computing wird auch im Utility Computing der Begriff der Virtuellen Organisation verwendet, mit denen Organisationen Computer Ressourcen in dem Moment kaufen oder verkaufen, wenn diese gerade benötigt werden.

Kategorien
Grundlagen

Was ist Grid Computing?

Die Charakteristiken von Computercluster sind das Bereitstellen von reiner Rechnerleistung in einem lokalen begrenzten Bereich. Die nächste Herausforderung bestand also darin, die Rechenleistung nicht nur lokal, sondern auch global verfügbar zu machen und neben der Rechenleistung z.B. auch Daten und Applikationen bereitzustellen.

Mitte der 1990er wurde der Begriff des Metacomputing als Möglichkeit zur Erweiterung von Paralleler Datenverarbeitung und Custer Computing eingeführt. Die Idee bestand darin, große Computersysteme über WAN-Leitungen (Wide Area Network) miteinander zu verbinden. Im Jahr 1997 wurden erstmals zwei Supercomputer des High Performance Computing Center Stuttgart (HLRS) und des Pittsburgh Supercomputing Centre (PSC) miteinander verbunden. Trotz der Verfügbarkeit von hohen Bandbreiten innerhalb der nationalen und internationalen Forschungsnetzwerke scheiterte das Experiment auf Grund der Latenz.

Das Metacomputing bezieht sich aber lediglich nur auf Computer (Rechenleistung) im Allgemeinen. Ian Foster und Carl Kesselman stellten im Jahre 1999 ein neues erweitertes Konzept mit dem Namen Grid Computing vor, das neben Computer auch andere Arten von (IT-)Ressourcen wie Software, Datenbanken, Rechenleistung, Speicherplatz oder spezielle Hardware beinhalten und miteiander vernetzen kann. Der Begriff des Grid wird abgeleitet aus dem englischen Wort Electrical Power Grid (Deutsch: Stromnetz), dessen Idee darin besteht, die Ressourcen den Benutzern so zur Verfügung zu stellen, als wenn sie den Strom aus der Steckdose bekommen würden. Dabei verfügt das Grid über standardisierte Schnittstellen, über die der Benutzer seine Anfragen übermitteln kann und ihm die Ressourcen dann automatisiert zugeteilt werden. Die Ressourcen sind dabei über das Internet verteilt und können unterschiedlichen ’virtuellen’ Organisationen angehören. Anhand der Schnittstellen kann der Status der Ressourcen abgefragt und diese direkt angesprochen werden. Ein entscheidender Vorteil liegt darin, dass der geographische Ort an dem sich die Ressource befindet nicht mehr von Bedeutung ist – siehe Graphik. Auf Grund des beliebigen und weltweiten Zugriffs auf Ressourcen über das Internet gilt das Grid als Generalisierung des World Wide Web. Davon abgeleitet steht die Technologie des Grid Computing somit als die Basistechnologie für die Koordination und Verarbeitung organisationsübergreifender Geschäftsprozesse und den gemeinschaftlichen Austausch und die Nutzung von Ressourcen.

Das entscheidende Ziel des Grid Computings bestand also darin, Ressourcen gemeinschaftlich global zu nutzen sowie diese zu koordinieren und darüber hinaus gemeinsam Probleme institutionsübergreifend in dynamischen virtuellen Organisationen zu lösen. Genauer bedeutet dies, dass zu Beginn Formalitäten wie das Abrechnungsschema und die Zugangsrechte geklärt werden und anschließend der Zugriff auf die Ressourcen wie z.B. Rechnerleistung oder Anwendungen für die gemeinschaftliche Nutzung bereitgestellt werden. Der Begriff der virtuellen Organisation beschreibt in diesem Fall eine dynamische Allianz von Organisationen, die ein gemeinsames Interesse während der Nutzung des Grids vertreten.

Arten von Grid Computing

Je nachdem wie die Ressourcen miteinander vernetzt sind und um was für ein Anwendungsszenario es sich handelt, können Grids in unterschiedliche Arten unterteilt werden. Nachfolgend werden fünf unterschiedliche Arten betrachtet.

  • Compute Grids
    Compute Grids werden verwendet um einem Benutzer Rechnerleistung bzw. Rechnerkapazität, die ihm in seiner eigenen Umgebung nicht zur Verfügung stehen, verteilt bereitzustellen. Das Bereitstellen kann hierbei eine derzeit nicht verwendete Ressource – z.B. eine Workstation außerhalb der Geschäftszeiten sein, oder aber auch ein Hochleistungclustersystem.
  • Data Grids
    Data Grids werden eingesetzt um große verteilte Datenmengen gemeinsam zu Nutzen und diese zu verarbeiten. Dabei wird eine sogenannte Data-Federation, eine organisationübergreifende Sicht auf alle Daten, die beispielsweise einem Projekt zugewiesen sind, definiert. Bei so einer Data-Federation handelt es sich um ein dezentral verwaltetes System, bei dem derjenige, der die Daten in dieser Umgebung zur Verfügung stellt auch die uneingeschränkte Kontrolle über diese Daten behält.
  • Application Grids
    Application Grids waren der erste Ansatz um virtuelle Organisationen zu etablieren und damit die organisationsübergreifende gemeinsame Nutzung von Ressourcen voranzutreiben. Die Betreiber der Grids sollten dadurch eine höhere Auslastung und die Benutzer ein besseres Angebot erfahren. Themen, die innerhalb dieses Grids auftreten, sind sichere und schnelle Datenverbindungen, Authentifikationen, Authorisierungen und Single-Sign-On sowie Accounting und Abbrechnungsmöglichkeiten.
  • Resource Grids
    Resource Grids sind die Erweiterung der Application Grids. Diese definieren ein Rollenmodell, in dem eindeutig zwischen einem Grid Benutzer, einem Grid Provider und einem Resource Provider unterschieden wird. Die Hierarchie ist logisch geordnert. Ein Grid Benutzer verwendet die Grid Infrastruktur des Grid Provider um die dort vorhandenen Ressourcen des Resource Providers zu nutzen. Für den Grid Benutzer unterscheidet sich die Funktionalität des Application- und des Resource Grids nicht. Das Konzept der beiden hat aber einen gravierenden Unterschied. Application Grids werden vertikal integriert, was bedeutet dass der Bedarf an Fremdleistungen sehr gering gehalten wird und die Komponenten individuell hinzugefügt werden. Dagegen müssen bei einem Resource Grid alle Schnittstellen definiert und offen gelegt werden, da jeder Ressource Provider über die Spezifikation der Grid Infrastruktur des Grid Providers informiert sein muss um dort ggf. seine Ressourcen anbieten zu können.
  • Service Grids
    Ein Service Grid verbindet das Konzept der Serviceorientierung mit der Technik der Resource Grids. Ein Service wird in diesem Zusammenhang als ein Bündel von mehreren Komponenten betrachtet, von dem jede einzelne Komponente wiederum als Utility von einem anderen Resource Provider zur Verfügung gestellt wird. In dieser Form des Grids existiert eine übergeordnete Form des Grid Providers, der so genannte Grid Service Provider, der im direkten Kontakt mit den Grid Benutzern steht und ihnen einen Komplettservice anbietet. Das bedeutet, dass der Grid Benutzer nicht darüber informiert ist, welcher Resource Provider ihm welche Ressource bereitstellt.
Kategorien
Grundlagen

Was ist Cluster Computing?

Handelte es sich bei Supercomputern zu Beginn noch um Systeme mit spezieller Technologie, werden heute in der Regel gängige Servertechnologien eingesetzt. Dabei werden viele einzelne, in der Regel kostengünstige Server zu einem so genannten Servercluster vernetzt, um über die Rechenleistung eines Supercomputers zu verfügen.

Die Grundlagen des Cluster Computing legte Gene Amdahl als Computerarchitekt bei IBM. In seinem 1967 veröffentlichten Paper zum Thema ’Parallel Processing’ stellte er folgende These auf, die auch als Amdahl’s Law bezeichnet wird und als Basis für Multiprozessor sowie Clustercomputer gilt.

Das Gesetz besagt, ’… wie sich der nicht parallelisierbare Anteil eines Programms auf die Gesamtrechenzeit auswirkt …’. Genauer bedeutet dies, dass die Geschwindigkeitszunahme in erster Linie durch den sequentiellen Anteil des Algorithmus beschränkt wird. Das ist darauf zurückzuführen, dass sich die Ausführungszeit nicht durch Parallelisierung verkleinern lässt.

Die ersten Ideen einen Computercluster aufzubauen stammen aus den Zeiten, in denen auch die ersten Computernetzwerke aufgebaut wurden. Der Grundgedanke zum Aufbau solcher Netzwerke bestand darin, Ressourcen in Form von Computersystemen untereinander zu verbinden und damit einen quasi Computercluster aufzubauen. Durch die Einführung der Paket vermittelnden Netzwerke im Jahre 1962 durch die Firma RAND, wurde auf dieser Grundlage 1969 das ARPANET Projekt gegründet. Dieses gilt als das erste Commodity-Netzwerk auf Basis eines Computercluster, in dem vier unterschiedliche Computercenter miteinander verbunden wurden. Jedes dieser vier Computercenter war für sich selbst wieder ein Computercluster, die aber nur autonom arbeiteten. Aus dem ARPANET wurde später das Internet, weshalb das Internet auch als die ’Mutter’ aller Computercluster gilt, aus dem Grund, das quasi alle Computerressourcen inkl. aller bereits bestehenden Cluster zusammengeschlossen werden können.

Ein Computercluster beschreibt also eine meist große Anzahl von einzelnen miteinander vernetzten Computern, die dazu verwendet werden einzelne Teilaufgaben, die zu einer Gesamtaufgabe gehören, parallel zu verarbeiten. Von außen betrachtet wirkt ein Computercluster wie ein einzelnes System. Die jeweiligen Knoten sind dabei untereinander über ein schnelles Netzwerk verbunden. Durch den Aufbau solcher Serverfarmen wird die Rechenkapazität und Verfügbarkeit deutlich gegenüber eines einzigen Computers erhöht. Vor allem die Ausfallsicherheit eines solchen Computercluster ist ein entscheidender Vorteil gegenüber einem einzelnen Computersystem. Fällt innerhalb eines Clusterverbunds ein einzelnes System aus, hat das keinen direkten Einfluss auf alle anderen beteiligten Systeme innerhalb des Clusters. Es wird damit also eine Redundanz erzielt. Computercluster können am besten für die Verarbeitung von Batch-Jobs eingesetzt werden, bei denen viele parallele Teilberechnungen durchgeführt werden. Handelt es sich bei der Verarbeitung jedoch um Teilaufgaben, die im hohen Maße synchronisiert werden müssen, sind Computercluster dafür nicht geeignet, da der Kommunikationsoverhead zwischen den einzelnen Systemen den Performancegewinn, der durch die parallele Verarbeitung entsteht, wieder relativiert.

Der erste kommerziell zu erwerbende Computercluster (ARCnet) wurde im Jahr 1977 von der Firma Datapoint vorgestellt. Mit dem so genannten VAXCluster für ihr
VAX-System hatte die Firma DEC im Jahr 1983 den ersten richtigen Erfolg im Bereich des kommerziellen Clustercomputing.

Arten von Computer Cluster

Das Ziel des Cluster Computing ist die Bereitstellung einer sehr hohen Rechenleistung bzw. einer besonders ausfallsicheren Rechnerumgebung. Von diesen Zielen ausgehend werden verschiedene Arten von Computercluster und dadurch auch deren Einsatzfeld definiert.

Bei Clustersystemen wird grundsätzlich zwischen homogenen und heterogenen Clustern unterschieden. Homogene Cluster zeichnen sich dadurch aus, dass die jeweiligen Computer, die dem Cluster angehören, alle das gleiche Betriebssystem und die gleiche Hardware einsetzen. Computer, die zu einem heterogenen Cluster gehören, dürfen über unterschiedliche Betriebssysteme und Hardware verfügen.

Heutzutage werden drei Arten von Computercluster unterschieden und eingesetzt:

  • Hochverfügbarkeit Cluster
    Hochverfügbarkeit Cluster werden verwendet die Verfügbarkeit zu steigern und für eine bessere Ausfallsicherheit zu sorgen. Aus diesem Grund darf die gesamte Hardware als auch die Software eines solchen Cluster in keinerWeise über einen Single-Point-of-Failure verfügen, da die Definition und der Zweck diesem widersprechen würde. Im Fehlerfall werden die Dienste von dem defekten Host des Cluster auf einen anderen Host automatisch übertragen. Einsatzgebiete solcher Clustersysteme sind Bereiche, in denen eine Ausfallzeit maximal einige Minuten pro Jahr erlaubt. Eine besondere Art von Hochverfügbarkeit Cluster sind die so genannten ’stretched Cluster’. In diesem Fall werden einzelne Hosts eines Cluster räumlich getrennt in verschiedene weit voneinander entfernte Rechenzentren untergebracht. Kommt es in einem der Rechenzentren zu einem nicht vorhersagbaren Problem, können die Hosts des anderen Rechenzentrums vollständig die Aufgaben übernehmen.
  • Load-Balancing Cluster
    Load-Balancing Cluster werden dazu verwendet eine Lastverteilung auf mehrere Computer zu ermöglichen. Aus der Benutzersicht steht ihm nur eine zentrale Einheit gegenüber, die aber logisch gesehen aus mehreren vernetzten Systeme besteht. Um die Leistung des gesamten Cluster zu erhöhen, werden nicht die einzelnen Hosts für sich aufgerüstet, sondern ein zusätzlicher Host dem Cluster hinzugefügt. Einsatzbereiche sind Umgebungen, in denen die Anforderungen an die Rechenleistung extrem hoch sind.
  • High Performance Computing Cluster
    High Performance Computing Cluster werden überwiegend dazu verwendet Berechnungsverfahren durchzuführen, wobei die Berechnungen auf mehrere Hosts verteilt werden. Hierbei werden zwei unterschiedliche Arten der Aufgabenverteilung unterschieden. Eine Möglichkeit besteht darin, die Aufgaben in unterschiedliche Pakete zu verteilen, die dann parallel auf mehreren Hosts ausgeführt werden. Die andere Variante wäre, die Aufgaben auf die einzelnen Hosts direkt zu verteilen. Einsatzgebiete der High Performance Computing Cluster liegen überwiegend in den wissenschaftlichen Bereichen, aber auch die Serverfarmen für das Rendern von 3D-Computergrafiken und Computeranimationen gehören zu dieser Art von Cluster.
Kategorien
Grundlagen

Was sind Supercomputer?

Supercomputer sind Hochleistungsrechner die auf eine sehr hohe Verarbeitungsleistung ausgerichtet sind. Sie verfügen über ein Array von Prozessoren, die auf eine gemeinsame Peripherie und einen gemeinsamen Hauptspeicher zugreifen können. Die Aufgaben werden parallel auf mehrere Prozessoren verteilt und anschließend ebenfalls mit hoher Parallelität abgearbeitet. Da das Array dabei aus mehreren tausend Prozessoren bestehen kann, wird damit die Arbeitsgeschwindigkeit erhöht. Die Rechnerarchitektur eines Supercomputers ist dabei speziell für eine bestimmte Anwendung angepasst, um die höchstmögliche Verarbeitungsgeschwindigkeit zu erreichen.

In den 1970er wurden die ersten Supercomputer von der Firma Cray (benannt nach dem Unternehmensgründer Seymour Cray) hergestellt. Der erste Supercomputer bekam den Namen Cray-1 und verfügte über 250 MegaFLOPS.

Welche Ziele werden mit Supercomputern verfolgt?

Der Wunsch aufwendige Abbildungen der Realwelt (Simulationen) und immer genauere Vorhersagen und aussagekräftige Gesamtergebnisse zu liefern ist in der Vergangenheit drastisch gewachsen. Hinzu kommt, dass Simulationen immer realitätsnaher werden und die beiläufigen Neben- und Randbedingungen zunehmen. Damit u.a. solche umfangreichen und hochparametrigen numerischen Probleme schnell gelöst werden können und immer mehr komplexere Zusammenhänge mit einbezogen werden können, sind Systeme mit extrem schneller und hoher Rechenleistung erforderlich. Für die Lösungen solcher Problemstellungen kommen Supercomputer zum Einsatz. Typischerweise werden Supercomputer heute in den folgenden Bereichen eingesetzt.

  • In der Klimaforschung zur Wettervorhersage.
  • Für die Auswertung hochauflösender bewegter Bilder in Echtzeit.
  • Für den Einsatz in Verteidigungssystemen als Zentrale Einheit.
  • In der Festkörperphysik.
  • In der Weltraumforschung.
  • Zur Berechnung von Filmsequenzen.
  • In den Bereichen der Simulations- und Crashtechnik.

Wie zu erkennen ist, handelt es sich in den Beispielen um Bereiche, in denen komplexe Systeme oder Teilsysteme untereinander stark verbunden sind. Diese Abhängigkeiten führen dazu, das Veränderungen in einem Teilsystem sich in der Regel auch parallel auf alle weiteren vorhanden Systeme auswirken, was eine hohe Rechenleistungen voraussetzt.

Kategorien
Grundlagen

Computer Games as a Service

Computer Games as a Service (CGaaS) bezeichnet einen Begriff aus dem Bereich des Cloud Computing und steht für ein Servicemodell, bei dem Computerspiele über das Internet bereitgestellt und auf den heimischen PC gestreamt werden.

Kategorien
Grundlagen

"Leitfaden Cloud Computing" des BITKOM

Der Bundesverband Informationswirtschaft, Telekommunikation und neue Medien e.V. (BITKOM) hat einen Leitfanden zum Cloud Computing herausgegeben, der sich speziell an Unternehmen richtet um sie zu motivieren sich mit Cloud Computing auseinander zu setzen und somit Potenziale für Ihr Business zu erkennen.

Der Fokus liegt dabei auf den geschäftlichen Herausforderungen, den Geschäftsmodellen und der Integrierbarkeit von Cloud-Lösungen in die Geschäftsprozesse. Im Vordergrund stehen dabei die strategischen und wirtschaftlichen Aspekte.

Der vorliegende Leitfaden umfasst 7 Kapitel. Entscheider finden im Kapitel 1 die wesentlichen Aussagen über die Relevanz von Cloud Computing für ihr Business. Das Kapitel 2 zeigt auf, welchen Einfluss Cloud Computing auf Wertschöpfungsketten ausübt. Im Kapitel 3 werden wesentliche Faktoren erörtert, die die Diffusionsgeschwindigkeit von Cloud Computing determinieren. Das Kapitel 4 ist juristischen Fragestellungen vorbehalten. Einsatzszenarien und –beispiele für Cloud Computing werden im Kapitel 5 erläutert, während das Kapitel 6 den Zusammenhang zwischen Cloud Computing und anderen Technologieentwicklungen beleuchtet. Den Leitfaden rundet eine Checkliste im Kapitel 7 ab.

Der Leitfanden kann auf der Internetseite des BITKOM kostenlos heruntergeladen werden. – DOWNLOAD

An dieser Stelle auch vielen Dank an Herrn Andreas Wilker, der in der Cloud-Community.org | DE auf diesen Leitfaden aufmerksam gemacht hat.

Kategorien
Grundlagen Videos

Video: Was ist Cloud Computing?

Ein Video von Salesforce erklärt sehr schön und deutlich den Hintergrund von Cloud Computing.

http://www.youtube.com/watch?v=xJCOzUk76GQ

Kategorien
Grundlagen

Was bedeutet "Autoscaling?

Autoscaling [1] sorgt dafür, dass die Anzahl der Server innerhalb einer Server-Farm automatisch skaliert. Bei steigender Serverlast wird die Arbeit dann von einer größeren Anzahl an Servern übernommen. Sinkt die Serverlast werden die nicht mehr benötigten Server automatisch heruntergefahren.


[2]

Autoscaling ist typisch für das Cloud Computing und ist dann vorteilhaft, wenn die Auslastung der Server großen Schwankungen zugrunde liegt. Ein typischer Fall sind Webseiten, die nur zeitlich oder saisonal stark betroffen sind. Viele Webseiten „schlafen“ am Tag und müssen in der Nacht Spitzenlasten verarbeiten. Ein anderes Beispiel sind Webshops, die über das Jahr hinweg eine konstante Besucherzahl haben, aber zu Feiertagen, wie z.B. Weihnachten zunehmend „überlaufen“ werden. Das Gleiche gilt für Online Reisebüros, die im Sommer und im Winter ihre Spitzenzeiten haben, im Früjahr und Herbst aber eher weniger ausgelastet sind. Das Autoscaling sorgt in diesen Fällen dafür, dass während der Spitzenzeiten automatisch die Performance der Webseiten mitwächst und in den Zeiten, wo weniger Last zu verarbeiten ist, die überschüssigen Server „abgestossen“ werden. Es handelt sich also um eine dynamische Skalierung der zum jeweiligen Zeitpunkt benötigten Performance.

Die technischen als auch wirtschaftlichen Vorteile liegen somit auf der Hand. Da im Cloud Computing die Server pro Stunde „gemietet“ und abgerechnet werden, können durch die Verringerung der eingesetzten Server während geringer Lastzeiten ebenfalls die Kosten reduziert werden. Auf Grund der Nutzung einer höheren Anzahl an Servern zu Spitzenzeiten, werden Performanceprobleme vermieden.

Ein Video der Elusive KG veranschaulicht wie autoscaling funktioniert.

Quellen:

[1] AWS – Autoscaling
[2] Graphik: Autoscaling

Kategorien
Grundlagen

Klassifikationen der Rollen in der Cloud

Im Cloud Computing werden vier Arten von Nutzerrollen unterschieden. Zum einen gibt es die SaaS-Benutzer, also diejenigen Unternehmen, Mitarbeiter aber auch Privatanwender, die einen SaaS Dienst verwenden. Des Weiteren wird von den SaaS-Providern gesprochen, die den SaaS-Benutzern ihre Dienste bereitstellen. Den SaaS-Providern wird zugleich die Rolle des Cloud-Benutzers zugesprochen, da von ihnen die Dienste der dritten Nutzerrolle, nämlich den Cloud-Providern, in Anspruch genommen wird. Ein Cloud-Provider steht im eigentlichen Sinne für den Betreiber der Wolke, ihm gehört in der Regel das Rechenzentrum und die gesamte Infrastruktur, die dazugehört. Der SaaS-Provider kann das Rechenzentrum nutzen um mittels der Infrastruktur dem SaaS-Benutzer seine Dienste zur Verfügung zu stellen.

Klassifikationen der Rollen in der Cloud
Klassifikationen der Rollen in der Cloud [1]

In einigen Fällen kann der Cloud-Provider gleichzeitig die Rolle des SaaS-Providers übernehmen. Das ist genau dann der Fall, wenn der Betreiber des Rechenzentrums auch SaaS Dienste direkt anbietet. Genauso kann aber auch ein SaaS-Benutzer zusätzlich die Rolle eines Cloud-Benutzers einnehmen, nämlich genau dann, wenn dieser z.B. seine gesamten Serverkapazitäten (Speicher, Rechenkapazität, etc.) direkt in das Rechenzentrum eines Cloud-Providers auslagert.

Im Allgemeinen kann man sagen, dass sich die Probleme der jeweiligen Rollen verlagern. Der SaaS-Benutzer verschiebt seine ‚Probleme‘ in Form von Software und Diensten zum SaaS-Provider, der wiederum seine ‚Probleme‘ in Form eines Rechenzentrums an den Cloud-Provider auslagert.

[1] University of California at Berkeley
Electrical Engineering and Computer Sciences
Above the Clouds: A Berkeley View of Cloud Computing

Kategorien
Grundlagen

Software as a Service

Software as a Service (SaaS) ist die oberste und letzte Schicht des Cloud Computing Service-Models. Sie stellt dem Anwender vollständige Anwendungen zur Verfügung. Sie kann als eine Art Distributionsmodell verstanden werden, bei dem die Nutzung von Software (Lizenzen) über das Internet von einem Drittanbieter angeboten wird. Der Drittanbieter übernimmt dabei u.a. die Wartung/ Aktualisierung und das Hosting der Software. Für den Anbieter besteht der Vorteil darin, dass nur eine Instanz einer Software auf den Servern bereitgestellt werden muss, welche unzählige Anwender gleichzeitig nutzen können. Wird die Software auf einen aktuellen Stand gebracht, genügt ein Update Vorgang an zentraler Stelle und die Software ist für alle Anwender gleichzeitig aktuallisiert. Der Vorteil für den Anwender besteht darin, dass lediglich – wie schon bei PaaS – nur ein Desktop-PC, ein Web-Browser und eine Internetverbindung ausreicht um z.B. Dienste wie E-Mail, Office Anwendungen oder sogar ERP-Systeme nutzen zu können. Die Anschaffung und Wartung großer Serverlandschaften bzw. Softwarepakete entfällt ebenso wie das ‚lästige‘ Updaten der lokalen Anwendungen. Der Drittanbieter sorgt immer für einen aktuellen Stand der Software und stellt die gesamte Infrastruktur für das Hosting der Software bereit. Dazu gehören auch das Speichern von Dateien (Dokumenten) auf den Servern des Anbieters. Der Anbieter ist demnach für alle notwendigen Bereiche des Betriebs, wie Verfügbarkeit, Backup, Redundanzen und auch die Stromversorgung verantwortlich. Auch hier erfolgt die Abrechnung wieder mit pay per use, mit dem kleinen Unterschied, dass die Kosten pro nutzenden Anwender der Software berechnet werden.

Software as a Service
Software as a Service [1]

[1] Microsoft Press
Cloud Computing mit der Microsoft Plattform
Microsoft Press PreView 1-2009