Utilisateur:Dabacq/Brouillon

LocalStack
[[Fichier:Logo de LocalStack |frameless |upright=0.55 |alt=Description de l'image Logo de LocalStack. ]]
Informations
Développé par LocalStack GmbH
Licence Apache 2.0
Site web Site officiel

LocalStack est une plateforme open source qui permet aux développeurs de simuler localement une partie des services de cloud computing d'AWS [1]. En offrant une émulation locale de services comme Amazon S3, AWS Lambda, Amazon DynamoDB, Amazon SQS, Amazon SNS, ou Amazon API Gateway, LocalStack permet de développer, tester et déboguer des applications cloud **sans avoir besoin de se connecter à AWS**, réduisant ainsi les coûts et accélérant les cycles de développement [2].

LocalStack est particulièrement utile pour les tests unitaires, l’intégration continue (CI), et le développement en environnement isolé.

Historique

modifier

LocalStack a été lancé en juin par Piotr Gaczkowski et Waldemar Hummer, deux chercheurs en informatique [3]. Initialement conçu comme un outil simple pour émuler Amazon S3, il s’est étendu pour supporter de nombreux services AWS, devenant un standard pour le développement local d’applications cloud [4].

Fonctionnement

modifier

Principe

modifier

LocalStack utilise des conteneurs Docker pour émuler les services AWS. Chaque service est implémenté principalement en Python et tourne dans un conteneur dédié. Les requêtes API REST envoyées à LocalStack sont interceptées et traitées localement, imitant le comportement des vrais services AWS.

Services supportés

modifier

LocalStack prend en charge une grande partie des API AWS, notamment :

Une liste complète et mise à jour des services supportés est disponible sur le https://docs.localstack.cloud/.

Installation et utilisation

modifier

Prérequis

modifier
  • Docker (version 20.10 ou ultérieure recommandée)
  • Python 3.8+
  • pip (pour l’installation via `pip`)

Installation

modifier

LocalStack peut être installé de plusieurs manières :

  • Via pip install localstack
  • Via Docker (recommandé) :

docker pull localstack/localstack docker run -d -p 4566:4566 -p 4510-4559:4510-4559 --name localstack localstack/localstack

Démarrage

modifier

Pour démarrer LocalStack après installation : localstack start ou, si tu utilises Docker : docker start localstack

Cas d’usage

modifier

LocalStack est utilisé dans plusieurs contextes, notamment :

  • Le développement local d’applications AWS sans coûts.
  • Les tests unitaires et d’intégration.
  • L’intégration continue (CI) dans des environnements isolés.
  • La formation et l’apprentissage des services AWS.

Réception

modifier

LocalStack est largement adopté par les développeurs pour le développement et les tests d'applications cloud. Il est utilisé par des entreprises comme Red Hat [5] et est intégré dans des outils d'intégration continue comme GitHub Actions [6]. En 2026, le projet compte plus de 60 000 étoiles sur GitHub [7], ce qui en fait l'un des projets open source les plus populaires dans le domaine de l'émulation cloud.

Avantages et limites

modifier

Avantages

modifier
  • Économique : pas de coûts liés à l’utilisation des services AWS.
  • Rapide : pas de latence réseau, exécution locale instantanée.
  • Isolé : environnement local sécurisé et reproductible.
  • Open source : communauté active et contributions possibles.
  • Portable : fonctionne sur n’importe quelle machine avec Docker.

Limites

modifier
  • Compatibilité partielle : certains services ou fonctionnalités avancées d’AWS ne sont pas encore supportés.
  • Performances limitées : moins performant qu’AWS pour des charges lourdes ou des requêtes massives.
  • Maintenance : nécessite des mises à jour régulières pour suivre les évolutions des API AWS.

Alternatives

modifier
  • AWS SAM CLI : pour tester des applications serverless localement, développé par AWS.
  • MinIO : alternative open source spécialisée dans l’émulation de Amazon S3.
  • Testcontainers : bibliothèque pour émuler des services cloud dans des tests, compatible avec plusieurs langages.
  • Moto : bibliothèque Python pour mocker les services AWS.

Voir aussi

modifier

Liens externes

modifier

Références

modifier

[[Catégorie:Logiciel libre]] [[Catégorie:Cloud computing]] [[Catégorie:Amazon Web Services]] [[Catégorie:Outils de développement]] [[Catégorie:Logiciel pour Linux]] [[Catégorie:Logiciel pour macOS]] [[Catégorie:Logiciel pour Windows]] [[Catégorie:Logiciel en Python]]

Historique

modifier

LocalStack a été lancé en juin par Piotr Gaczkowski et Waldemar Hummer, deux chercheurs en informatique. Initialement conçu comme un outil simple pour émuler Amazon S3, il s’est étendu pour supporter de nombreux services AWS, devenant un standard pour le développement local d’applications cloud.

Fonctionnement

modifier

Principe

modifier

LocalStack utilise des conteneurs Docker pour émuler les services AWS. Chaque service est implémenté principalement en Python, et tourne dans un conteneur dédié. Les requêtes API REST envoyées à LocalStack sont interceptées et traitées localement, imitant le comportement des vrais services AWS.

Services supportés

modifier

LocalStack prend en charge une grande partie des API AWS, notamment :

Une liste complète et mise à jour des services supportés est disponible sur le https://docs.localstack.cloud/.

Installation et utilisation

modifier

Prérequis

modifier
  • Docker (version 20.10 ou ultérieure recommandée)
  • Python 3.8+ (pour certaines fonctionnalités)
  • pip (pour l’installation via `pip`)

Installation

modifier

LocalStack peut être installé de plusieurs manières :

  • Via pip install localstack
  • Via Docker (recommandé) :

docker pull localstack/localstack docker run -d -p 4566:4566 -p 4510-4559:4510-4559 --name localstack localstack/localstack

Démarrage

modifier

Pour démarrer LocalStack après installation : localstack start ou, si tu utilises Docker : docker start localstack

Cas d’usage

modifier

LocalStack est utilisé dans plusieurs contextes, notamment :

  • Le développement local d’applications AWS sans coûts.
  • Les tests unitaires et d’intégration.
  • L’intégration continue (CI) dans des environnements isolés.
  • La formation et l’apprentissage des services AWS.

Avantages et limites

modifier

Avantages

modifier
  • Économique : pas de coûts liés à l’utilisation des services AWS.
  • Rapide : pas de latence réseau, exécution locale instantanée.
  • Isolé : environnement local sécurisé et reproductible.
  • Open source : communauté active et contributions possibles.
  • Portable : fonctionne sur n’importe quelle machine avec Docker.

Limites

modifier
  • Compatibilité partielle : certains services ou fonctionnalités avancées d’AWS ne sont pas encore supportés.
  • Performances limitées : moins performant qu’AWS pour des charges lourdes ou des requêtes massives.
  • Maintenance : nécessite des mises à jour régulières pour suivre les évolutions des API AWS.

Alternatives

modifier
  • AWS SAM CLI : pour tester des applications serverless localement, développé par AWS.
  • MinIO : alternative open source spécialisée dans l’émulation de Amazon S3.
  • Testcontainers : bibliothèque pour émuler des services cloud dans des tests, compatible avec plusieurs langages.
  • Moto : bibliothèque Python pour mocker les services AWS.

Voir aussi

modifier

Liens externes

modifier

[[Catégorie:Logiciel libre]] [[Catégorie:Cloud computing]] [[Catégorie:Amazon Web Services]] [[Catégorie:Outils de développement]] [[Catégorie:Logiciel pour Linux]] [[Catégorie:Logiciel pour macOS]] [[Catégorie:Logiciel pour Windows]]