Souveräne Bewältigung von Lastspitzen mit Containern


Souveräne Bewältigung von Lastspitzen mit Containern

Modulare Architekturen aus containerisierten Microservices werden oft bereitgestellt, um mehr Agilität sowie eine bessere Resilienz und Skalierbarkeit zu erreichen. Container sind aber auch eine geeignete Technologie, um die Elastizität der Infrastruktur zu erhöhen. Das bedeutet, dass Ihre Infrastruktur dann imstande ist, Lastspitzen durch Autoscaling (automatische Skalierung) zu bewältigen. Der Vorteil von Containern liegt in ihrer Volatilität, d. h. ihrer Fähigkeit, leicht gestartet, vermehrt oder gestoppt werden zu können. Allerdings braucht es hier auch die richtigen Tools.

cloud native hero

Elastizität: ein Konzept, das starke Leistung und Kosteneinsparungen vereint

Die Elastizität ist ein wichtiges Konzept, wenn Sie mit Ihrer Anwendung Lastspitzen erleben, die unvorhergesehen, zu bestimmten Tageszeiten oder saisonal bedingt auftreten. Elastizität steht für die Möglichkeit, die Anzahl und/oder Kapazität der Container, in denen Ihre Microservices gehostet werden, nach Bedarf anzupassen, um sicherzustellen, dass Ihre Anwendung unabhängig von der Anzahl der verbundenen User immer verfügbar und leistungsfähig bleibt. Und das findet automatisch statt. Der Vorteil? Sie sparen, indem Sie nur die wirklich nötigen Ressourcen nutzen. Sie müssen Ihre Infrastruktur nicht überdimensionieren und auch nicht ständig die Last im Blick behalten, um bei einem Anstieg schnell Ressourcen hinzufügen zu können.

Hier aber noch ein wichtiger Hinweis: Microservices und die Containerisierung sind grundlegende Technologien, die für die Implementierung des Autoscalings erforderlich sind, sie reichen aber allein nicht aus. Sie benötigen auch einen Orchestrierer wie Kubernetes und on demand verfügbare Cloud-Ressourcen, die von OVHcloud verwaltet werden.

 

Public cloud elasticity and microservices

Die Autoscaling-Mechanismen von Containern

Es gibt zwei Möglichkeiten, Ihre containerisierte Architektur zu skalieren: vertikal, indem Sie einem Container on the fly mehr Rechenleistung (CPU/RAM) zuweisen, und horizontal, indem Sie Container an den Stellen multiplizieren, an denen die Anfragen sich häufen (Engpässe). Im Folgenden finden Sie die 3 Mechanismen zur Lastverteilung, die Managed Kubernetes Service® von OVHcloud bereitstellt:

 

productive OVHcloud

Das „Pod-Autoscaling“

Es ist der vom Kubernetes-Orchestrierer nativ bereitgestellte Autoscaling-Mechanismus, der die Anzahl der Container je nach Workload innerhalb der von Ihnen festgelegten Ober- und Untergrenzen in Echtzeit anpasst. Sie können beispielsweise definieren, dass K8S für einen bestimmten Microservice Ihrer Architektur bis zu 10 Container erstellen und die Anzahl nicht auf weniger als 3 reduzieren darf. Klingt gut? Ja, aber was passiert, wenn K8S nicht genügend Ressourcen in Ihrem Cluster findet, um die benötigten Container zu erstellen? Dann werden z. B. nur 7 von den 10 erlaubten erstellt.

predictible OVHcloud

Das „Node-Autoscaling“

OVHcloud hat bei seiner Implementierung von Kubernetes als Service diesen nativen Mechanismus von K8S durch „Node-Autoscaling“ ergänzt: Sie geben eine minimale und maximale Anzahl von Instanzen an, die in Ihrem Cluster deployt werden können, und OVHcloud fügt die notwendigen Ressourcen bei Bedarf automatisch hinzu und schaltet sie nach den aufgetretenen Lastspitzen wieder ab, damit Ihnen nur die tatsächlich benötigten Ressourcen in Rechnung gestellt werden.

Balanced

Load Balancer for Managed Kubernetes Service

