ACTUALITÉ SCIENTIFIQUE
ET INNOVATION DE L'ÉTS
Mise à l’échelle automatique des services IdO pour plus d’efficacité - Par : Ahmed Bali, Mahmud Al-Osta, Soufiene Ben Dahsen, Abdelouahed Gherbi,

Mise à l’échelle automatique des services IdO pour plus d’efficacité


Ahmed Bali
Ahmed Bali est étudiant au doctorat au Département de génie logiciel et des TI de l’ÉTS.

Mahmud Al-Osta
Mahmud Al-Osta est étudiant au doctorat au Département de génie logiciel et des TI de l’ÉTS.

Soufiene Ben Dahsen
Soufiene Ben Dahsen Profil de l'auteur(e)
Soufiene Ben Dahsen est étudiant à la maîtrise au Département de génie logiciel et des TI de l’ÉTS.

Abdelouahed Gherbi
Abdelouahed Gherbi Profil de l'auteur(e)
Abdelouahed Gherbi est professeur au Département de génie logiciel et des T.I. de l’ÉTS. Ses domaines de recherche comprennent la modélisation de systèmes logiciels embarqués, l’ingénierie logicielle par modèles et la sécurité des systèmes.

Mise à l’échelle automatique des services IdO pour plus d’efficacité

Achetée sur Istock.com. Droits d’auteur.

RÉSUMÉ:

L’informatique en périphérie (edge computing) permet de transférer la charge de travail des systèmes IdO du nuage vers des nœuds en périphérie, approche largement adoptée dans les applications industrielles et la recherche universitaire. Cependant, les ressources limitées et l’hétérogénéité des périphériques IdO en réseau restreignent le déploiement de services sur ces dispositifs. Actuellement, les solutions basées sur des conteneurs manquent d’élasticité pour ce qui est de la mise à l’échelle automatique des services relativement à l’utilisation de ressources des périphériques et à la performance des services. Pour surmonter ces limites, nous proposons une approche de mise à l’échelle automatique à partir d’une boucle MAPE-K, ainsi que de modèles de règles et de déploiement. Notre évaluation démontre que cette approche est efficace quand vient le temps d’adapter la performance du système aux besoins de services et à la disponibilité des ressources. Mots-clés : Informatique en périphérie, conteneur, gestion des ressources, mise à l’échelle automatique.

Le déploiement des périphériques IdO : un défi

Les applications de l’Internet des objets (IdO) sont maintenant omniprésentes et essentielles dans plusieurs aspects de notre vie quotidienne. Ces applications reposent surtout sur des réseaux de petits appareils disséminés dans notre environnement comme, par exemple, des capteurs environnementaux, médicaux et industriels. Ces périphériques se développent et se déploient à tel point que l’on compte aujourd’hui des milliards de dispositifs connectés à l’Internet (Evans 2011). 

Les périphériques IdO apportent des avantages considérables aux réseaux IdO, assumant certaines tâches dans le nuage, allégeant la charge de travail imposée au réseau et améliorant la réactivité du système. Néanmoins, leurs ressources sont limitées et ils fonctionnent dans l’environnement hautement hétérogène des dispositifs connectés et des modules logiciels, ce qui tend à freiner le déploiement des services sur les périphériques IdO. Parmi les technologies légères de virtualisation, les conteneurs ont largement servi à faciliter le déploiement et la gestion des services des périphériques IdO (Ahmed et al. 2019). Ils ont l’avantage de regrouper et d’exploiter les services IdO et leurs dépendances dans des modules isolés et autonomes. En outre, les techniques d’organisation des conteneurs, comme Swarm, permettent le partage de ressources entre les périphériques IdO au sein d’une même grappe et fournissent un moyen de communication entre les conteneurs sur les réseaux virtuels.

Toutefois, ces outils manquent d’élasticité pour ce qui est de la mise à l’échelle automatique de services en ce qui a trait à l’utilisation des ressources de chaque élément de la grappe et aux mesures de performance.

Approche proposée pour la mise à l’échelle automatique

Nous insistons ici sur l’importance d’étudier des solutions visant à optimiser le déploiement de services IdO basés sur conteneurs sur les périphériques de réseau, tenant compte de leurs restrictions en ressources, et à automatiser la distribution équitable de ces services dans la même grappe de périphériques.

Information de référence

La mise à l’échelle automatique repose sur de l’information partagée représentée par les modèles de règles et de déploiement que nous proposons.

Dans le modèle de règles (la Figure 1 présente une version simplifiée), nous définissons quatre catégories : évaluation, décision, mise à l’échelle et vérification. Chacune correspond à une étape précise de la mise à l’échelle automatique proposée. La figure 2 présente les composants du système du processus de déploiement. Ainsi, une instance de ce modèle est créée à chaque déploiement.

Modèle de règles simplifié

Figure 1 Modèle de règles simplifié

Partie du modèle de déploiement

Figure 2 Partie du modèle de déploiement

