09 JulWas ist Cloud Computing?

Der Begriff Cloud Computing ist inzwischen in aller Munde und – auch ohne Gartners Hype Cycle für Cloud Computing zu kennen – ist vermutlich schnell klar, dass dieser Trendbegriff inzwischen auf dem Höhepunkt des Hypes angekommen ist. Der Markt für Cloud Computing boomt und, wie bei derartigen Begriffen in der IT üblich (letztes großes Thema mit einer ähnlichen Dimension war wohl SOA – Service Oriented Architecture – oder auch Web 2.0), rühmen es die einen als überwältigend neues Konzept, das die IT-Welt revolutioniert. Andere verpassen ihnen dagegen den Stempel “alter Wein in neuen Schleuchen” und versuchen sie entweder so gut es geht zu ignorieren oder selbst Profit daraus zu schlagen, in dem sie tatsächlich ihren alten Wein in neue Schleuche gießen und entsprechend vermarkten. Und so kann sich aktuell vermutlich kein Softwarehersteller als modern bezeichnen, der keine Cloud Lösung im Angebot hat und öffentliche TV-Spots, die den Privatanwendern ihr bisheriges E-Mail Angebot als die persönliche Cloud anpreisen, machen den Begriff noch nebulöser als er eh schon ist.

Doch was ist Cloud Computing nun eigentlich?

Übersetzt bedeutet Cloud Computing soviel wie “Datenverarbeitung in der Wolke”, wobei die Wolke in grafischen Darstellungen in der Regel für das Internet stand. Wolke als Symbol eventuell deshalb, da sie weit entfernt und nicht direkt greifbar ist. So sind auch die Daten und Dienste, die im Rahmen des Cloud Computing verarbeitet bzw. bereitgestellt werden für den Anwender und für das Unternehmen nicht direkt greifbar – vermeintlich im Gegensatz zu Daten und Services auf einem selbst betriebenen Server (der aber, zumindest sofern Verfügbarkeit und Sicherheit eine Rolle spielen, schon lange nicht mehr beim Chef unter dem Schreibtisch steht, sondern im zutrittsgesicherten Rechenzentrum mit Backup kilometerweit entfernt in einer anderen Stadt, einem anderen Land oder sogar einem anderen Kontinent). Es gibt jedoch nicht eine nebulöse “Cloud” irgendwo im Internet, sondern vielmehr verschiedene (mehr oder weniger zuverlässige) Anbieter, die Rechner miteinander vernetzen (IT Cluster / Grid Computing) und deren Leistung und Kapazität anderen zur Verfügung stellen.

Cloud Computing ist letztendlich also die Virtualisierung und dynamische Nutzung von IT-Strukturen wie Rechnerkapazitäten, Datenspeicher, Programmierumgebungen und Anwendungen sowie den damit verbundenen Services (Zugriffsmöglichkeiten, Wartung, …).

Hier einige Entwicklungen, die sich in den letzten Jahren abgezeichnet haben und die – unabhängig davon, ob man Cloud Computing für revolutionär hält oder nicht – auf jeden Fall beachtlich sind und für Anwender und Unternehmen Vorteile bringen:

  • Daten sind zunehmend zentral verfügbar und lassen sich von überall aus abrufen, egal ob von zu Hause, vom Büro oder unterwegs – egal, ob über einen stationären Computer, ein Notebook oder ein mobiles Endgerät.
  • Über Browser und Internet sind nicht mehr nur einfache Webseiten und Daten abrufbar, sondern es lassen sich inzwischen komplette Business-Applikationen nutzen (z.B. Excel, CRM, HR).
  • Große erfolgreiche Unternehmen (z.B. Amazon, Google) stellen ihre bewährten Prozesse und IT-Resourcen auch anderen Unternehmen zur Verfügung.
  • Hardware und Software kann zunehmend auch gemietet statt gekauft werden.
  • Benötigte Kapazitäten und Leistung von Hardware- und Software-Services können bei Bedarf schnell erweitert werden, ggf. sogar vollautomatisch (z.B. Amazon Elastic Compute Cloud)

Bei der Nutzung von Cloud Computing Diensten unterscheidet man in der Regel 3 Ebenen (Abstraktionslevel):

  1. Software as a Service (SaaS)
    Bereitstellung von Applikationen für Enduser – z.B. Salesforce.com CRM, Google Apps, Microsoft Office 365, SAP On Demand
  2. Platform as a Service (PaaS)
    Bereitstellung einer Arbeitsumgebung für Entwickler, um eigene leistungsfähige Angebote zu entwickeln – z.B. Force.com, Google App Engine
  3. Infrastructure as a Service (IaaS)
    Bereitstellung von skalierbaren Rechner- und Speicherkapazitäten (Hardware) – z.B. Amazon EC2/S3, Rackspace