Ein Ihrem Kubernetes-Cluster vorgelagerter optional verfügbarer Loadbalancing-Dienst, der komplett von OVHcloud verwaltet wird, verteilt den Traffic auf Ihre verschiedenen Ressourcen. Dadurch wird ein automatischer und sicherer Lastausgleich zwischen Ihren Containern und, falls erforderlich, über mehrere Nodes hinweg erreicht. Der Loadbalancer bietet ein Interface, das direkt mit Kubernetes kompatibel ist.

Es ist auch dieser Loadbalancing-Dienst, der „Rolling Upgrades“ ermöglicht, indem er Container im Wartungszustand vorübergehend aus den Zieldiensten ausschließt.

Cloud_native

Absicherung des Image-Managements mit Managed Private Registries (Harbor)

Um Ihre auf der Verwendung von Containern basierenden Projekte zuverlässiger zu machen, hat OVHcloud einen von unseren Teams gehosteten und verwalteten Private-Registry-Dienst entwickelt, der es Ihnen erlaubt, Images Ihrer Container und Helm Charts (Ihre Pakete) ganz einfach zu speichern, zu verwalten und (über eine API) darauf zuzugreifen.

Es handelt sich dabei um einen auf dem Harbor-Projekt der Cloud Native Computing Foundation basierenden Dienst, der Ihren Teams einen gesicherten rollenbasierten Zugriff (RBAC) bietet und einen Content-Trust-Mechanismus nutzt, um die Integrität der Quellen Ihrer Images sicherzustellen.

Auf diese Weise vermeiden Sie Risiken in Zusammenhang mit der Identifizierung von Schwachstellen durch Reverse Engineering von öffentlich zugänglichem Code auf Plattformen wie GitHub oder GitLab.

Welche OVHcloud Dienste gibt es, um die Elastizität Ihrer Microservice-Anwendung zu erhöhen?

Natürlich können Sie Ihre Microservices ohne Weiteres selbst auf Bare-Metal-Servern oder Public-Cloud-Instanzen hosten und die steigende Last selbst verwalten, indem Sie selbst die notwendigen Ressourcen zuweisen. Sie können sich aber auch das Leben leichter machen, indem Sie die kritischsten Dienste wie Datenbanken oder Storage an OVHcloud delegieren. OVHcloud ist dann für die Verwaltung des Lastanstiegs bei diesen Diensten verantwortlich.

 

Containers & Orchestration OVHcloud

Managed Kubernetes Service

Kubernetes ist der Referenz-Orchestrierer, der die Bereitstellung und Verwaltung Ihrer Docker-Containergruppen vereinfacht und gleichzeitig das Autohealing und das Autoscaling verwaltet. Es ist ein unverzichtbares, aber nicht so einfach zu verwaltendes Tool. Glücklicherweise können Sie die Verwaltung Ihres Kubernetes-Clusters aber an Ihren Cloud-Provider delegieren – mit dem Managed Kubernetes Service, der auf den Public-Cloud-Instanzen von OVHcloud basiert. Dieser Dienst ist zudem kostenlos: Sie zahlen nur für die On-Demand-Instanzen und den Storage, die Sie in Ihrem Kubernetes-Cluster verwenden.

Optional können Sie auch noch den Load Balancer for Managed Kubernetes Service nutzen.

 

Databases OVHcloud

Database as a Service

Die meisten Datenbanktechnologien werden heute als Database as a Service angeboten, d. h. in komplett verwalteter Form. Die Umstellung kann in wenigen Minuten durchgeführt werden. Importieren Sie einfach Ihre Datenbank in die neue Umgebung, nehmen Sie die nötigen Tests vor und legen Sie die alte Datenbank still, wenn alles gut verlaufen ist.

Ihre Datenbank benötigt mehr Leistung? Sie können Ihr Angebot mit wenigen Klicks im laufenden Betrieb aktualisieren und einen Node zu Ihrem Cluster hinzufügen: OVHcloud kümmert sich um die Resynchronisierung der Daten.

object storage

Object Storage

Mit dem Object Storage von OVHcloud delegieren Sie nicht nur die Problematik der Verfügbarkeit der Inhalte, sondern reduzieren auch die Last auf Ihren Webservern.

Inhaltsabfragen (Bilder, Videos, Sounds …) sind nicht mehr Ihr Problem. OVHcloud verwaltet den Anstieg der Last.

Sie sind startklar?

Erstellen Sie einen Account und starten Sie Ihre Dienste in nur wenigen Minuten.