Unternehmens-Anwendungen in der Cloud: So funktioniert der Umzug

Red Hat CloudFront

Der Erfolg eines Umzugs von proprietären Virtualisierungslösungen in eine offene Hybrid-Cloud hängt davon ab, wie gut man seine Anwendungen auf die neue private oder öffentliche Cloudumgebung vorbereitet. Wer die folgenden Richtlinien beachtet, kann schon in kurzer Zeit messbare Kosteneinsparungen vorweisen.

Die IT-Landschaft in Unternehmen sieht heute meist so aus, dass eine proprietäre Virtualisierungslösung wie VMware oder Hyper-V vorherrscht auf der Anwendungen in virtuellen Maschinen laufen. Fachabteilungen können oft im Self-Service-Verfahren Ressourcen wie virtuelle Computer und virtuelle Festplatten anfordern, um ihre Anwendung zu betreiben. Teilweise sind auf den ersten Blick beeindruckende Mechanismen wie Live-Migration einer VM ohne Betriebsunterbrechung möglich.

Auf den zweiten Blick ist eine solche IT-Infrastruktur bereits überholt. IT-Manager sehen sich zunehmend mit neuen Herausforderungen konfrontiert. Zum einen werden immer kürzere Lebenszyklen von Anwendungen erwartet, zum anderen müssen die Anwendung mit dem Wachstum des Unternehmens kurzfristig skalieren können.

Das Problem der Skalierbarkeit lässt sich grundsätzlich mit einer offenen Hybrid-Cloud-Lösung unter OpenStack lösen. Neue Computing-Ressourcen in Form von VMs oder physischer Hardware kann bei Bedarf innerhalb von Minuten bereitgestellt werden. Dabei tritt allerdings in der Regel das Problem auf, dass man feststellen muss, dass heutige VMs gar nicht dazu geeignet sind, die Vorteile einer offenen Hybrid-Cloud-Lösung zu nutzen.

Eine klassische VM ist meist als “stateful VM” definiert. Die eigentliche Anwendung ist in der VM selber definiert und eng mit Betriebssystem und der virtuellen Maschine verzahnt. In einer gut konzeptionierten Cloud-Lösung sollte man auf “stateless VMs” beziehungsweise “stateless physical Hardware” setzen. Die Anwendung sollte sich jederzeit auf die VM on-demand ohne großen Installationsaufwand aufspielen lassen, so dass sie sich auf einige beliebige Anzahl von VM betreiben lässt. Nur auf diese Weise ist ein kurzes Life-Cycle-Management möglich.

service-models-workloads
Um alle Vorteile einer offenen Hybrid-Cloud-Architektur nutzen zu können, müssen Anwendungen darauf ausgerichtet werden.

 

VMs sind teilweise recht groß dimensioniert mit einer hohen Anzahl von virtuellen CPUs und  viel virtuellem Speicher. Besser ist es allerdings, möglichst kleine virtuelle Maschinen zu verwenden. Wenn mehr Leistung erforderlich ist, dann sollte die Applikation so gestaltet sein, dass es ausreicht, mehr virtuelle Maschinen vom selben Image zu starten. In klassischen VMs wird ein sogenanntes “Scale Up” betrieben. Das heißt, es werden mehr virtuelle CPUs und mehr virtueller Speicher zugeordnet. Das stößt allerdings schnell an Grenzen.

Um weiter skalieren zu können, ist dann oftmals ein 4P-System mit insgesamt 48 Kernen erforderlich. Die Kosten für solche Server steigen jedoch überproportional an. Zudem lassen sich große Scale-Up-Systeme nicht granular steuern. Man kann sie nur ein- oder ausschalten. Eine Leistungsreduktion bei geringer Last ist nicht möglich. Das führt ebenfalls zu unnötigen Kosten.

Bei proprietären Virtualisierungssystemen findet sich meist lokaler Speicher in Form von virtuellen Festplatten. Diese sind zwar meist in Form von SANs angebunden, dennoch sind sie örtlich an die Computing-Ressource gebunden. Wenn eine Applikation an anderen Standorten, etwa bei einem öffentlichen Cloud-Anbieter betrieben werden soll, so müssen teilweise Terabytes von Daten bewegt werden. Daher sollte der nicht-flüchtige Speicher möglichst in einer BigData-Lösung wie dem Object Store von OpenStack getrennt von der VM betrieben werden. Lokaler Speicher in Form von Volumes sollte immer als temporär betrachtet werden.

