5 outils DevOps que vous devez connaître
Publié: 2016-09-27introduction

DevOps (développements et opérations) est un groupe de concepts ou de pratiques qui met l'accent sur la collaboration et la communication entre les développeurs de logiciels et les professionnels de l'informatique . DevOps provient de deux tendances majeures liées « l'administration système agile » et « les opérations agiles ».
DevOps promeut un ensemble de processus de réflexion sur la collaboration et la communication entre les développements et les opérations informatiques. DevOps peut être utilisé pour reconnaître l'interdépendance du développement logiciel et des opérations informatiques et aide une organisation à produire plus rapidement des logiciels et des services informatiques . L'objectif principal de DevOps est de changer et d'améliorer la relation en prônant une meilleure collaboration et communication entre les deux unités commerciales. DevOps permet de déployer très rapidement des fonctionnalités en production et de détecter et corriger les problèmes lorsqu'ils surviennent, sans perturber les autres services.
Certains des avantages DevOps sont répertoriés ci-dessous :
- Délai de mise sur le marché nettement plus court.
- Productivité et efficacité améliorées.
- Taux d'échec inférieur.
- Environnements d'exploitation plus stables et fonctionnalités de livraison plus rapides.
- Livraison continue de logiciels et résolution de problèmes plus rapide
Dans le monde DevOps, de nombreux outils sont disponibles sur le marché. Je vais expliquer certains des outils les plus utiles dans ce tutoriel.
Jenkins

Si vous avez besoin d' accélérer le cycle de développement logiciel , alors Jetkins est fait pour vous. Jenkins est un utilitaire open source d'intégration continue extensible écrit en Java qui est largement utilisé pour tester le code afin de s'assurer qu'aucun bogue n'est introduit. Il s'agit d'une récompense multiplateforme et d'une application CI/CD qui augmente votre productivité. Jenkins est l'outil le plus important pour les ingénieurs DevOps pour surveiller les exécutions de tâches répétées. Jetkins est devenu le standard open source pour la gestion du côté développement. Il devient rapidement le moteur des devops. Jenkins possède un excellent écosystème de plus de 1 100 plugins et modules complémentaires . Cela permettra aux clients d'ajouter toutes sortes de fonctionnalités et d'intégrer Jenkins avec Active Directory à GitHub. Vous pouvez facilement configurer Jenkins pour créer du code, créer des conteneurs Docker, exécuter des tests et pousser vers l'environnement de production. Vous pouvez facilement installer et configurer Jenkins en utilisant son interface Web et répartir le travail sur plusieurs machines. L'utilisation de Jenkins peut vous aider à surveiller les modifications de code telles que SVN et Git, à lancer des tests, puis à revenir en arrière ou à avancer en production.
De nombreuses entreprises, projets open source et autres organisations utilisent Jenkins comme Dell, Ebay, NASA, Facebook, Linkedin, Netflix, Nokia, Sony, Yahoo! etc.
Principales caractéristiques:
- Constructions d'accélérateur
- Installation et mises à niveau faciles
- Constructions d'accélérateur
- Rapport de test JUnit/TestNG
- Intégration RSS/IM/Email
- Intégration facile avec GitHub, Bugzilla, ZIRA
- Liens permanents
Chef

Chef est un outil de gestion de configuration et d' automatisation open source écrit en Ruby et Erlang. Chef est utilisé pour la configuration du système sur des serveurs physiques, des machines virtuelles et dans le cloud pour contrôler et gérer l'infrastructure informatique . Si vous souhaitez gérer un ou mille serveurs, alors chef automatise l'ensemble de votre processus en le transformant en code. Vous pouvez facilement intégrer chef à des plateformes basées sur le cloud telles que Google Cloud, Openstack, Rackspace et Amazon EC2 pour configurer automatiquement de nouvelles machines virtuelles. Chef fournit des solutions pour les infrastructures informatiques à petite et à grande échelle avec des fonctionnalités exceptionnelles. En utilisant les outils Chef, vous pouvez facilement configurer et gérer votre infrastructure à partir d'un emplacement central sans effectuer de tâches individuelles sur chaque machine. Chef est composé de cinq composants tels que Chef Server, Chef Client, Workstation, Chef Analytics et Chef Supermarket.

