S'attaquer aux défis de démarrage à froid dans l'informatique sans serveur
Apprends à gérer les problèmes de démarrage à froid dans les services cloud sans serveur de manière efficace.
― 8 min lire
Table des matières
- C'est quoi le problème du démarrage à froid ?
- Pourquoi les démarrages à froid posent problème
- Gérer les démarrages à froid avec l'apprentissage machine
- Comprendre les services sans serveur
- Le rôle des données dans la prédiction
- Le processus de préparation des données
- Concevoir le modèle de prédiction
- Mise en œuvre du modèle
- Évaluer la performance du modèle
- La politique d'ensemble
- Conclusion
- Source originale
- Liens de référence
Le cloud computing sans serveur est un nouveau modèle qui permet aux entreprises d'utiliser des services cloud sans avoir à gérer l'infrastructure sous-jacente. Cette approche aide les entreprises à économiser du temps et de l'argent, ce qui la rend populaire dans divers domaines comme la banque, la santé et la sécurité. Cependant, un défi majeur dans ce modèle est ce qu'on appelle le problème du démarrage à froid. Ça se produit quand un service met trop de temps à répondre parce qu'il doit configurer les ressources nécessaires pour répondre à la demande d'un utilisateur. Ce délai peut coûter cher aussi bien aux fournisseurs de services qu'aux clients.
C'est quoi le problème du démarrage à froid ?
Quand les clients utilisent des services cloud sans serveur, ils s'attendent à des réponses rapides. Mais quand une fonction (l'unité de travail dans le cloud sans serveur) est appelée pour la première fois ou après un moment d'inactivité, elle peut mettre trop de temps à démarrer. Ce temps de mise en place peut devenir problématique dans des situations où la rapidité est cruciale. Par exemple, si une entreprise gère un service et reçoit soudainement beaucoup de demandes, elle doit préparer de nouvelles ressources rapidement. Si elle n'y arrive pas, les utilisateurs peuvent subir des ralentissements ou des échecs, ce qui peut entraîner de la frustration et des pertes financières.
Pourquoi les démarrages à froid posent problème
Gérer les problèmes de démarrage à froid n'est pas simple. Les fournisseurs de services doivent garder leurs ressources disponibles pour répondre aux demandes rapidement. Cependant, garder toutes les ressources en marche en permanence peut être coûteux. Il faut donc trouver un équilibre entre avoir suffisamment de ressources prêtes à satisfaire la demande et minimiser les coûts en arrêtant les ressources inactives.
De plus, prédire quand une fonction va être appelée n'est pas évident. Chaque fonction a ses propres modèles d'invocation, qui peuvent varier énormément. Certaines Fonctions peuvent être utilisées très souvent, tandis que d'autres sont rarement appelées. Cette imprévisibilité complique la gestion des ressources.
Gérer les démarrages à froid avec l'apprentissage machine
Une des façons de s'attaquer au problème du démarrage à froid est d'utiliser l'apprentissage machine. En analysant des données passées, les modèles de machine learning peuvent prédire quand certaines fonctions seront invoquées à l'avenir. Cela peut aider les fournisseurs de services à préparer les ressources nécessaires à l'avance, réduisant ainsi le temps d'attente pour les utilisateurs.
Une approche prometteuse consiste à utiliser des réseaux de convolution temporaux (TCN). Ces modèles analysent les motifs d'utilisation des fonctions au fil du temps et peuvent fournir des idées sur les demandes futures. En prédisant quelles fonctions seront appelées et quand, ces modèles permettent aux fournisseurs de services d'allouer les ressources plus efficacement.
Comprendre les services sans serveur
Les services sans serveur, souvent appelés Fonction en tant que Service (FaaS), permettent aux développeurs d’exécuter du code sans gérer de serveurs. Quand une fonction est déclenchée par divers moyens, comme une requête web ou un événement planifié, le fournisseur de services alloue les ressources nécessaires pour exécuter cette fonction. Ce modèle fonctionne aussi sur la base du paiement à l’usage, ce qui signifie que les entreprises ne paient que pour les ressources qu'elles utilisent, ce qui peut être très économique.
Alors que le cloud computing sans serveur continue de gagner en popularité, il est de plus en plus utilisé dans des applications importantes comme l'analyse en temps réel, le commerce électronique et la santé. Cependant, maintenir des performances élevées tout en gérant les coûts est devenu crucial pour les fournisseurs de services et leurs clients.
Le rôle des données dans la prédiction
Pour prédire efficacement les futures invocations de fonctions, les fournisseurs de services doivent collecter et analyser des données. Ces données peuvent provenir de l'utilisation réelle, capturant la fréquence à laquelle chaque fonction est appelée et quand. En gardant une trace de ces informations, les modèles de machine learning peuvent identifier des tendances et des motifs dans l'utilisation des fonctions.
Pour que les prédictions de machine learning soient efficaces, certaines exigences doivent être respectées. Le jeu de données doit couvrir une variété d'utilisateurs et d'applications, inclure des fonctions avec différents motifs d'utilisation, et être exempt de tendances ou de variations saisonnières. Respecter ces exigences aidera les modèles à faire des prédictions précises sur les besoins futurs en fonctions.
Le processus de préparation des données
Pour créer des modèles d'apprentissage machine efficaces, une préparation des données approfondie est nécessaire. En utilisant des outils comme Azure Synapse, les données peuvent être nettoyées et organisées. L'objectif est de produire un ensemble de données qui met en évidence les éléments essentiels pour l'analyse, comme le nombre de fois qu'une fonction est appelée et combien de temps cela prend.
Par exemple, se concentrer sur les fonctions déclenchées par HTTP est important car elles sont souvent les plus imprévisibles et les plus couramment utilisées. En filtrant les données pour ne conserver que ces appels, les fournisseurs de services peuvent développer des modèles qui répondent à un volume élevé de demandes.
Concevoir le modèle de prédiction
La prochaine étape consiste à concevoir un modèle d'apprentissage profond capable d'analyser les données et de faire des prédictions. Contrairement aux modèles traditionnels, qui peuvent avoir des difficultés avec les complexités du cloud sans serveur, les modèles d'apprentissage profond peuvent gérer d'énormes quantités de données et reconnaître des motifs complexes.
Le modèle préféré pour prédire les futures invocations de fonctions est le TCN. Ce modèle est conçu pour les données temporelles et peut faire des prédictions précises en utilisant les données historiques tout en permettant l'analyse de plusieurs fonctions simultanément.
Mise en œuvre du modèle
Une fois le modèle conçu, il peut être mis en œuvre pour prévoir les futurs besoins en fonctions. Le TCN peut prédire les noms de fonctions et leurs temps d'arrivée, permettant aux entreprises de préparer les ressources bien à l'avance. Une prévision peut couvrir 10 à 15 minutes dans le futur, donnant aux fournisseurs suffisamment de temps pour allouer les ressources en conséquence.
Le processus de mise en œuvre inclut un apprentissage continu, ce qui signifie que le modèle peut s'adapter et améliorer ses prédictions au fil du temps à mesure que de nouvelles données deviennent disponibles. Cette capacité à apprendre des motifs d'utilisation en cours aide à garder le modèle pertinent et efficace.
Évaluer la performance du modèle
Pour s'assurer que le modèle fonctionne bien, il est essentiel de l'évaluer à l'aide de diverses métriques. Ces métriques peuvent indiquer à quel point les prédictions sont précises et si elles répondent aux attentes définies par les fournisseurs de services.
Les métriques courantes incluent des mesures d'erreur (à quel point les prédictions s'écartent des résultats réels), la variance expliquée par le modèle, et la corrélation entre les résultats prévus et réels. Évaluer ces facteurs permet aux fournisseurs de services de comprendre l'efficacité du modèle et d'apporter les ajustements nécessaires.
La politique d'ensemble
Une stratégie efficace pour gérer les problèmes de démarrage à froid est de mettre en œuvre une politique d'ensemble. Cette approche combine différentes techniques pour s'attaquer au problème sous divers angles, reconnaissant que les problèmes de démarrage à froid peuvent provenir à la fois de l'infrastructure et des fonctions elles-mêmes.
En utilisant les prédictions des TCN pour informer l'allocation des ressources, cette politique peut garantir que les services sont livrés rapidement sans coûts inutiles. Elle opère par deux voies principales : l'une se concentre sur les besoins en infrastructure et l'autre sur l'analyse des codes de fonction en fonction des demandes prédites.
Dans le premier chemin, les noms de fonction prédits informent l'allocation des ressources en fonction de la demande anticipée. Dans le second chemin, les temps d'arrivée prévus guident l'optimisation des codes d'application et le moment de la fourniture des ressources.
Conclusion
Le cloud computing sans serveur représente un changement significatif dans la façon dont les entreprises utilisent les services cloud. Bien que les problèmes de démarrage à froid posent des défis en matière de performance et de satisfaction client, l'utilisation de techniques d'apprentissage machine comme les réseaux de convolution temporels peut fournir des prédictions efficaces qui aident à gérer les ressources de manière optimale.
En utilisant une analyse de données détaillée et en mettant en œuvre une politique d'ensemble multifacette, les fournisseurs de services peuvent résoudre les problèmes de démarrage à froid, garantissant que les utilisateurs reçoivent des réponses rapides à leurs demandes. À mesure que l'utilisation de l'architecture sans serveur continue de croître, trouver des solutions innovantes à ces défis sera crucial pour maintenir des performances élevées et une rentabilité.
Titre: Managing Cold-start in The Serverless Cloud with Temporal Convolutional Networks
Résumé: Serverless cloud is an innovative cloud service model that frees customers from most cloud management duties. It also offers the same advantages as other cloud models but at much lower costs. As a result, the serverless cloud has been increasingly employed in high-impact areas such as system security, banking, and health care. A big threat to the serverless cloud's performance is cold-start, which is when the time of provisioning the needed cloud resource to serve customers' requests incurs unacceptable costs to the service providers and/or the customers. This paper proposes a novel low-coupling, high-cohesion ensemble policy that addresses the cold-start problem at infrastructure- and function-levels of the serverless cloud stack, while the state of the art policies have a more narrowed focus. This ensemble policy anchors on the prediction of function instance arrivals, 10 to 15 minutes into the future. It is achievable by using the temporal convolutional network (TCN) deep-learning method. Bench-marking results on a real-world dataset from a large-scale serverless cloud provider show that TCN out-performs other popular machine learning algorithms for time series. Going beyond cold-start management, the proposed policy and publicly available codes can be adopted in solving other cloud problems such as optimizing the provisioning of virtual software-defined network assets.
Auteurs: Tam N. Nguyen
Dernière mise à jour: 2023-04-01 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2304.00396
Source PDF: https://arxiv.org/pdf/2304.00396
Licence: https://creativecommons.org/licenses/by/4.0/
Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.
Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.