L'essentiel sur SaltStack
Relativement nouveau sur le marché de la gestion des configurations, SaltStack dispose de fonctions puissantes et d'une communauté d'utilisateurs dynamique. Nous vous présentons ici ce nouvel entrant.
SaltStack, parfois abrégé en Salt, offre des fonctions de gestion des configurations qui automatisent le packaging et le provisioning du code dans l'environnement d'exploitation informatique de l'entreprise. Développé en 2011 par l'architecte IT Tom Hatch, SaltStack est relativement nouveau sur le marché de la gestion des configurations. Utilisateur de Puppet et de Chef, Tom Hatch a eu besoin d'accélérer la collecte des données pour orchestrer le provisioning d'activités dans l'environnement d'administration systèmes.
Une communauté dynamique s'est constituée autour de la version open source, version de Salt dite « Salt Open » ou « Salt O.S.S ». Parmi les entreprises utilisatrices de SaltStack, citons British Telecom, LinkedIn, OpenX, Clemson University, Lyft et Overstock.com.
La version la plus récente de Salt Open est la 2016.3.3, sortie en août 2016. Le logiciel est disponible sous licence Apache 2.0. Il est aussi disponible en version commerciale sous le nom de SaltStack Enterprise.
Écrit en Python, SaltStack peut utiliser des scripts écrits directement dans ce langage ou rendre d'autres scripts écrits, par exemple en YAML ou JSON, grâce au moteur de rendu PyDSL Salt.
SaltStack Enterprise se positionne comme principal gestionnaire de l'orchestration des opérations informatiques et Cloud, ainsi qu'en tant qu'outil DevOps.
Composants SaltStack
SaltStack s'exécute en mode maître-minion ou autonome. Le modèle maître-minion intégral implique d'appeler le démon salt-minion sur chaque noeud. Le minion cherche alors le serveur maître SaltStack pour s'y connecter. Ce serveur devient ensuite le contrôleur qui collecte toutes les données sur les noeuds et y administre toute activé de provisioning et de gestion. En mode autonome, le démon salt-minion ne s'exécute pas. Toutefois, le noeud peut se gérer lui-même ou fournir sa fonctionnalité de gestion à des noeuds sans connectivité au serveur maître. SaltStack se différencie par sa vitesse de collecte des données et de provisioning des scripts en sortie. Pour ce faire, il utilise un bus de messages ZeroMQ.
SaltStack utilise un ensemble de termes pour ses différents modes de fonctionnement :
- les modules Execution représentent les fonctions utilisées sur l'ensemble de la plateforme ;
- les modules State exécutent des fragments de code qui appliquent, définissent ou modifient la configuration d'un noeud cible ;
- Grains collecte les informations statiques sur un noeud et les conserve en mémoire vive (RAM) pour y accéder rapidement ;
- les modules Renderer convertissent les commandes et les scripts avec le moteur SaltStack, permettant de fait le recours à tout format sérialisé de scripts ;
- les Returners recueillent les informations envoyées par les noeuds et les consolident logiquement quel que soit le site expéditeur.
Les Runners sont des applications maître exécutées par la propre commande salt-run de SaltStack.
Licences et tarifs de SaltStack
Les tarifs, fixés au cas par cas, se calculent selon un modèle d'abonnement par noeud ou par niveau de support.
SaltStack propose trois niveaux de support correspondant aux différents types et tailles d'entreprise :
- SaltStack Basic, support via un portail Web avec réponse le jour même et un certain niveau de formation. Cette offre inclut des remises sur les formations complémentaires et d'autres services, notamment des ateliers sur la prise en main de SaltStack (voir détails ci-dessous) et sur la livraison en continu en DevOps.
- SaltStack Priority, support téléphonique et Web 24/7 conforme à l'engagement de niveau de service. Cette offre comprend aussi de la formation ainsi que les remises incluses dans l'offre Basic. La prestation inclut un contrôle d'intégrité annuel de la mise en oeuvre dans l'environnement du client.
- SaltStack Premium ramène la fréquence des contrôles d'intégrité à un rythme trimestriel et propose en option un responsable de compte attitré.
Toutes les offres de support donnent accès au brain-trust de SaltStack qui regroupe des experts de la communauté et des employés de SaltStack appartenant aux équipes de support, d'assurance qualité, d'ingénierie et de développement pur. SaltStack diffuse sur son site des guides Quickstart d'aide au paramétrage et au démarrage de Salt. Dans le cadre des contrats de support par abonnement, l'entreprise propose aussi des ateliers Quickstart pour accompagner les clients dans l'automatisation de leur propre infrastructure et l'orchestration du cloud public.
Selon SaltStack, ses outils conviennent aux entreprises de toute taille. Ils ont assurément la vitesse et l'évolutivité indispensables pour répondre aux besoins des grandes entreprises. SaltStack convient également aux entreprises plus petites puisqu'il peut s'exécuter sans maître ; autres avantages, la courbe d'apprentissage plutôt faible et des modèles de support