Mise à l’échelle automatique

La mise à l’échelle automatique est inspirée de la boucle MAPE-K (Monitor-Analyze-Plan-Execute over a shared Knowledge) (Computing 2006). Comme l’illustre la Figure 3, le processus se fait en cinq étapes : 

  • Suivi : collecte périodique des différentes mesures du système;
  • Évaluation : détermination de l’état actuel des éléments du système et, ainsi, de son état général;
  • Prise de décision : analyse du résultat de l’évaluation pour prise de décision sur la mise à l’échelle de chaque élément du système;
  • Plan de mise à l’échelle : génération du plan global de mise à l’échelle selon les décisions prises sur les éléments du système; et
  • Exécution du plan : exécution des opérations de mise à l’échelle rapportées dans le plan généré.
Processus proposé de mise à l’échelle automatique

Figure 3 Processus proposé de mise à l’échelle automatique

À noter que nous proposons différents algorithmes et stratégies pour réaliser les étapes de ce processus.

Évaluation de l’approche

La mise en œuvre et le déploiement de notre approche reposent sur un ensemble d’outils de suivi et de gestion largement utilisés dans le milieu du devOps et des conteneurs, à savoir NodeExporter, cAdvisor, Prometheus, Grafana, Jenkins et AlertManager. 

Pour évaluer l’approche proposée, plusieurs critères sont pris en compte : processeur, utilisation de la mémoire et du trafic réseau, temps de réponse comme mesure de performance du service.

Comme le démontre la Figure 4, le service réduit le nombre de répliques, car le temps de réponse est supérieur aux attentes. En revanche, à la Figure 5, le service augmente les répliques tant que le temps de réponse est inférieur aux attentes.

Mise à l’échelle en cas de temps de réponse supérieur aux attentes

Figure 4 Mise à l’échelle en cas de temps de réponse supérieur aux attentes

Mise à l’échelle en cas de temps de réponse inférieur aux attentes

Figure 5 Mise à l’échelle en cas de temps de réponse inférieur aux attentes

Ainsi, les ressources s’adaptent à l’état du service. Dans l’exemple de l’utilisation du processeur (UCT), à la Figure 6, l’utilisation des ressources est directement proportionnelle au nombre de répliques.

Utilisation du processeur (UCT) pendant la mise à l’échelle

Figure 6 Utilisation du processeur (UCT) pendant la mise à l’échelle

Conclusion

Visant l’efficacité dans la mise à l’échelle automatique des services déployés sur périphériques IdO, cette recherche présente une solution qui repose sur les modèles d’informations et un processus de mise à l’échelle automatique, de même que sur les conteneurs, une technologie de virtualisation légère. Les résultats obtenus prouvent l’efficacité de notre approche de mise à l’échelle automatique de services par rapport aux mesures de performance (ex., temps de réponse), ainsi que l’optimisation de l’utilisation des ressources, comme le processeur, la mémoire et le trafic réseau. 

Informations supplémentaires

Pour plus d’information sur cette recherche, consulter l’article suivant :

Bali Ahmed ; Al-Osta, Mahmud ; Ben Dahsen, Soufiene ; Gherbi Abdelouahed. Rule based auto-scalability of IoT services for efficient edge device resource utilization. Journal of Ambient Intelligence and Humanized Computing (2020).

Ahmed Bali

Profil de l'auteur(e)

Ahmed Bali est étudiant au doctorat au Département de génie logiciel et des TI de l’ÉTS.

Programme : Génie logiciel  Génie des technologies de l'information 

Laboratoires de recherche : LASI – Laboratoire en architecture de systèmes informatiques 

Profil de l'auteur(e)

Mahmud Al-Osta

Profil de l'auteur(e)

Mahmud Al-Osta est étudiant au doctorat au Département de génie logiciel et des TI de l’ÉTS.

Programme : Génie des technologies de l'information  Génie logiciel 

Laboratoires de recherche : LASI – Laboratoire en architecture de systèmes informatiques 

Profil de l'auteur(e)

Soufiene Ben Dahsen

Profil de l'auteur(e)

Soufiene Ben Dahsen est étudiant à la maîtrise au Département de génie logiciel et des TI de l’ÉTS.

Programme : Génie logiciel  Génie des technologies de l'information 

Laboratoires de recherche : LASI – Laboratoire en architecture de systèmes informatiques 

Profil de l'auteur(e)

Abdelouahed Gherbi

Profil de l'auteur(e)

Abdelouahed Gherbi est professeur au Département de génie logiciel et des T.I. de l’ÉTS. Ses domaines de recherche comprennent la modélisation de systèmes logiciels embarqués, l’ingénierie logicielle par modèles et la sécurité des systèmes.

Programme : Génie logiciel  Génie des technologies de l'information 

Laboratoires de recherche : LASI – Laboratoire en architecture de systèmes informatiques 

Profil de l'auteur(e)


commentaires

    Laisser un commentaire

    Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *