Pourquoi utiliser Chef pour l'automatisation et l'orchestration

Chef est un outil open source de premier plan pour l'automatisation de l'approvisionnement et de la configuration des serveurs depuis près d'une décennie. Ces dernières années, la société a ajouté InSpec et Habitat à son portefeuille, des projets open source qui automatisent respectivement les tests de conformité aux politiques et le déploiement et la configuration des applications. L'offre commerciale phare de la société, Chef Automate, réunit toutes ces pièces.  

Chef Automate fournit une suite de fonctionnalités d'entreprise pour le flux de travail, la visibilité des nœuds et la conformité, et s'intègre aux produits open source Chef, InSpec et Habitat. Chef Automate est fourni avec des services de support pour l'ensemble de la plateforme, y compris les composants open source. En plus de fournir des vues sur les événements opérationnels, de conformité et de flux de travail, il comprend un pipeline pour la livraison continue de l'infrastructure et des applications.

Composants et flux de travail du chef

Le poste de travail Chef DK (kit de développement) est l'endroit où les utilisateurs interagissent avec Chef. Sur le poste de travail, les utilisateurs créent et testent des livres de recettes à l'aide d'outils tels que Test Kitchen (pour générer des machines virtuelles de test) et interagissent avec le serveur Chef à l'aide des outils de ligne de commande. Par exemple, Knife est un outil de ligne de commande qui fournit une interface entre un référentiel Chef local et le serveur Chef. Knife aide les utilisateurs à gérer les nœuds, les livres de recettes, les sacs de données et l'installation (bootstrap) du client Chef sur les nœuds, entre autres tâches. La plupart des fichiers d'un livre de recettes Chef sont écrits en Ruby, bien que certaines configurations soient écrites en YAML.

Chef

Le serveur Open Source Chef agit comme un hub pour les données de configuration. Le serveur Chef stocke les livres de recettes, les stratégies appliquées aux nœuds et les métadonnées qui décrivent chaque nœud enregistré géré par Chef. Les nœuds utilisent le client Chef pour demander au serveur Chef des détails de configuration, tels que des recettes, des modèles et des distributions de fichiers. En d'autres termes, Chef est par défaut un système basé sur l' extraction ; il a également des capacités de poussée.

Chef Supermarket est l'endroit où les livres de cuisine communautaires sont partagés et gérés. La console de gestion Chef, les rapports d'exécution chef-client (agent), les configurations haute disponibilité et la réplication du serveur Chef sont disponibles dans le cadre de Chef Automate.

InSpec est un framework gratuit et open-source pour tester et auditer vos applications et votre infrastructure. C'est le fondement de la partie Conformité de Chef Automate. Il s'intègre avec Puppet et Ansible ainsi que Chef.

Habitat est une plate-forme open source d'automatisation d'applications et de gestion du cycle de vie des applications native cloud, conçue du point de vue de l'application plutôt que du point de vue de l'entreprise ou de la plate-forme.

Chef

Chef pour les devops, la conformité et le cloud

Chef Automate permet de provisionner et de déployer des applications plus rapidement, plus fréquemment et de manière plus fiable. En d'autres termes, il prend en charge les devops. Il automatise également la conformité en réduisant la dérive des serveurs, en identifiant les violations de conformité et en résolvant automatiquement les problèmes. Chef Compliance, basé sur l'open source InSpec, était autrefois un produit distinct, mais fait désormais partie de Chef Automate.

La migration vers le cloud est l'un des cas d'utilisation intéressants pour Chef. Cela inclut AWS, Microsoft Azure, Google Cloud Platform, les déploiements mixtes et les clouds hybrides. Un autre ensemble majeur de cas d'utilisation est d'assurer la conformité aux normes PCI, HIPAA et autres réglementations en matière de sécurité et de confidentialité.

Comme le montre la figure ci-dessous, l'un des arguments de vente de Chef est qu'il fonctionne avec ce que vous avez. Cela inclut les principaux référentiels basés sur Git, les systèmes CI / CD, les systèmes d'exploitation, les clouds et les systèmes d'orchestration de conteneurs.

Chef

Installation et configuration du chef

En général, une installation Chef Automate se compose d'au moins deux serveurs: un serveur Chef (au moins quatre processeurs virtuels et 8 Go de RAM), qui contient les livres de recettes et les données utilisés pour créer, tester et déployer vos composants dans Chef Automate et votre et un serveur Chef Automate (au moins quatre processeurs virtuels et 16 Go de RAM), qui coordonne le processus de déplacement d'un changement dans le pipeline de flux de travail et fournit des informations et des visualisations sur votre cluster Chef Automate.

Il existe deux serveurs facultatifs, un serveur de tâches push, qui est utilisé pour créer des nœuds d'infrastructure pour les tests de déploiement et est également nécessaire si vous utilisez des nœuds de build basés sur des travaux push dans le cadre de votre processus de test et de déploiement, et des exécuteurs ou des nœuds de création (à au moins deux processeurs virtuels et 4 Go de RAM), qui effectuent le travail d'exécution des builds, des tests et des déploiements hors de Chef Automate, et ne sont nécessaires que lors de l'utilisation des capacités de flux de travail de Chef Automate.

Vous commencez par installer le serveur Chef, soit de manière autonome, soit dans une configuration haute disponibilité. Créez ensuite un utilisateur et une organisation à utiliser avec Chef Automate, à l'aide de chef-server-ctlcommandes. Téléchargez éventuellement le code pour et créez un serveur de travaux push, puis reconfigurez le serveur Chef, à nouveau à l'aide de chef-server-ctlcommandes.

À ce stade, vous pouvez installer et configurer Chef Automate à l'aide de rpmou dpkg. Installez votre licence et utilisez les automate-ctlcommandes pour exécuter une vérification avant vol et le processus de configuration. La configuration vous invitera à créer un runner pour le workflow. Enfin, vous pouvez configurer vos nœuds pour la collecte de données.

AWS OpsWorks pour Chef Automate simplifie considérablement le processus d'installation, en supposant que vous souhaitiez avoir vos serveurs Automate et Chef sur AWS, vous pouvez déployer en 10 minutes ou moins. Vous pouvez toujours gérer vos nœuds sur site à partir d'OpsWorks, bien qu'OpsWorks brille lorsque la plupart de vos nœuds sont sur AWS, car il peut automatiquement inscrire des nœuds dans des groupes à mise à l'échelle automatique.

Il existe un didacticiel décent sur AWS pour vous renseigner sur Chef, Chef Automate et OpsWorks, dans lequel vous allez tout configurer et effectuer des tâches d'automatisation étape par étape. Le didacticiel prend un peu plus de temps qu'un déploiement de base, mais cela en vaut la peine si vous êtes nouveau dans Chef.

Vous pouvez également installer Chef Automate dans des VM à partir d'AWS Marketplace. De plus, Chef a des intégrations avec Google Cloud Platform, Microsoft Azure Marketplace et VMware.

Forte de ses devops et de sa conformité, avec une large prise en charge de la plate-forme et une large gamme de modules, Chef Automate fournit une suite complète de capacités d'entreprise pour automatiser la livraison et le fonctionnement continu de l'infrastructure hybride. Il est susceptible de répondre à la plupart ou à la totalité de vos besoins en matière d'automatisation informatique.

-

Coût: Projets open source (Chef, InSpec, Habitat, etc.), gratuits. Chef Automate, 137 $ / nœud / an avec prise en charge standard (12x5). AWS OpsWorks avec Chef Automate, 0,0155 USD / nœud / heure. Chef hébergé, 72 $ / nœud / an.

Plate-forme: Chef Automate Server nécessite un système d'exploitation RHEL, SUSE ou Ubuntu. En plus de cela, Chef Automate Job Runner est pris en charge sur MacOS.

Chef Automate est compatible avec les systèmes d'exploitation VMware, CoreOS, Docker, Windows et Linux; les clouds Google, AWS, Azure, OpenStack et VMware; les systèmes d'orchestration de conteneurs Kubernetes, Docker Swarm et Mesosphere. Un service Chef Automate basé sur le cloud est disponible en tant qu'AWS OpsWorks pour Chef Automate. Vous devez accéder à la console Automate avec Google Chrome; IE n'est spécifiquement pas pris en charge.

Chef DK (kit de développement) est commercialement pris en charge sur MacOS 10.11, RHEL 6, SUSE 11, Ubuntu LTS, Windows 10 ou Windows Server 2012 et les versions ultérieures de ces systèmes d'exploitation. Le support communautaire est disponible pour Debian 7 et Scientific Linux 6 et versions ultérieures.