Mit Bord-Mitteln private Clouds bauen

Dienste aus der Wolke

Cloud-Computing ist der Schrei in der IT-Branche. Warum also nicht einfach eine Cloud mit Linux-Boardmitteln selbst bauen? Dieser Artikel zeigt wie es geht und wie sich die Lösung später ausbauen lässt .
Auch wenn auf der Packung "Cloud Computing" steht, steckt dahinter eigentlich Virtualisierungstechnologie mit cleveren Management-Funktionen. ADMIN 05/2010 ... (mehr)

Schon vor einigen Jahrzehnten kam die Idee auf, Computer-Ressourcen gebündelt zur Verfügung zu stellen. Die als Utility-Computing geborene Idee wurde jedoch recht schnell wieder eingestampft, fehlte es damals einfach noch an der notwendigen Praxistauglichkeit. Später dann kamen verschiedene Software- Hersteller, wie beispielsweise Salesforce, auf die Idee, ihre Software in einem Distributions-Modell zur Miete anzubieten. Zum Betrieb dieses Software ist dann nur noch eine minimale EDV-Ausstattung notwendig, die Anwendungen selbst laufen dabei auf der Infrastruktur des Anbieters. Dieses unter dem Namen Software as a Service (SaaS) bekannte Modell war vielversprechend und kommt so tatsächlich auch heute noch zum Einsatz und das nicht nur für Business-Anwendungen.

Auch Google ist auf den Zug aufgesprungen und bietet immer mehr Software unter dem SaaS-Modell an. Lief die Office-Anwendung seit jeher direkt auf dem Desktop-PC, so greift man heute oft über einen Webbrowser auf solche Anwendungen zu. Dank der immer weiterentwickelten Virtualisierungstechnologien wurde dieses Software-basierte Modell entsprechend erweitert. Anstatt nur Software zur Miete zur Verfügung zu stellen, bieten aktuelle Cloud-Provider nun auch komplette Hardware-Infrastrukturen zur Miete an. Je nach Wunsch kommt diese bereits vorkonfiguriert und mit einem Betriebssystem einsatzbereit zum Angebot. Hier kann der Kunde dann nach Herzenslust seine eigene Software ausrollen und muss sich um die notwendige Infrastruktur keine Sorgen mehr machen. Diese bereit zu stellen ist Aufgabe des Cloud-Providers. Sollten die Ressourcen einmal knapp werden, gilt es beispielsweise Lastspitzen abzufangen oder das bestehende Angebot zu erweitern, so mietet der Kunde einfach zusätzliche Ressourcen für den gewünschten Zeitraum und gibt diese wieder ab, sobald diese nicht mehr benötigt werden. Bezahlt wird nur das, was tatsächlich verwendet wird. Bekannte Buzz-Words die man im Zusammenhang mit diesem Cloud-Modell immer wieder hört sind "Platform as a Service (Paas)" beziehungsweise "Infrastructure as a Service (IaaS)" ( Abbildung 1 ).

 

Vor- und Nachteile

Im Vergleich zum konventionellen Betrieb einer Software bieten die beschriebenen Cloud-Modelle handfeste Vorteile:

  • Als erstes sind hier natürlich die Kosten zu nennen. Die notwendige Infrastruktur zum Betrieb der Systemlandschaft steht nicht mehr im eigenen Hause sondern im Rechenzentrum des Cloud-Providers. Somit entfallen sämtliche Kosten die in diesem Zusammenhang stehen. Angefangen bei der Kauf- oder Leasinggebühr der eingesetzten Hardware, weiter über Unterhaltskosten bis hin zu Personalkosten.
  • Zusätzliche Hardware-Ressourcen sind auf Wunsch kurzfristig verfügbar. Lastspitzen lassen sich somit viel besser abfangen und Ressourcen können anschließend problemlos an den Anbieter zurückgegeben werden. Cloud-Provider rechnen problemlos pro Stunde ab.
  • Die exzellente Netzwerk-Anbindung eines Cloud-Providers sorgt zumeist für eine bessere Verfügbarkeit der eigenen Dienste.
  • Anstatt sich selbst mit dem leidigen Thema Backup zu beschäftigen, greift man einfach auf die angebotenen Leistungen des Providers zurück.

