Encaisser sereinement les pics d’activité grâce aux conteneurs


Encaisser sereinement les pics d’activité grâce aux conteneurs

Le déploiement d’une architecture modulaire composée de microservices conteneurisés répond souvent à une recherche d’agilité, de résilience ou de scalabilité. Mais les conteneurs sont également une technologie adéquate pour rendre son infrastructure plus élastique, c’est-à-dire capable d’absorber des pics de charge grâce à l’autodimensionnement (auto-scaling). L’intérêt des conteneurs réside en effet dans leur volatilité, c’est-à-dire leur capacité à facilement démarrés, multipliés ou arrêtés. Encore faut-il s’appuyer sur les bons outils.

cloud native hero

L’élasticité, le concept qui réconcilie performances et économies

L’élasticité est un concept important dès lors que votre application connaît des pics d’activité imprévus, réguliers à certaines heures de la journée ou saisonniers. L’élasticité, c’est la possibilité de moduler à la hausse comme à la baisse, le nombre et/ou les capacités des conteneurs hébergeant vos microservices pour faire en sorte que votre application reste disponible et performante, quel que soit le nombre d’utilisateurs connectés. Et ce de manière automatique. L’avantage ? Vous économisez, en ne consommant que les ressources réellement nécessaires. Plus besoin de surdimensionner votre infrastructure ni de scruter avec inquiétude la courbe de montée en charge pour ajouter en urgence des ressources.

Attention : les microservices et la conteneurisation sont des technologies sous-jacentes nécessaires à la mise en œuvre de l’auto-scaling, mais pas suffisantes à elles seules. Il est nécessaire de recourir à un orchestrateur comme Kubernetes, et à des ressources cloud à la demande managées par OVHcloud.

 

Public cloud elasticity and microservices

Comprendre les mécanismes d’auto-scaling des conteneurs

Il existe deux moyens de mettre à l’échelle votre architecture conteneurisée : verticalement, en allouant à la volée plus de puissance de calcul (CPU / RAM) à un conteneur ; horizontalement, en multipliant les conteneurs là où se concentrent les requêtes (goulots d’étranglement). Voici les 3 mécanismes de répartition de charge que vous apporte Managed Kubernetes Service ® par OVHcloud :

 

productive OVHcloud

Le « pod auto-scaling »

C’est le mécanisme d’auto-scaling nativement proposé par l’orchestrateur Kubernetes, qui va  ajuster le nombre de conteneurs en temps réel en fonction de la charge de travail, dans les limites hautes et basses que vous aurez préalablement définies. Par exemple, pour tel microservice de votre architecture, K8S sera autorisé à créer jusqu’à 10 conteneurs, et ne devra pas descendre en dessous de 3. Magique ? Oui, mais que se passe-t-il si K8S ne trouve pas assez de ressources au sein de votre cluster pour créer les conteneurs nécessaires ? Il va par exemple n’en créer que 7 sur les 10 autorisés.

predictible OVHcloud

Le « node auto-scaling »

Dans son implémentation de Kubernetes en tant que service, OVHcloud a donc complété le mécanisme natif de K8S par du « node auto-scaling » : vous spécifiez un nombre minimal et maximal d’instances déployables dans votre cluster, et c’est OVHcloud qui vient ajouter automatiquement les ressources nécessaires le cas échant, puis les éteint une fois le pic de charge passé, pour que vous soyez facturé uniquement pour ce dont vous avez réellement eu besoin.

Balanced

Load balancer for Managed Kubernetes Service

En amont de votre cluster Kubernetes, un service de load balancing optionnel entièrement managé par OVHcloud répartit le trafic entre vos différentes ressources. La charge est ainsi équilibrée entre vos conteneurs et, le cas échéant, sur plusieurs nœuds de manière automatique et sécurisée. Le Répartiteur de charge fournit une interface directement compatible avec Kubernetes.

Notez que c’est aussi ce service de Load Balancing qui rendra possible le « rolling montée de version », en éjectant temporairement des services cibles les conteneurs en maintenance.

Cloud_native

Sécurisez la gestion de vos images avec Managed Private Registries (Harbor)

Pour fiabiliser vos projets basés sur l’utilisation de conteneurs, OVHcloud a développé un service de registre privé, hébergé et administré par nos équipes, afin de stocker, gérer et accéder facilement (via une API) aux images de vos conteneurs et charts Helm (vos packages).

Un service basé sur le projet Harbor de Cloud Native Computing Foundation, qui assure un accès sécurisé à vos équipes basé sur les rôles (RBAC) et s’appuie sur un mécanisme de Content Trust pour garantir l’intégrité des sources de vos images.

Vous évitez ainsi les risques liés à l’identification de vulnérabilités via la rétro-ingénierie du code en accès public sur des plateformes telles que Github ou Gitlab.

Quels services OVHcloud pour rendre votre application microservices plus élastique ?

Vous pouvez parfaitement héberger vous-même vos microservices sur des serveurs bare metal ou des instances Public Cloud, et gérer la montée en charge en allouant vous-même les ressources nécessaires. Toutefois, vous pouvez vous simplifier la vie en déléguant à OVHcloud les services les plus critiques, comme les bases de données ou le stockage. OVHcloud sera alors responsable de la gestion de la montée en charge de ces services.

 

Containers & Orchestration OVHcloud

Managed Kubernetes Service

Kubernetes est l’orchestrateur de référence, qui facilite le déploiement et la gestion de vos groupes de conteneurs Docker, tout en gérant l'autohealing et l'autoscaling. Un outil indispensable, mais pas simple à administrer. Heureusement, vous pouvez déléguer l’administration de votre cluster Kubernetes à votre cloud provider : Managed Kubernetes Service  s'appuie sur les instances Public Cloud d'OVHcloud. Qui plus est, le service est gratuit : vous ne payez que pour les instances à la demande et le stockage que vous utilisez au sein de votre cluster Kubernetes.

En option : Répartiteur de charge for Managed Kubernetes Service

 

Databases OVHcloud

Database as a service

La plupart des technologies de base de données sont aujourd’hui proposées en mode Database as a service, c’est-à-dire en mode 100 % managé. La bascule peut être réalisée en quelques minutes seulement. Il suffit d’importer votre base dans son nouvel environnement, de tester et de décommissionner l’ancienne base de données si tout va bien.

Votre base de données a besoin de plus de puissance ? Vous pouvez mettre à jour votre offre à chaud en quelques clics, et rajouter un nœud à votre cluster : OVHcloud s’occupe de la resynchronisation des données.

object storage

Object Storage

Avec l’Object Storage OVHcloud, non seulement vous déléguez la problématique de la disponibilité des contenus, mais en plus vous réduisez la charge sur vos serveurs web.

Les requêtes concernant les contenus (images, vidéos, sons…) ne sont plus votre affaire. OVHcloud gère la montée en charge.

Prêt à commencer ?

Créez un compte et lancez vos services dans la minute