De nombreuses entreprises utilisent Chef pour contrôler et gérer leur infrastructure, comme Facebook, Indiegogo, Mozilla, HP Public Cloud, Disney et Etsy.
Avantages du chef :
- Gérez tous vos environnements comme les serveurs Windows, Linux et Solaris dans le cloud ou sur site.
- Maintenez une haute disponibilité qui fournit un équilibrage de charge et un basculement automatisés en cas de défaillance du réseau ou du matériel.
- Gérez plusieurs environnements cloud à partir de l'emplacement central.
- Fonctionnalités premium disponibles.
Ansible

Ansible est une plate - forme d'automatisation open source, puissante et informatique qui est utilisée pour déployer facilement vos applications et systèmes sans aucun temps d'arrêt en utilisant simplement SSH. En utilisant Ansible, vous pouvez gérer les nœuds Linux et Windows via SSH ou via PowerShell . Ansible est un outil d'approvisionnement, similaire à Chef, Puppet ou Salt et est l'un des plus simples et des plus faciles à utiliser. Ansible n'utilise aucun agent ni infrastructure de sécurité, il est donc facile à déployer. En outre, il utilise un YAML qui vous permet de décrire vos tâches d'automatisation d'une manière qui se rapproche de l'anglais simple. Si vous devez déployer un ou plusieurs logiciels sur des milliers de nœuds, alors Ansible entre en jeu, vous pouvez déployer de nombreuses applications sur de nombreux nœuds à l'aide d'une seule commande. Il existe de nombreux outils de gestion de configuration populaires disponibles pour Linux comme Chef et Puppet, mais ceux-ci sont plus complexes à utiliser. Ansible est un excellent outil alternatif à ces options.
Principales caractéristiques:
- Tableau de bord graphique, planification des tâches, contrôle d'accès basé sur les rôles et gestion graphique des stocks.
- Le système d'automatisation informatique le plus simple et le plus facile à utiliser, que jamais.
- Exécutez facilement en tant qu'utilisateur non root.
- Gérez plusieurs nœuds très rapidement et en parallèle sans amorcer aucun logiciel.
- Exécutez des tâches simples sur n'importe quel hôte ou groupe d'hôtes de votre inventaire avec l'exécution de commandes à distance de Tower.
Docker

Docker est une plate-forme open source et la principale plate - forme de conteneurisation de logiciels au monde qui automatise le déploiement d'applications Linux à l'intérieur de conteneurs de logiciels. Docker est spécialement conçu pour faciliter la création, le déploiement et l'exécution d'applications à l'aide de conteneurs. Docker nous permet d'exécuter des applications pour utiliser le même noyau Linux que le système sur lequel elles s'exécutent. Docker est un outil pour les développeurs et les administrateurs système, ce qui en fait une partie de nombreux DevOps. Vous pouvez intégrer Docker dans divers outils d'infrastructure, tels qu'Ansible, Amazon Web Services, Chef, Google Cloud Platform et Puppet.
Principales caractéristiques:
- Gérez tous les conteneurs d'une application en tant que groupe unique.
- Assemblez des applications multi-conteneurs et exécutez-les sur n'importe quelle infrastructure.
- Plusieurs conteneurs peuvent être exécutés dans une seule instance Linux.
- Docker est si léger.
Superviseur

Supervisor est un système de contrôle de processus qui permet à ses utilisateurs de surveiller et de contrôler un certain nombre de processus sur des systèmes d'exploitation de type UNIX. Le superviseur fait référence à un processus dont le rôle est de surveiller d'autres processus et processus enfants et de les redémarrer s'ils se bloquent. Il est très simple et configuré via un simple fichier de configuration. Vous pouvez facilement contrôler les processus individuellement ou en groupes. Supervisor fournit une ligne de commande locale ou distante et une interface Web.
Supervisor fournit de nombreuses options de pré-traitement utilisées pour redémarrer les processus ayant échoué et la rotation automatique des journaux.
Principales caractéristiques:
- Écrit en Python et ne nécessite pas de compilateur C pour l'installation
- Pris en charge sur Solaris Solaris, Linux, Mac OS X et FreeBSD.
- Gérez les processus à partir de l'emplacement central.
- Il dispose d'un protocole de notification d'événement qui peut être utilisé pour le surveiller.