Natürlich sollte man dabei auch eventuell vorhandenen Risiken beim Einsatz des Cloud-Computings nicht vergessen. Viele Nutzer führen als erstes Gegenargument das Thema Datenschutz und -sicherheit an. Lagert man die eigene Infrastrukur an einen externen Cloud-Anbier aus, so vertraut man diesem wohl oder über auch die eigenen, möglicherweise sensiblen Daten an. Aktuell fehlen auch auch noch entsprechende, allgemeingültige Standards, die den Zugriff auf die Ressourcen in der Cloud regeln. Somit entsteht ein gewisses Abhängigkeitsverhälnis zwischen Cloud-Anbieter und Kunden. Dieses Argument kommt besonders dann zum Tragen, wenn die eigenen Daten bei verschiedenen Anbietern hinterlegt sind. Manchmal möchte man vielleicht auch einfach Ressourcen im eigenen Rechenzentrum mit denen beim Cloud-Anbieter kombinieren (Hybrid Cloud Computing), einheitliche Schnittstellen würden hier das Management der Ressourcen um einiges einfacher machen. Glücklicherweise ist dieses Problem aber bereits erkannt und Lösungen wie Deltacloud sind im Entstehen [1] .

Schrittweise Migration

Mittlerweile gibt es einige Cloud-Provider bei denen Anwender die oben beschriebenen Cloud-Modelle einkaufen können. Einen Überblick dazu gibt der Cloud-Vergleich in diesem Heft. Oftmals fällt es Kunden, wegen den oben beschriebenen Nachteilen beim Einsatz von Cloud-Computing, jedoch schwer, komplett auf eine externe Cloud-Struktur umzusteigen. Ziel dieses Artikels ist deshalb eine sanfte und schrittweise Migration mit bekannten und erprobten Open-Source-Komponenten. An erster Stelle steht dabei die Konsolidierung der eigenen Hardware, um die vorhandenen Ressourcen besser ausnutzen zu können. Hierbei helfen Virtualizierungslösungen wie KVM oder Xen.

Im nächsten Schritt geht es dann darum, die virtuelle Infrastruktur durch das Zusammenschalten von verschiedenen Ressourcen besser zu skalieren. Um die oben beschriebenen Lastspitzen besser abfangen zu können, gilt es, neue Systeme schnell zur Verfügung zu stellen. Das System-Provisioning spielt hier also eine große Rolle und sollte möglichst automatisiert stattfinden. Mit Hilfe des Management-Tools Spacewalk und der API einer Virtualisierungslösung wie beispielsweise KVM/Libvirt lassen sich so schnell neue Systeme zur Verfügung stellen oder bestehende Systeme um zusätzliche Ressourcen erweitern. Am Ende steht dann der große Schritt, einzelne Dienste an einen kommerziellen Cloud-Provider auszulagern und sie dann mit anderen Diensten aus der eigenen, privaten Cloud zu verknüpfen.

Ein mögliches Szenario wäre der Betrieb von I/O-intensiven Anwendungen wie beispielsweise Datenbank-Servern, in der privaten Cloud, und Applikationsservern in einer öffentlichen Cloud. Für einen einheitlichen Zugriff auf sämtliche Ressourcen, egal ob diese lokal oder entfernt beim Cloud-Anbieter liegen, ist eine einheitliche API wünschenswert. Das bereits erwähnte Deltacloud hilft hier weiter. Das Tool bietet eine einheitliche API für den Zugriff auf die bekannten Cloud-Anbieter wie beispielsweise Amazon und Rackspace. Auch der Zugriff auf die eigene Infrastruktur ist mit diesem Tool möglich. Das Ergebnis ist eine leistungsstarke Systemlandschaft aus lokalen und entfernten Komponenten deren Komplexität durch eine einheitliche Schnittstelle minimiert ist.

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023