Viele Applikationen sind intolerant gegenüber dem Ausfall einer VM. Das SLA der Anwendung ist abhängig vom SLA, dass der Hersteller der Virtualisierungslösung bieten kann. Alle Anwendungen müssen so gestaltet werden, dass sie den Ausfall einer einzelnen VM oder der darunterliegenden Hardware problemlos überstehen. Das ist auch mit ein Grund, warum Anwendungen nach dem “Scale-Out-Prinzip” mit kleinen aber vielen VMs betrieben werden sollten.

Um die genannten Prinzipien einzuhalten, sind vielfach nur relativ wenige Änderungen an Unternehmens-IT-Anwendungen erforderlich. Oft ist es auch nur eine konzeptionelle Frage, wie man Anwendung und VM richtig miteinander verbindet und wo welche Daten abgelegt werden. Bestehende Anwendungen können natürlich auch in einer modernen offenen Hybrid-Cloud-Umgebung als klassische VM betrieben werden. Sie können nach und nach umgestaltet werden.

Das richtige Management für die offene Hybrid-Cloud

Während das richtige Anwendungsdesign auf der einen Seite wichtig ist, um die Grundlage für einen kosteneffizienten Hybrid-Cloud-Betrieb zu schaffen, ist auf der anderen Seite ein effektives Management-Tool erforderlich. Nur, wer seine Workloads effizient überwacht, kann durch optimalen Ressourcen-Einsatz den performanten Betrieb zu geringstmöglichen Kosten gewährleisten.

Das wohl ausgereifteste Tool ist Red Hat CloudForms. Es besteht einerseits aus einer selbstpopulierenden Datenbank, in der alle OpenStack-Ressourcen erfasst werden. Andererseits bietet CloudForms ein ausgereiftes Management-System, mit der sich sowohl OpenStack- als auch andere Ressourcen, etwa von VMware, die derzeit noch nicht in die OpenStack-Architektur integriert sind, verwalten lassen. Das ermöglicht eine schrittweise Migration zu OpenStack.

Red Hat: Cloudfront
Red Hat CloudFront bietet ein plattformübergreifendes Management in einer OpenStack-Umgebung.

Über ein Self-Service-Portal können sich Nutzer mittels rollenbasierter Policy im Rahmen ihrer Aufgaben die Ressourcen holen, die sie für den Betrieb der Anwendung benötigen. Ein Quota-System kann dabei einzelne Fachabteilungen oder Nutzer beschränken.

Freie und genutzte Kapazitäten lassen sich jederzeit übersichtlich darstellen. Workloads werden überwacht und bei Bedarf werden zusätzliche Ressourcen ohne Nutzerintervention angefordert und auch wieder freigegeben. Langfristig lassen sich zuverlässig Prognosen erstellen, wie sich der Bedarf an IT-Dienstleistungen und damit die Kosten entwickeln.

Fazit

Obwohl bestehende VMs unverändert von einem proprietären Virtualisierungssystem in eine offene Hybrid-Cloud übernommen werden können, ist es sinnvoll die Anwendungen und die VMs zu überarbeiten, um vollen Nutzen aus der neuen Architektur ziehen zu können. Vielfach sind das nur wenige konzeptionelle Änderungen beim Deployment und im Betrieb, die sich schnell realisieren lassen. Dann ist der Weg frei, um den Anwendungen schnell und effizient in eine Cloud umzuziehen und die Abhängigkeit vom Virtualisierungssystem zu eliminieren.

Daneben ist ein effektives Verwaltungstool erforderlich. Kosteneffizienter Betrieb mit der in Zukunft geforderten Agilität ist nur dann möglich, wenn genauso viele Ressourcen zum Einsatz kommen wie für den aktuellen Workload benötigt werden. Werden diese Regeln konsequent eingehalten, lassen sich bereits in kurzer Zeit sowohl messbare Kostenvorteile erzielen als auch interne Unternehmenskunden Anwendungen mit kurzen Produktlebenszyklen anbieten.