> Tech > Quelle solution de Compute pour Azure ?

Quelle solution de Compute pour Azure ?

Tech - Par Thierry Bollet - Publié le 14 mai 2020
email

Le « Compute » est un terme assez générique derrière lequel se cachent plusieurs technologies. On parle Compute dès son entrée sur le Cloud. Surtout pour parler de machines virtuelles ou de groupes de disponibilité, ensemble d’instances de machines virtuelles.

Quelle solution de Compute pour Azure ?

Voilà effectivement de quoi effectuer des calculs, on dispose de processeurs et de mémoire disponibles pour ingérer et traiter des données. Du calcul mais également souvent de l’exécution de code.

Oui, présenté de cette façon, Compute est un terme très générique et facile à appréhender. Dans l’absolu, ces machines seraient capable d’effectuer toutes les opérations demandées. Mais cette solution manque un peu de souplesse…

Quelques cas d’usages pour illustrer le sujet.
– Je ne dois effectuer mes calculs qu’une fois toutes les 6 heures, chaque calcul ne prend que 2 minutes.
– Je dois pouvoir bénéficier d’une puissance importante dans un temps très court, sans que cela ne soit régulier.
– Je souhaite lancer des actions de nuit, une seule fois par jour.
– Je dois lancer des actions si un événement ce produit, on parle d’éléments déclencheurs.

Ce sont évidemment des tâches que les machines virtuelles savent effectuer, mais ce n’est pas ce qu’Azure propose de plus efficace pour ce genre de besoin. Quelle rapport efficacité / coût pour une machine qui ne lancerait que 30 secondes de code par jour ?

 

Voici quelques réponses beaucoup plus adaptées à ces scénarios. Toutes les solutions ne sont pas abordées dans cet article, mais ce sont de bonnes pistes à creuser pour voir le Compute autrement.

 

Les Runbooks Azure Automation

Au risque de m’attirer les foudres des puristes, je classe les Runbooks Azure Automation dans un service de Compute. Parce que je pense que le lancement de code est à classer dans cette catégorie. Ce n’est pourtant pas ce que l’on retrouve dans les 32 services de calculs Azure, mais puisque l’on y retrouve Application de fonction (Azure Functions), il n’y a pas de raison de ne pas classer Azure Automation dans la même catégorie.

Les 32 services de la catégorie Calculer.

 

Les Runbooks sont donc une catégorie Azure Automation. Ils permettent de lancer des scripts à intervalle régulier. C’est en fait une combinaison Runbook (script) plus un élément de planification. Cet ensemble forme un travail (un job). Automation est un service Azure, il n’y a pas d’infrastructure de machines à provisionner pour lancer ces codes.
Quand utiliser les Runbooks ? Lorsque les lancements se font de manière planifiée. Attention, code Powershell ou Python uniquement.

 

Application de fonction / App Service

L’approche est un peu différente pour ce service. On parle ici de déclenchement sur évènements. Le service est notifié et déclenche le lancement d’actions. L’usage est différent des runbooks présentés précédemment. C’est également un service qui offre plus de choix puisque  .Net Core, Node.js, Java sont disponibles en plus de Powershell Core et de Python.
Techniquement, cette fonction même dans sa forme la plus simple (Serverless payée à la consommation) est hébergée sur un plan App Service. App Service est l’infrastructure sous-jacente. Les scénarios d’usages sont nombreux. Même si les App Service sont évolutives (mise à l’échelle), elles ne sont pas complètement adaptées dès lors que les calculs à lancer sont massifs. Mais attention, Application de fonction au travers de App Serivce est un service redoutable, c’est un véritable couteau Suisse. Il peut beaucoup, et sauf besoin de calcul HPC (high performance computing ou calcul haute performance), il y a de très belles choses à faire avec ce service.

 

Interface de création d’une fonction

 

Téléchargez gratuitement cette ressource

Guide de Gestion des données Cloud

Guide de Gestion des données Cloud

Découvrez comment OuiCar utilise la solution New Relic sur AWS pour réduire le temps de dépannage lié aux problèmes de performance et améliorer de 40 % le temps de réponse en back-end. Avec la solution APM de New Relic sur AWS Marketplace, OuiCar bénéficie d'une vision complète de ses performances système pour tirer le meilleur profit de ses données Cloud.

Comptes batch

Comptes batch est le service le plus adapté lorsque le besoin en puissance de calcul est le plus important. Batch, c’est à l’extrême la possibilité de disposer de … 100 000 cœurs processeur pour du calcul massif avec un mode de paiement à l’utilisation.
Tests logiciels, rendu graphique, analyse et traitement massif sont des modèles hautes performances parfaitement adaptés. Il y en a beaucoup d’autres.

Le traitement est parallélisé et la montée en charge est parfaitement gérée. Les performances sont assurées par des instances de machines sous la forme de services (processeurs ou GPU). Comme dans les modèles précédents, il n’y a pas de gestion d’infrastructure.  Les pools et clusters sont mis à disposition sans difficulté de façon parfaitement intégrée.

 

Conclusion

Runbook automation, Application de fonction / App Service ou Azure Batch ? Comme expliqué, chaque service ne couvre pas les mêmes besoins. Si Azure Batch est clairement identifié pour le calcul « haute performance », il est parfois plus délicat de choisir entre les Runbooks Automation et les fonctions.
Si le déclenchement sur évènements est requis, il faudra se tourner vers la fonction. Sur de courtes tâches répétitives, les Runbooks sont envisageables.
Point commun à toutes ces solutions, la facturation à l’utilisation et l’absence d’infrastructure à gérer.
Un point à réfléchir pour réduire son parc de machines virtuelles dédiées Compute.

 

Tech - Par Thierry Bollet - Publié le 14 mai 2020