Cloud & Virtualisierung: Ausfallsicherheit und Last-Verteilung
Nachdem SpringSource von VMware übernommen worden ist, stellt sich natürlich die Frage, welche Auswirkungen diese Übernahme für die Entwickler hat. In diesem Blog-Eintrag - dem noch einige weitere folgende werden - möchte ich gerne über jeweils einen Aspekt der VMware-Technologien und ihrer Auswirkungen auf Software-Architekturen berichten.
Mit Hilfe der VMware-Produkte kann man von der konkreten Hardware abstrahieren. Die vermutlich am weitesten verbreiteten Produkte sind VMware fusion für den Mac
http://www.vmware.com/de/products/fusion/, mit dem man unter Mac OS X in einem virtuellen PC (VM) andere System wie Linux oder Windows laufen lassen kann, oder VMware Workstation
http://www.vmware.com/de/products/ws/, mit dem dasselbe unter Windows geht. Das hat einige nette Auswirkungen. So kann man beispielsweise vom Zustand der VM einen Schnappschuss machen und dann die VM immer wieder in genau diesen Zustand zurückversetzen.
Richtig interessant ist allerdings vSphere - das Server-Produkt. Dabei wird auf der Maschine ESX bzw. ESXi installiert, so dass kein Host-Betriebssystem mehr existiert. vSphere hat einige interessante Features wie vMotion, wie es unter
http://www.vmware.com/de/products/vi/vc/vmotion.html beschrieben wird. Damit ist es möglich, eine VM von einem physikalischen Rechner auf einen anderen zu migrieren - und dabei bleibt die VM die ganze Zeit verfügbar.
Dadurch ergeben sich interessante Möglichkeiten:
- Bei der Lastverteilung kann man VMs, die gerade einen hohe Last haben, auf physikalische Hardware migrieren, die im Moment nicht vollständig ausgelastet ist.
- Basierend auf dem vMotion-Konzept bietet vSphere auch eine Lösung für Hochverfügbarkeit an, bei der man eine VM gleichzeitig auf mehreren physikalischen Servern betreibt, so dass bei einem Ausfall eines physikalischen Servers die andere Kopie der VM übernehmen kann.
Lastverteilung und Ausfallsicherheit sind Themen. mit denen man sich sonst in der Software-Architektur oder der Middleware auseinander setzt. Mit Hilfe der VMware-Technologien gibt es weitere Möglichkeiten, sich diesen Herausforderungen zu stellen. Dabei werden die Probleme auf Ebene der Virtualisierung gelöst, so dass die darauf laufende Software (Betriebssystem, Middleware, Anwendung) sich nicht mehr darum kümmern muss. Das ist auch gleichzeitig einer der Trends, die man im Cloud-Umfeld sieht: Viele typische Herausforderungen können in der Cloud-Infrastruktur gelöst werden, was die darauf aufbauenden Schichten entlastet.
Es sollte klar sein, dass man mit diesem Ansatz diese fundamentalen Probleme nicht in jeder Situation vollständig gelöst sind - aber es zeigt Vorteile der Virtualisierung auf, die über die einfache Konsolidierung von Servern weit hinaus gehen.
Labels: Cloud, vMotion, VMWare