Traditionelle Hybrid-Cloud-Architektur
Ursprünglich konzentrierte sich die Hybrid-Cloud-Architektur auf die Transformation von Teilen des On-Premises-Rechenzentrums eines Unternehmens in eine Private-Cloud-Infrastruktur und die anschließende Verbindung dieser Infrastruktur mit Public-Cloud-Umgebungen, die Off-Premises von einem Public-Cloud-Provider gehostet wurden (z. B. AWS, Google Cloud Services, IBM Cloud, Microsoft Azure). Dies wurde mithilfe einer vorgefertigten Hybrid-Cloud-Lösung wie Red Hat OpenStack (Link befindet sich außerhalb von ibm.com) oder durch den Einsatz hochentwickelter Unternehmensmiddleware zur umgebungsübergreifenden Integration von Cloud-Ressourcen sowie einheitlicher Management-Tools zur Überwachung, Zuweisung und Verwaltung dieser Ressourcen über eine zentrale Konsole oder „zentrale Oberfläche“ erreicht.
Moderne Hybrid-Cloud-Architektur
Heutzutage konzentriert sich die Hybrid-Cloud-Architektur weniger auf physische Konnektivität als vielmehr auf die Unterstützung der Portierbarkeit von Workloads über alle Cloud-Umgebungen hinweg und auf die Automatisierung der Bereitstellung dieser Workloads in der besten Cloud-Umgebung für einen bestimmten Geschäftszweck. Mehrere Trends treiben diesen Wandel voran.
Als Teil des nächsten entscheidenden Schritts im Rahmen ihrer digitalen Transformation entwickeln Unternehmen neue Anwendungen und modernisieren ältere Anwendungen, um cloudnative Technologien zu nutzen. Dabei handelt es sich um Technologien, die eine konsistente und zuverlässige Entwicklung, Bereitstellung, Verwaltung und Leistung in verschiedenen Cloud-Umgebungen und bei verschiedenen Cloud-Anbietern ermöglichen.
Insbesondere entwickeln oder transformieren sie Anwendungen, um eine Microservices-Architektur zu nutzen, die Anwendungen in kleinere, lose gekoppelte, wiederverwendbare Komponenten, die sich auf bestimmte Geschäftsfunktionen konzentrieren, aufteilt. Und sie stellen diese Anwendungen in Containern bereit. Dabei handelt es sich um schlanke, ausführbare Einheiten, die nur den Anwendungscode und die für die Ausführung erforderlichen virtualisierten Betriebssystemabhängigkeiten enthalten.
Die Public Cloud und die Private Cloud sind nun keine physischen „Standorte“ mehr, die miteinander verbunden werden müssen. Viele Cloud-Anbieter bieten inzwischen Public-Cloud-Services an, die in den On-Premises-Rechenzentren ihrer Kunden betrieben werden. Private Clouds, die früher ausschließlich vor Ort betrieben wurden, werden heute häufig in Off-Premises-Rechenzentren, in virtuellen privaten Netzwerken (VPNs) oder virtuellen Private Clouds (VPCs)oder auf dedizierten Infrastrukturen, die von Drittanbietern angemietet werden (die manchmal auch Public-Cloud-Provider sind), gehostet.
Darüber hinaus ermöglicht es die Infrastrukturvirtualisierung – auch Infrastructure as Code genannt – Entwicklern, diese Umgebungen on demand zu erstellen und dabei beliebige Rechen- oder Cloudressourcen zu nutzen, die sich hinter oder jenseits der Firewall befinden. Dies gewinnt mit dem Aufkommen des Edge Computing an Bedeutung, das Möglichkeiten zur Verbesserung der globalen Anwendungsleistung bietet, indem Workloads und Daten näher an den Ort, an dem die eigentliche Rechenleistung erfolgt, verlagert werden.
Infolge dieser und anderer Faktoren beginnt sich die moderne Hybrid-Cloud-Infrastruktur zu einer einheitlichen hybriden Multi-Cloud-Plattform zusammenzufügen, die Folgendes umfasst:
- Unterstützung für die Entwicklung und die Bereitstellung von cloudnativen Anwendungen über alle Cloud-Typen (Public Cloud und Private Cloud) und Cloud-Provider hinweg.
- Ein einziges Betriebssystem in allen Umgebungen.
- Eine Container-Orchestrierungsplattform – in der Regel Kubernetes –, die die Bereitstellung von Anwendungen in Cloud-Umgebungen automatisiert.
Mit cloudnativer Entwicklung können Entwickler monolithische Anwendungen in Einheiten mit geschäftsorientierten Funktionen umwandeln, die überall ausgeführt und in verschiedenen Anwendungen wiederverwendet werden können. Mit einem Standardbetriebssystem können Entwickler beliebige Hardwareabhängigkeiten in jeden gewünschten Container integrieren. Die Kubernetes-Orchestrierung und -Automatisierung ermöglicht Entwicklern eine granulare Kontrolle über die Containerkonfiguration und -bereitstellung – einschließlich Sicherheit, Lastausgleich, Skalierbarkeit und mehr – über mehrere Cloud-Umgebungen hinweg.