Die Nutzung von Angeboten der oberen Ebenen schließen in der Regel die Nutzung der unteren Ebenen mit ein, ggf. werden sie jedoch nicht separat angeboten. Beispielsweise stellt Salesforce als SaaS-Anbieter implizit natürlich auch Infrastruktur bereit, vermarktet diese jedoch bislang nicht separat (z.B. lässt sich im Vergleich zu Amazon kein Server mieten auf dem Windows installiert wird). Eine Plattform (PaaS) für das Entwickeln von eigener Software bietet Salesforce dagegen an, sowohl für Unternehmen die ihr Salesforce CRM erweitern wollen, als auch für Unternehmen die das CRM nicht nutzen und trotzdem auf eine leistungsstarke Plattform setzen wollen.

Einige Kennzeichen des Cloud Computing:

  • Niedriges Anfangsinvestment – mieten statt kaufen
  • Bedarfsgerechtes Angebot, d.h. Abrechnung nach tatsächlicher Nutzung (On-Demand Infrastruktur/Software)
  • Zentrale Bereitstellung (in der Regel über das Internet, bei SaaS häufig Browser-basiert)
  • Flexibiltät und Skalierung, d.h. schnelle Erweiterung nach Bedarf (durch Zukauf von Lizenzen oder Kapazitäten)
  • Auslagerung von IT Services und Fokusierung auf die unternehmensspezifischen Kernkompetenzen
  • Je nach Anbieter hohe Zuverlässigkeit, hohe Qualitätsstandards und vertraglich zugesicherte SLAs
Im Vergleich zum klassischen IT Outsourcing werden die Dienste  in der Regel nicht für mich als Unternehmen individuell angeboten, sondern über effiziente Prozesse für eine breite Nutzergruppe leicht anpassbar bereitgestellt. Dies ermöglicht einen kostengünstigen bzw. qualitativ hochwertigen Service des Anbieters. Beispielsweise bei Salesforce CRM oder Google Apps arbeiten weltweit alle Nutzer mit der gleichen Software-Version (multi-tenancy), was die Komplexität für den Hersteller enorm verringert und das Angebot verbessert (z.B. auftretende Fehler sind bei allen Anwendern vorhanden und werden dementsprechend schnell entdeckt und gelöst).
Das klassische Cloud Computing, also die Nutzung von Cloud Diensten über das Internet, wird in der Regel als Public Cloud bezeichnet. Im Vergleich dazu ist Private Cloud der Versuch großer Unternehmen, die Konzepte des Cloud Computing im eigenen Unternehmen zu verwirklichen ohne die Services von anderen Anbietern zu nutzen (z.B. aus Datenschutzgründen). Hybrid Cloud als Mischform bedeutet, dass innerhalb eines Unternehmens einige Bereiche als Private Cloud umgesetzt werden, jedoch auch Public Cloud Lösungen verwendet werden.

 

Beispiele für die Flexibilität, Leistungsfähigkeit und Skalierbarkeit von Cloud Lösungen:

- SaaS: ein Produkthersteller benötigt für eine große Rückrufaktion einer Produktserie über den Zeitraum von 6-12 Monate 800 zusätzliche Call Center Arbeitsplätze. Über zusätzliche Salesforce Service Cloud Lizenzen mit einem Jahr Laufzeit kann er die Salesforce-Funktionalitäten, nach einem kurzen Gespräch mit dem Vertriebsmitarbeiter, innerhalb von wenigen Stunden voll nutzen.

- PaaS: ein globaler Dienstleister benötigt Funktionalitäten, die sehr auf die eigenen Geschäftsprozesse zugeschnitten sind und über das klassische CRM hinausgehen. Auf der Plattform Force.com kann er eigene Module schreiben und dabei zahlreiche Basisdienste (Email Services, Berechtigungskonzepte, Speicher, …) nutzen welche die Entwicklung der eigenen Anwendung enorm beschleunigen und später die Wartung vereinfachen.

- IaaS: ein Unternehmen im B2C Umfeld hat zum Monatsende ein erhöhtes Rechnungsaufkommen. Für die Erstellung werden zusätzliche Rechner-Resourcen benötigt, die an den 25 restlichen Tagen des Monats weitgehend ungenutzt blieben. Durch temporäres Zuschalten von externen Kapazitäten und Auslagern von Teiltransaktionen nach Amazon EC2 kann der Bedarf kostengünstiger befriedigt werden.

Für mich persönlich als Unternehmensberater ist Cloud Computing, oder insbesondere auch SaaS, eine weitere Stufe der Abstraktion von Technik und IT im Unternehmen und damit einhergehend eine stärkere Fokusierung auf eigene Prozesse sowie das schnelle Umsetzen von fachlich sinnvollen Lösungen. Während beispielsweise bei einem meiner früheren Projekte das Bereitstellen der Testumgebung mehrere Wochen gedauert hat (Zukauf von Hardware, Installation der Applikationen, Generierung von realitätsnahen Testdaten), geschieht dies derzeit in der Regel auf Knopfdruck innerhalb von wenigen Stunden.