Aller au contenu principal

SaltStack

Overview

SaltStack (Salt) est un outil de configuration management et d’orchestration conçu pour opérer à grande échelle avec une communication rapide entre un maître et de nombreux minions. Il combine des fonctionnalités de gestion de configuration déclarative et d’exécution à distance (remote execution) basées sur un bus de messages.

Salt utilise des “states” (fichiers de configuration déclaratifs, souvent en YAML/Jinja) pour décrire l’état souhaité d’un système. Il est bien adapté aux environnements où l’on a besoin à la fois de configuration management et d’actions ad hoc rapides sur de grands parcs de machines.

L'architecture de Salt permet également une intégration avec des événements (event-driven automation), ce qui en fait un outil intéressant pour l'automatisation réactive.


Informations essentielles

PropriétéValeur
Site officielhttps://saltproject.io/
LicenceApache 2.0
NationalitéÉtats-Unis
TypeConfiguration management, orchestration, remote execution
DéploiementOn-prem, cloud, hybride
DifficultéIntermédiaire à avancé
TechnologiesPython, YAML, ZeroMQ (ou autres transports)

TL;DR

SaltStack est adapté si tu dois gérer de nombreux nœuds avec des besoins de configuration et d’orchestration en quasi temps réel. Les “states” permettent de décrire la configuration de façon déclarative, tandis que la remote execution offre une grande flexibilité pour les opérations ponctuelles. L’architecture orientée événements ouvre la voie à des scénarios d’automatisation réactive avancée. En contrepartie, l’architecture Salt (master/minions, bus de messages, backends) peut être complexe à appréhender. La maintenance de l’infrastructure Salt et le tuning à grande échelle demandent des compétences spécifiques.


Compatibilité et intégrations

  • Systèmes : Linux, Unix, Windows
  • Cloud : intégrations avec AWS, Azure, GCP, OpenStack, VMware, etc.
  • Écosystème de modules et de states communautaires
  • Intégrations possibles avec des outils CI/CD, des systèmes de monitoring et de log

Avantages

  • Capable de gérer de très grands parcs de serveurs
  • Combinaison de configuration déclarative et d'exécution à distance
  • Architecture orientée événements pour l'automatisation réactive
  • States en YAML/Jinja relativement lisibles
  • Large éventail de modules intégrés pour les systèmes et les services

Limites

  • Architecture interne plus complexe que des outils purement agentless
  • Déploiement et maintenance du master Salt et de l'infrastructure de transport
  • Courbe d'apprentissage importante pour exploiter toutes les fonctionnalités
  • Moins répandu que certains concurrents, ce qui peut limiter l'écosystème dans certains contextes

Ressources