Dare to Bare – Container auf Bare Metal
Wer beim Betreiben seiner Container auf Performance setzt und grössere Workloads hat, sollte sich überlegen, seine Container auf Bare Metal laufen zu lassen. Dadurch, dass entweder die Virtualisierungsplattform oder der IaaS-Layer wegfallen, wird die Infrastruktur sofort weniger komplex.
Der einfachste Aufbau ist oft der effektivste. Das gilt auch für Cloud-Infrastrukturen. Wer beim Betreiben seiner Container auf Performance setzt und grössere Workloads hat, sollte sich überlegen, seine Container auf Bare Metal laufen zu lassen, statt auf Cloud-Instanzen oder virtuellen Maschinen (VM) als Layer zwischen den Containern und den physischen Servern zu setzen.
Dadurch, dass entweder die Virtualisierungsplattform oder der IaaS-Layer wegfallen, wird die Infrastruktur sofort weniger komplex. Das wirkt sich positiv auf den Betrieb aus. Es gibt weniger Netzwerke, Hosts und Disks, die verwaltet werden müssen, daher kann die Infrastruktur auch von weniger Leuten betrieben werden.
Jeder Layer weniger in der Infrastruktur führt logischerweise auch dazu, dass das System weniger fehleranfällig wird, es gibt eine Ebene weniger, auf der etwas schiefgehen kann, beziehungsweise um die sich jemand kümmern muss.
Höhere Performance
Was die Performance angeht, so sind die Ressourcen auf Bare Metal effizienter nutzbar. Es können also die gesamten Hardwareressourcen genutzt werden, da keine Ressourcen für die Hardwareemulation durch einen Virtualisierungslayer verwendet werden.
Damit eliminiert man eine doppelte Datenkapselung und auch das Networking wird schneller. Es sind also nicht zwei SDNs übereinandergestapelt, sondern es gibt nur eines, was die Performance erhöht.
Keine Redundanzen nötig
Interessant ist auch, dass man für eine solche Cloud sehr gut recht einfache Hardware ohne grossartige Redundanzen verwenden kann. Es ist nicht nötig, in doppelte Stromversorgungen oder redundante Netzwerkanbindungen zu investieren, da bei einem Ausfall eines Systems das Containermanagement dafür sorgt, das die Container direkt neu auf einem anderen System gestartet werden, beziehungsweise sowieso in mehreren Instanzen bereits über mehrere Systeme verteilt sind. Wenn also ein Server kaputt ist, wird er einfach durch einen neuen ersetzt, der muss nur eingeschaltet werden, den Rest erledigt das Cloud-Management.
Wenn man die Services, die einen IaaS-Layer bilden, wie zum Beispiel Openstack, in Containern laufen lässt, dann schlägt man zwei Fliegen mit einer Klappe: Das Containerframework sorgt nämlich auch bei diesen Services für Hochverfügbarkeit und zugleich stellen die IaaS-Services einen willkommenen Mehrwert dar, beispielsweise im Bereich Storage und Bare Metal Management. Und man kann für den Anwendungsfall VM beziehungsweise Cloud-Instanz auch diese zur Verfügung stellen.
Die Sicherheit in den eigenen Händen
Zum Schluss noch ein kurzer Abstecher ins Reich der Sicherheit. Wer seine Anwendung auf Bare Metal Hosts laufen lässt und diese selbst betreibt, hat die Sicherheit in eigenen Händen. Mit einer VM in einer Public Cloud sieht es schon anders aus, ein Leck auf irgendeiner anderen VM in der Umgebung kann sich durchaus auch auf die eigene VM auswirken. In einer Bare-Metal-Umgebung lassen sich Anwendungen oder auch Kunden bei Bedarf physisch trennen.
Natürlich gibt es auch Nachteile, wenn man seine Container auf Bare Metal betreibt. Einer davon ist, dass die Plattform sich nicht so flexibel skalieren lässt, wie das auf Public-Cloud-Instanzen der Fall ist. Man muss eben rechtzeitig neue Hardware bestellen und ins Rack einbauen, wenn man so eine Plattform selbst inhouse betreiben will. Doch es gibt zunehmend mehr Cloud-Provider, die Bare Metal Performance für Container anbieten.
Wenn man die anfallenden Kosten für Hardware und die immer komplexer werdenden Container-Ökosysteme in Betracht zieht, scheint der Bare-Metal-Cloud ein Platz in der Zukunft sicher.
----------
Bei Bare Metal ist es wichtig, optimale Prozesse zu haben
Container auf Bare Metal Hosts gelten als die Zukunft des Cloud Computing. Warum das so ist und auf welche Aspekte beim Aufbau einer solchen Umgebung zu achten ist, erklärt Dominik Wotruba, Head Solution Architecture bei Red Hat Schweiz. Interview: Oliver Schneider
Im Fachbeitrag von Herrn Marx heisst es, dass Container auf Bare Metal Hosts die Zukunft des Cloud Computings seien. Warum ist das so?
Dominik Wotruba: Die Zukunft des Cloud Computing ist Hybrid. Die Gründe sind unterschiedliche technische Anforderungen – etwa Latenzzeiten –, verschiedene Preismodelle, regulatorische und sicherheitsspezifische Anforderungen. Zusätzlich wird Software oft nur für bestimmte Einsätze zertifiziert. Wichtig ist hier auf eine Container-Technologie zu setzen, die möglichst viel Flexibilität bietet und bei der man keinen Vendor Lock-in hat. Je nach Use Case empfehlen wir unsere Container-Technologie Red Hat Openshift auf Bare Metal, virtuellen Maschinen oder Public Clouds, wie Google, Azure oder Amazon zu betreiben. Bare Metal ist sicher ein wichtiger Ansatz, jedoch nicht der einzige. Ein guter Anwendungsfall für Bare Metal sind etwa der Einsatz von GPUs auf Bare-Metal-Servern für Artificial Intelligence Use Cases.
Wenn Bare Metal so viele Vorteile bietet, warum setzt dann heute überhaupt noch jemand auf VMs?
Bare Metal ergibt für Container Workloads erst ab einer bestimmten Grösse, einem bestimmten Workload oder Use Case Sinn, da Investitionen in Hardware anfallen. Bei Virtualisierung profitiert man davon, dass oft bereits eine virtuelle Infrastruktur vorhanden ist und noch Kapazität besteht. Virtualisierung bietet zusätzliche Flexibilität. Deshalb entscheiden sich Kunden in den meisten Fällen für Virtualisierung. Ab einer gewissen Grösse ist Bare Metal eine kostengünstigere Alternative, da man Lizenzen für Virtualisierung einspart und der Virtualisierungs-Overhead wegfällt. Der Wechsel von Virtualisierung zu Bare Metal ist mit überschaubarem Aufwand verbunden und kann, gut geplant, unterbrechungsfrei durchgeführt werden.
Beim Ausfall eines Bare-Metal-Systems lassen sich die Container direkt auf einen anderen Server übertragen. Wie funktioniert das?
Unsere Container-Technologie Red Hat Openshift implementiert Hochverfügbarkeit mittels Container-Orchestrierung, indem eine containerisierte Anwendung über mehrere Server verteilt läuft. Wenn ein Server ausfällt, wird die Anwendung auf einem anderen Server neu gestartet. Red Hat Openshift stellt zudem sicher, dass dies für den Benutzer transparent passiert, indem der Traffic zu einem lauffähigen Container geroutet wird.
Ist es nicht ein Sicherheitsrisiko, wenn alle Container in einem Betriebssystem laufen, statt in voneinander isolierten VMs?
Dieses Sicherheitsrisiko wird unter anderem in Red Hat Openshift mit dem darunterliegenden Red Hat Enterprise Linux gelöst. Red Hat Enterprise Linux implementiert eine Anzahl von Schutzfaktoren wie Selinux, Seccomp oder Capabilities, um nur ein paar zu nennen, die verhindern, dass man aus einem Container ausbrechen kann oder bei einem Ausbruch weiterer Schaden angerichtet wird. Weiter hat auch Red Hat Openshift Funktionalitäten wie Security Context Constraints, die zusätzliche Sicherheit implementieren und forcieren.
Was müssen Unternehmen beachten, wenn sie eine Container-Umgebung auf Bare Metal aufbauen wollen?
Es gibt unterschiedliche Lizenzierungs- und Subskriptionsmodelle zu beachten. Bei Bare Metal ist zudem immer wichtig, optimale Prozesse zu haben, um weitere Hardware bei Bedarf schnell bereitstellen zu können. Auch das Thema Storage, ob mit Hyper-Converged-Ansätzen (Container Native Storage) oder ohne, muss beachtet werden, da hier gegebenenfalls nicht die gleiche Flexibilität besteht wie bei einer virtualisierten Lösung.