L’élasticité, la suite logique du Cloud ?

Le Cloud propose de nombreux avantages aux entreprises : la capacité d’utiliser des ressources informatiques sans investir dans des machines physiques, des gains de performances importants, des coûts réduits grâce au paiement à la demande des ressources en fonction de ses besoins, sans oublier des économies d’énergie conséquentes. Le Cloud offre ainsi une solution particulièrement adaptée pour le lancement rapide d’applications ou d’outils métiers pour l’entreprise, ainsi que des solutions de partage et de sauvegarde de l’information.

Les offres de Cloud actuelles réservent des perspectives d’évolutivité importantes aux entreprises. Toutefois, l’adaptation des ressources à l’utilisation concrète de l’application lors d’une variation de charges, et l’ajustement des coûts liés à ces variations, ne sont généralement pas calibrés de manière optimale. Ainsi, il n’est pas rare de se voir imputer des coûts imprévus dus à une surréservation de ressources par le fournisseur de Cloud ou à l’inverse d’être confronté à des interruptions de services lorsque les ressources nécessaires ont été sous-estimées. Pour remédier à ce problème et assurer un calibrage optimal, la scalabilité « classique » fait progressivement place à une approche plus efficace : l’élasticité du Cloud. Comme toutes les technologies, le Cloud se doit d’évoluer en permanence et cette notion d’élasticité est une suite logique. De nouvelles solutions comme la conteneurisation sont parfaitement adaptées à cette évolution. Décryptage.

L’élasticité : pour un Cloud plus agile et une optimisation des coûts   

L’élasticité correspond à la capacité d’adapter ses ressources informatiques (calcul, stockage, etc.) à la volée en fonction des besoins applicatifs. En d’autres termes, le Cloud élastique adapte de manière autonome et très précise les ressources disponibles dans le système – par un approvisioning/dé-provisioning automatique – pour gérer les variations de charges et offrir le coût le plus optimal.

La distinction entre la scalabilité et l’élasticité du Cloud tient essentiellement dans le fait que la scalabilité permet de supporter les augmentations de charges de travail grâce à l’ajout de ressources alors que l’élasticité adapte les ressources à la volée en fonction des besoins à la hausse comme à la baisse.

Concrètement, les méthodes des fournisseurs de Cloud actuels permettent une grande évolutivité, soit l’une des grandes promesses du Cloud. Cependant, cette évolutivité recèle souvent des faces cachées ou imprévues. Pour assurer l’évolutivité, les fournisseurs de Cloud réalisent le plus généralement des surréservations de ressources, c’est à dire qu’ils provisionnent des ressources pour supporter d’éventuelles montées en charge. En conséquence, ces ressources sont disponibles mais ne sont pas utilisées en continu, alors que le coût important est supporté par l’entreprise. La méthode la plus prudente pour offrir les ressources adaptées sans surcoût étant d’essayer de se rapprocher au plus près de la consommation réelle, non sans risque de sous-estimer les besoins et de générer des coupures de services dans des moments clés (ex : pics d’activités pendant les périodes de fêtes, de soldes, etc.).

Le Cloud élastique répond à cette problématique et fournit une plus grande agilité au Cloud en permettant le provisioning et le dé-provisioning des ressources en temps réel. Cela offre la meilleure adaptation entre les ressources disponibles et les besoins réels de l’application.

Le Cloud élastique apporte également des avantages concrets pour le business de l’entreprise :

  • Assurance d’une continuité de service sans interruptions imprévues
  • Augmentation de la qualité de service (QoS) et de la qualité d’expérience (QoE) tout en empêchant certaines violations de SLA (Service Level Agreement)
  • Prévenir les actions non planifiées par l’entreprise ou par le fournisseur de services
  • Anticipation des ressources avant que le problème n’apparaisse
  • La gestion du provisioning de ressources ne nécessite plus l’ouverture de « tickets/demandes »
  • Les coûts sont estimés de manière beaucoup plus précise, et sont donc inférieurs
  • Gain de temps

Élasticité horizontale vs élasticité verticale, de quoi parlons-nous ?

L’élasticité du Cloud peut se faire de plusieurs façons : horizontale et verticale, manuelle et automatique, en mode réactif ou proactif… Concrètement, l’élasticité horizontale permet d’ajouter de nouvelles instances tandis que l’élasticité verticale sert à redimensionner les ressources de l’instance elle-même pour faire face à la demande.

L’action d’élasticité manuelle est effectuée par une intervention manuelle de l’utilisateur. Alors qu’à l’inverse, une action d’élasticité automatique est effectuée automatiquement selon deux modes :

  • Un mode réactif : les actions d’élasticité sont déclenchées en fonction de certains seuils et/ou des règles, le système réagit à la charge (charge de travail ou utilisation des ressources) et déclenche des actions pour adapter les changements en conséquence.
  • Un mode proactif : cette approche met en œuvre des techniques de prévision, anticipe les besoins futurs et déclenche des actions basées sur cette anticipation.

Et demain ? Les solutions basées sur les conteneurs sont bien parties pour être prédominantes

Aujourd’hui, nous ne pouvons plus parler de Cloud computing sans se référer à l’élasticité. La conception des applications doit prendre en considération le concept de l’élasticité et donc avoir de nombreux composants et instances facilement distribuables sur plusieurs machines virtuelles ou conteneurs. Avec les systèmes élastiques, la performance sera gérée efficacement sans se soucier des coûts liés à l’augmentation/la diminution des ressources. Les coûts sont dynamiquement limités aux ressources utilisées en temps réel. 

Nabil Bachir-Djarallah, Responsable Développement et Exploitation Open Source, Scalair

Go to Source