AWS Fargate : La solution Cloud pour l’exécution de conteneurs

-
3
 m de lecture
-

AWS Fargate est un moteur de calcul pour Amazon Elastic Container Service (ECS) et Amazon Kubernetes Service (EKS) qui permet d’exécuter des conteneurs sans avoir à provisionner, configurer et mettre à l’échelle des clusters de machines virtuelles qui hébergent des conteneurs d’application.

Fargate vous permet de vous affranchir de la gestion manuelle des instances EC2. De ce fait, vous pouvez concentrer vos efforts sur la conception et la construction de vos applications au lieu de gérer l’infrastructure qui les exécute. Tout ce qui vous appartient de faire est de conditionner vos applications dans des conteneurs, de spécifier vos exigences en matière de mémoire et processeur; de définir les politiques IAM et lancer vos applications.

Quels sont les avantages de Fargate ?

Entièrement géré par AWS, l’utilisation de Fargate offre des avantages non négligeables pour la gestion des conteneurs d’applications : 

  • Gestion des ressources simplifiée : aucune gestion des instances EC2 sous-jacentes pour l’exécution de vos conteneurs
  • Tarification à l’utilisation : vous ne payez qu’en fonction de votre utilisation, et aucun coût initial n’est demandé
  • Utilisant les contrôles IAM, Fargate dispose d’une sécurité très élevée
  • Les ressources s’adaptent automatiquement à la demande, et des politiques de mise à l’échelle peuvent être appliquée pour augmenter ou diminuer les ressources
  • Fargate est étroitement intégré avec d’autres services AWS tels que ECS ou EKS, facilitant par conséquent l’utilisation dans les environnement existants.

Les termes à connaître pour utiliser AWS Fargate

Avant toute chose, nous devons nous familiariser avec certains termes :

image6

Container (conteneur) : un conteneur Docker est l’unité standard qui contiendra tout ce dont a besoin votre application pour fonctionner (base de données, variables d’environnement, bibliothèques, etc.).

image7

Container Image (image de conteneur) : les images sont construites depuis un fichier dockerfile qui spécifie tous les composants qui seront inclus dans le conteneur. Ces conteneurs sont créés depuis un modèle d’image de conteneur.

image2

Task Definition (définition de tâche) : il s’agit de fichiers au format Json qui définissent le ou les conteneur(s) qui forme(nt) votre application.

image4

Task (tâche) : une tâche est ni plus ni moins que l’instanciation d’une définition de tâche au sein d’un cluster.

image5

Clusters : c’est essentiellement le regroupement logique des ressources dont votre application a besoin.

Maintenant, essayons de comprendre le diagramme ci-dessus.

Dans un premier temps, vous construisez votre image qui convient pour votre application. Ensuite, vous définissez les différentes ressources nécessaires, comme la mémoire, le processeur, etc., mais également le moteur d’orchestration que vous souhaitez utiliser (ECS ou EKS). Enfin vous pouvez exécuter et gérer vos différentes applications, en ne payant qu’à l’utilisation et aux ressources utilisées.

Dans quels cas utiliser AWS Fargate ?

Bien que Fargate prenne en charge tous les cas d’utilisation courant en matière d’applications conteneurisées tels que l’architecture de microservices, le traitement par lot (batch processing), scripts, applications web ou applications de machine learning, il y a néanmoins quelques cas qui requiert tout particulièrement son utilisation.

  • Fargate est une solution idéale pour l’exécution de microservices. Vous pouvez déployer chaque microservice conteneurisé et les ressources nécessaires seront automatiquement gérées.
  • Fargate peut être utilisé pour le traitement par lot (batch processing), telles que le traitement d’images, de vidéos, l’analyse de données et les tâches ETL. Vous pouvez ajuster vos exigences en fonction de la charge de travail nécessaire.
  • Le déploiement et l’exécution d’applications web peuvent se faire très facilement avec Fargate. Vous pouvez ainsi la faire évoluer à mesure que le besoin de vos utilisateurs s’intensifie.
  • Vous pouvez utiliser Fargate pour automatiser tout votre processus et vos pipeline DevOps

En conclusion

Vous l’aurez compris, AWS Fargate fournit une solution de calcul sans serveur pour les applications conteneurisées qui permet une gestion simple et efficace des ressources dont elles ont besoin.

Avec cette solution, vous pouvez vous concentrer sur le développement de vos applications alors que la plateforme se charge de la gestion des ressources de calcul sous-jacentes. Avec ses avantages dont on a parlé dans cet article, il s’agit d’un choix judicieux pour les entreprises de toute taille cherchant une approche moderne pour le déploiement et le développement d’applications.

Maintenant que vous savez tout sur AWS Fargate, vous pouvez suivre une formation pour maîtriser Amazon Web Services. Pour ce faire, découvrez la formation proposée par DataScientest.

Facebook
Twitter
LinkedIn

DataScientest News

Inscrivez-vous à notre Newsletter pour recevoir nos guides, tutoriels, et les dernières actualités data directement dans votre boîte mail.

Vous souhaitez être alerté des nouveaux contenus en data science et intelligence artificielle ?

Laissez-nous votre e-mail, pour que nous puissions vous envoyer vos nouveaux articles au moment de leur publication !

Newsletter icone
icon newsletter

DataNews

Vous souhaitez recevoir notre
newsletter Data hebdomadaire ?