TRACK ADMINISTRATION SYSTÈME / CLUSTERS / DEVOPS L'automatisation open source pour SI complexes Si, si, c'est possible! Jonathan CLARKE CTO - Normation jcl@
Qui suis-je? Jonathan Clarke Job : Co-fondateur et directeur technique de Normation Métier : D'abord administration système, gestion d'infrastructures Maintenant plein d'autres choses! Logiciel libre : Contributeur OpenLDAP, CFEngine, LSC, LTB... Contacts Mail : jcl@ Twitter : @jooooooon42 2
De quoi parle-t-on? L'automatisation open source pour SI complexes 3
De quoi parle-t-on? Système d'information complexe? Complexe (adj) : Qui n est pas simple ; qui embrasse des éléments divers et entremêlés. Complexité vue selon trois axes 4
Les multiples axes de complexité d'un SI Complexité du SI, axe 1 : Stack technique Configs. applicatives Paramètres d'une instance Secrets Paramètres d'un cluster (comptes, clés, certificats...) Sécurité applicative Progiciels, dév internes : PHP, Perl, Python, Ruby, Java, Scala,.NET,... DIVERSITÉ Applicatif Serveurs applicatifs : Tomcat, JBoss, Websphere, Weblogic, Passenger,... Services réseau : Apache HTTPD, Nginx, Postfix, Squid, OpenLDAP,... Configs. système OS Machine Utilisateurs & Groupes Réseau Stockage Monitoring Sources logicielles (dépôts paquets, WSUS,...) GNU/Linux UNIX Debian, Ubuntu, Solaris, HP-UX, Red Hat, SuSE,... AIX,... Accès distant (SSH, RDP,...) Backups Logs Politiques de sécurité Windows Autres 2000, 2003, 2008, 2012,... BSD, OS X, Android,... Physique Virtuel Cloud Dell, IBM, HP,... VMWare, KVM, Xen, OpenVZ, HyperV,... EC2, Rackspace, Joyent, OpenStack,... 5
Les multiples axes de complexité d'un SI Complexité du SI, axe 2 : Contraintes réelles Multiples sites Structure organisationnelle Distance géographique Support distant Paramétrage spécifique Liens à dimension variable Filiales, maison mère Délégation de droits Variation des paramètres Multiples pays Multiples clients Législations locales Langue d'échange Décalage horaire Pratiques spécifiques Législations par activité Normes à appliquer (SOX, PCI-DSS, ISO 27001...) 6
Les multiples axes de complexité d'un SI Complexité du SI, axe 3 : Responsabilités Vision fonctionnelle (RH, compta, métier,...) on i s Vi ine a m do sé cu rit é on ue q i hn c te au e s (ré toc s,...) e g ka Vi si pro n o i Vis ), s e dlin a e d nt, e m e anc jet (l 7
Les multiples axes de complexité d'un SI Système d'information complexe? Ces 3 axes se combinent pour rendre la complexité exponentielle! Modélisation hiérarchique complète impossible Visualisation difficile 8
Gérer la complexité de son SI Comment gérer cette complexité? Première chose à faire : la comprendre Disposer d'un inventaire complet et à jour (à la CMDB) Répertorier les procédures existantes et leur taux d'application Identifier les volontés et besoins des responsables de domaine 9
Gérer la complexité de son SI Comment gérer cette complexité? Approche numéro 1 : rationaliser Limiter le nombre de technologies utilisée dans vos stacks Harmoniser et clarifier les procédures Regroupez les approches similaires mais différentes par domaine 10
Gérer la complexité de son SI Comment gérer cette complexité? Approche numéro 2 : automatiser 11
L'automatisation du SI complexe Automatiser : dans quel objectif? Encapsuler et abstraire la complexité grâce à des entités et étapes clairement définies et répétables 12
L'automatisation du SI complexe Automatiser : à quels niveaux techniques? Configs. applicatives Paramètres d'une instance Secrets (comptes, clés, certificats...) Paramètres d'un cluster Sécurité applicative Déploiement applicatif Progiciels, dév internes : PHP, Perl, Python, Ruby, Java, Scala,.NET,... Applicatif Serveurs applicatifs : Tomcat, JBoss, Websphere, Weblogic, Passenger,... Services réseau : Apache HTTPD, Nginx, Postfix, Squid, OpenLDAP,... Configs. système OS Machine Politiques de Sources logicielles Gestion de configuration Logs sécurité (dépôts paquets, WSUS,...) Utilisateurs & Groupes Réseau Accès distant (SSH, RDP,...) GNU/Linux Stockage UNIX Debian, Ubuntu, Solaris, HP-UX, Red Hat, SuSE,... AIX,... Physique Dell, IBM, HP,... Monitoring Backups Windows Autres 2000, 2003, 2008, 2012,... BSD, OS X, Android,... Provisioning Virtuel VMWare, KVM, Xen, OpenVZ, HyperV,... Cloud EC2, Rackspace, Joyent, OpenStack,... 13
L'automatisation du SI complexe Une parenthèse sur le cloud / XaaS Configs. applicatives Paramètres d'une instance SaaS Secrets (comptes, clés, certificats...) Paramètres d'un cluster Sécurité applicative Progiciels, dév internes : PHP, Perl, Python, Ruby, Java, Scala,.NET,... Applicatif Serveurs applicatifs : Tomcat, JBoss, Websphere, Weblogic, Passenger,... PaaS Services réseau : Apache HTTPD, Nginx, Postfix, Squid, OpenLDAP,... Configs. système OS Machine Utilisateurs & Groupes Réseau Politiques de sécurité Logs Accès distant (SSH, RDP,...) GNU/Linux Sources logicielles (dépôts paquets, WSUS,...) Stockage UNIX Debian, Ubuntu, Solaris, HP-UX, Red Hat, SuSE,... AIX,... Monitoring Backups Windows Autres 2000, 2003, 2008, 2012,... BSD, OS X, Android,... IaaS Physique Virtuel Cloud Dell, IBM, HP,... VMWare, KVM, Xen, OpenVZ, HyperV,... EC2, Rackspace, Joyent, OpenStack,... 14
L'automatisation du SI complexe Automatiser : dans quel objectif? Fondations pour évoluer par dessus Abstraction pour changer en dessous isolation, agilité 15
L'automatisation du SI complexe Automatiser : l'abstraction des couches Configs. applicatives Paramètres d'une instance Secrets (comptes, clés, certificats...) Paramètres d'un cluster Sécurité applicative Déploiement applicatif Progiciels, dév internes : PHP, Perl, Python, Ruby, Java, Scala,.NET,... Applicatif A B S T R A CT I O N ABST R A CT IO N Serveurs applicatifs : Tomcat, JBoss, Websphere, Weblogic, Passenger,... Services réseau : Apache HTTPD, Nginx, Postfix, Squid, OpenLDAP,... Configs. système OS Machine Politiques de Sources logicielles Gestion de configuration Logs sécurité (dépôts paquets, WSUS,...) Utilisateurs & Groupes Réseau Accès distant (SSH, RDP,...) GNU/Linux Stockage A B S T R A CT IIO ON UNIX Debian, Ubuntu, Solaris, HP-UX, Red Hat, SuSE,... AIX,... Physique Dell, IBM, HP,... Monitoring Backups Windows Autres 2000, 2003, 2008, 2012,... BSD, OS X, Android,... Provisioning Virtuel VMWare, KVM, Xen, OpenVZ, HyperV,... Cloud EC2, Rackspace, Joyent, OpenStack,... 16
Outils d'automatisation pour SI complexes Quels outils pour une automatisation open source? Fonctionnalités indispensables pour gérer la complexité Alternative au modèle hiérarchique Classification flexible Règles sur les 3 axes (tags?) Workflow d'approbation (Change Requests) Gestion fine des droits Refléter les droits de l'organisation, la loi, les normes 17
Outils d'automatisation pour SI complexes Quels outils pour une automatisation open source? Critères de choix des outils Spécifiques aux SI complexes : Support de multiples technologies/interfaces Léger et performant API, formats d'échange clairs Flexibilité sur les architectures réseau Éviter limitations Scalabilité Interopérabilité Intégration 18
Outils d'automatisation pour SI complexes Quels outils pour une automatisation open source? Critères de choix des outils Génériques aux outils open source : Développement actif par plusieurs entités Utilisateurs et professionnels Méthodologies de gestion du projet Croissance, Pérennité Communauté Qualité 19
Outils d'automatisation pour SI complexes Quelques outils qui se démarquent Configs. applicatives Applicatif Déploiement applicatif Parc Fabric fabfile.org Gestion de configuration Configs. système OS Provisioning Machine 20
Solution d'automatisation SI complexes Vers une solution d'ensemble? État actuel : nombre d'outils indépendants Des intégrations existent, d'autres sont faciles grâce aux API... 21
Solution d'automatisation SI complexes Vers une solution d'ensemble? Valeurs clés Plug and play Open source Simple Smart La mission de Rudder est de fournir une solution plug-and-play, extensible pour un SI automatisé, quelque soit sa complexité. Combiner les outils éprouvés et les best practices pour généraliser leur usage Fonctionnement out-of-the-box grâce à des réglages par défaut pertinents Extensibilité par modules pour la flexibilité et l'intégration 22
Solution d'automatisation SI complexes Automatisation Contrôle en continu Expérience utilisateur Bibliothèque inclus Configurations système, déploiements, inventaire Interfaces web et CLI Reporting graphique Multi-plateforme Linux, Unix, Windows, Android... Maintien en conditions opérationnelles (MCO) Best practices infrastructure Basé sur CFEngine, FusionInventory, Cobbler Open Source 23
Merci de votre attention! Questions? Pour en savoir plus sur le salon Stand E27 Découvrez Rudder www.rudder-project.org @RudderProject