SaltStack For DevOps
- Il est plus possible d'attendre 6 mois avant de livrer un produit en production
- Une application Android doit être mis à jour dès la sortie d'une nouvelle version d'Android
- Le marketing ne peut pas attendre et le time-to-market a de plus en plus d'importance
- Les produits d'aujourd'hui se basent sur des API tiers
- Les méthodes classiques pèsent sur le budget de l'entreptise
- Une étude (2014) par IDC/AppDynamics: plus de 43 % des entreprises ont adopté une pratique devOps, et 40 % évaluent activement DevOps
- De 1,9 milliards de dollars en 2014, le Gartner estime que le marché des technologies de DevOps pourrait atteindre 2,3 milliards de dollars cette année.
- DevOps : des leçons de l'efficacité venant de sociétés acteurs du web, telles que Google, Amazon ou Yahoo
- Gartner: « en raison des changements rapides dans l’environnement économique aujourd’hui, DevOps peut aider les organisations qui avancent pour implémenter une stratégie bimodale supportant leurs efforts de numérisation »
DevOps

DevOps

Bénéfices DevOps observés sur le terrain
- Déploiment plus fréquent des produits
 - Plus de collaboration entre les départements
 - Réduction des dépenses
 - Disponibilité et portabilité d'un produit
 - Amélioration de la qualité logicielle
 - Moins de main d'oeuvre IT
 - Hausse du nombre de clients
 - Réduction du time to market
 - Augmentation du chiffre d'affaire
 
Environnement technique
- Source code management
 - Intégration & déploiement continue
 - Packaging et artifacts
 - Virtualisation, contenaires & provisionning
 - Cloud: PaaS, SaaS & IaaS & orchestration
 - Gestion de configuration
 - Service discovery
 - Logging & Monitoring
 
DevOps

Gestion de configuration et automatisation DataCenter
- Mécanismes pour gérer la description technique d'un système
 - Le déploiement du code source sur plusieurs environnements demande une gestion de configuration et de provisionning
 - Avec l'adoption des méthodes agiles en développement, les processus de développement, de test et de déploiement ont aussi adopté des méthodes "agiles".
 - "Agilifier" les méthodes de management, automatiser les procédures et adopter des méthodes de gestion de changement
 - L'automatisation est l'évolution naturelle de l'informatique et possède une grande importance dans le cycle de vie d'un produit (provisioning, change management, release management, patch management, compliance and security.)
 
SaltStack
- 
	
SaltStack améliore fondamentalement les méthodes utilisées par les sysadmin, intégrateurs et DevOps pour configurer et gérer tous les aspects d'une infrastructure d'un Datacenter moderne
 - 
	
Il est construit sur une plate-forme relativement rapide tout en permettant la télécommande des infrastructures distribuées, du code et des données.
 - 
	
L'infrastructure a gérer: des machines virtuelles, cloud (instances Amazon EC2, Rackspace ..etc) ou des machines physiques ainsi les produits hébergé la dessus.
 - 
	
SaltStack est portable : Linux, Solaris, BSD, Windows.
 
Introduction
- Un ou plusieurs “salt-master”, “salt-minion” et “salt-syndic”
 - Un système de gestion de clés “salt-key” qui permet l'authetification sécurisé entre un master et un slave (minion)
 - Un système de “states” pour décrire les différentes configurations
 - Un fichier “top.sls” qui fait l'appel à des “states”
 - Une notion de “grain” pour gérer les données de configuration sur chaque machine cible
 - Un système de “pillars” où on enregistre les données sensibles sur le master
 - Une couche de transport et de gestion de données “ZeroMQ”
 - Un gestionnaire d'évènements “reactors”
 - D'autres notions comme “returners”, “outputters” ..etc
 
Installation
- wget -O - http://bootstrap.saltstack.org | sudo sh
 
- Possibilité d'installer les dernières versions (développement) sur github
 
- Installation des masters, des minions et des syndics
 
- Code source disponible sur : https://github.com/saltstack/salt
 
Troubleshooting
- 
	
Une liste de prérequis doit être vérifié avant de lancer Salt
- 
		
Dépendances respectés
 - 
		
Version de python
 - 
		
salt-master en mode root
 - 
		
Communication, ports d'éxécution
 - 
		
Infrastructures et réseaux : firewall, iptables, ports ..etc
 
 - 
		
 
Concepts de base
- 
	
Salt se base sur quelques concepts, quelques outils externes et un jargon spécifique:
- 
		
Python & YAML & Jinja
 - 
		
salt-master & salt-minion & salt-syndic & salt-key
 - 
		
Grains & Targeting grains
 - 
		
Saltutil
 - 
		
Outputters
 - 
		
States & Top file
 - 
		
Pillars
 - 
		
Remote execution
 - 
		
Reactors
 
 - 
		
 
Topologie basique

Extension des topologies

Authetification

Authetification

Communication

- Activation des commandes à distance
 
- Exécution parallèle plutôt que sérielle
 
- Les communications sont chiffrées
 
- ZeroMQ est rapide et sécurisé
 
- Capable de gérer des grandes infrastructures personnalisées
 
- Consommation bande passante et rapidité
 
SaltStack For DevOps
- 
	
“SaltStack for DevOps” disponible sur :
https://leanpub.com/saltstackfordevops - 
	
Extrait disponible sur :
http://bitly.com/1AKdhRGAymen El Amri
www.eon01.com
@eon01 

SaltStack For DevOps
By eon01
SaltStack For DevOps
- 1,095