Architecture du système Red Hat Satellite 6

Red Hat Middleware

Un middleware est un logiciel qui fournit aux applications des fonctionnalités et des services communs. Il permet d’améliorer l’efficacité des développeurs qui créent les applications. Il joue le rôle de lien entre les applications, les données et les utilisateurs.
Red Hat Middleware propose un portefeuille de produits et de composants pour créer, intégrer et automatiser des applications et des processus métier modernes. Les offres sont optimisées pour les conteneurs et Red Hat OpenShift et les architectures sur site, cloud ou hybrides.
Avec Red Hat Middleware, les entreprises peuvent accélérer le développement et la livraison de solutions d’entreprise pour passer plus de temps à innover et conserver leur avantage concurrentiel. Le portefeuille offre des capacités d’exécution, des cadres, un accès rapide aux données, une messagerie haute performance, une intégration, une gestion des décisions et des capacités d’automatisation des processus métier de manière flexible, facile à utiliser, rentable, ouverte et collaborative. Tous les produits peuvent s’exécuter sur site, dans le cloud ou au sein d’une plate-forme de conteneur telle que Red Hat OpenShift Container Platform.

Red Hat Application Runtimes

Pour les organisations qui cherchent à moderniser des applications existantes ou à en créer de nouvelles, Red Hat Application Runtimes fournit les produits et composants intégrés et optimisés nécessaires pour fournir des applications modernes.
Les équipes informatiques peuvent conteneuriser les applications en adoptant une architecture de microservices, améliorer les performances d’accès aux données et la résilience avec des modèles de mise en cache des données en mémoire, améliorer la communication service-service avec la messagerie et adopter le développement d’applications cloud natives à l’aide de modèles et de technologies de développement modernes. Red Hat Application Runtimes comprend.

Red Hat Integration

Pour les organisations intéressées par l’adoption de déploiements d’intégration hautement distribués, Red Hat Integration fournit les produits et les composants nécessaires pour adopter une première approche d’ interface de programmation d’application (API) . Cela permet une visibilité et un contrôle des API à l’échelle de l’entreprise, la création d’API pour l’orchestration des services sur les applications nouvellement développées ou existantes, et une messagerie rapide et fiable pour créer des solutions de messagerie et de streaming à faible latence basées sur des modèles de messagerie éprouvés.
L’intégration Red Hat inclut les environnements d’exécution Red Hat, Red Hat AMQ , Red Hat 3scale API Management et Red Hat Fuse .

Red Hat Process Automation

Pour les organisations qui cherchent à améliorer l’agilité commerciale, l’efficacité opérationnelle et les délais de mise sur le marché, Red Hat Process Automation fournit les outils et les composants nécessaires pour fournir des applications qui automatisent les processus métier et les décisions qui peuvent être rapidement adaptées à un environnement en évolution. La collaboration entre les équipes informatiques et commerciales permet la capture et l’application des politiques et procédures, l’automatisation des opérations commerciales et la mesure des résultats des activités commerciales dans des environnements hétérogènes, notamment physiques, virtuels et cloud.
Red Hat Process Automation inclut Red Hat Application Runtimes, Red Hat Process Automation Manager et Red Hat Decision Manager.

Red Hat Training and Certification

Ce service permet de suivre des cours pratiques pour maîtriser les technologies Red Hat et de passer des examens pratiques afin d’obtenir des certifications.

Red Hat Consulting

Red Hat Consulting regroupe des conseillers stratégiques qui prennent en consideration tous les tenants et les aboutissants d’une entreprise. Ces derniers analysent les défits auxquels l’entreprise est confrontée et l’aide à les relever avec des solutions complètes et économiques.

Ansible

Présentation générale

Ansible est un outil open-source de provisionnement de logiciels, de gestion des configurations et de déploiement d’applications qui permet de faire de l’infrastructure un code. Il fonctionne sur de nombreux systèmes de type Unix, et peut configurer aussi bien des systèmes de type Unix que Microsoft Windows. Il comprend son propre langage déclaratif pour décrire la configuration du système. Ansible est sans agent, se connectant temporairement à distance via SSH ou Windows Remote Management (permettant l’exécution à distance de PowerShell) pour effectuer ses tâches.
Ansible gère les différents nœuds avec un accès à distance natif (tels que les protocoles SSH ou Remote PowerShell ou encore des APIs natives). Il ne nécessite l’installation d’aucun logiciel supplémentaire à distance. Il offre des capacités de parallélisation, collecte de métadonnées et gestion des états. Cet aspect de conception “sans agent” installé sur le périphérique est important car il réduit les besoins d’infrastructure pour démarrer une gestion. Les modules fonctionnent grâce à JSON et à la sortie standard et peuvent être écrits dans n’importe quel langage de programmation. Le système utilise notamment YAML pour exprimer des descriptions réutilisables de systèmes, il fournit des sorties en JSON, il traite les variables grâce à des modèles Jinja2.
Le logiciel Ansible a été conçu par un ancien employé Red Hat, Michael DeHaan, également auteur de l’application de serveur de “provisionning” Cobbler et co-auteur du framework Func pour l’administration à distance. Le code source du logiciel est sous licence GNU General Public v3.0. Red Hat a racheté la société Ansible, Inc. en octobre 2015.

Les objectifs de conception Ansible

Les objectifs de conception de Ansible comprennent :
Le minimum par nature. Les systèmes de gestion ne devraient pas imposer des dépendances supplémentaires sur l’environnement. La cohérence. cf. notion de test unitaire (procédure permettant de vérifier le bon fonctionnement d’une partie précise d’un logiciel ou d’une portion d’un programme).
La sécurité. Ansible ne déploie pas des agents sur les noeuds. Un protocole de transport comme OpenSSH ou HTTPS est seulement nécessaire pour commencer une gestion.
La fiabilité. Lorsqu’il est écrit soigneusement, un livre de jeu Ansible peut être idempotent afin d’éviter des effets secondaires inattendus sur les systèmes gérés. Une courbe d’apprentissage faible. Les livres de jeux Ansible utilisent un langage simple et descriptif basé sur YAML et les modèles Jinja2.

Les nœuds gérés

Les noeuds gérés, s’ils sont en Linux/Unix, doivent disposer de Python 2.6 ou version ultérieure, mais de préférence aujourd’hui le pré-requis est Python 3. SSH est alors le mode de connexion préféré.
Depuis sa version 1.7, Ansible peut également gérer les noeuds Windows. Dans ce cas, on utilise PowerShell à distance de manière native au lieu de SSH. Le matériel d’infrastructure réseau (“constructeurs”), pare-feux, serveurs de stockage, fournisseurs IaaS, solutions de virtualisation sont supportés via SSH, NETCONF/YANG ou encore via des API HTTP REST.

Les clés SSH

La machine de contrôle et les noeuds gérés devraient a priori simplement communiquer grâce au service SSH.
Les mots de passe sont pris en charge, mais la gestion des clés SSH avec ssh-agent est l’un des meilleurs moyens d’utiliser Ansible. Il est également possible d’utiliser parmi beaucoup de possibilités des authentifications Kerberos ou autres. Les connexions “root” ne sont pas obligatoires, on peut se connecter en tant qu’utilisateur, et puis utiliser “su” ou “sudo”. Le module “authorized_key” d’Ansible est un excellent moyen d’utiliser Ansible pour contrôler les accès SSH.
Il faut notez que ssh-agent s’utilise avec des clés avec des passphrase. Ansible supporte beaucoup d’autres types de connexions/communications avec ses cibles.
Les modules sont “les outils dans la boîte-à-outils”. Ansible fonctionne en se connectant aux noeuds à gérer et en leur envoyant des petits programmes, appelés “modules Ansible”. Ces programmes sont écrits pour être des modèles de ressources de l’état souhaité du système. Ansible exécute ensuite ces modules (via SSH par défaut) grâce au protocole JSON sur la sortie standard et les supprime lorsque l’action est terminée. La bibliothèque de modules peut résider sur n’importe quelle machine et sans aucun serveur central, démon ou base de données. En général, l’administrateur travaille avec son programme de terminal favori, un éditeur de texte et probablement un système de gestion de version (SCM) come Git pour suivre les modifications apportées à son contenu. Rien n’interdit d’écrire son propre module. Ces modules peuvent contrôler les ressources comme des services, des paquets ou des fichiers (n’importe quoi en réalité), ou encore exécuter des commandes système. 1 Red Hat, Automatisation de la conformité de sécurité avec Ansible et OSCAP. 38 Le document de formation prévoit une initiation à l’usage des modules en mode ad-hoc et dans les livres de jeu. A partir de la version 2.10, les modules Ansible font partie d’espace nommé comme des collections et se référence selon l’espace nommé qui leur sont réservés. II.3.6.6. Les plugins Les Plugins apportent des fonctionnalités complémentaires à Ansible. On peut connaître tout type de plugins (qui sont des sortes de “modules” spécialisés) :  connexions : ssh, winrm, local, …  inventory : ini, yaml, scripts, liste, …  become : su, sudo, enable, runas  cache : Les plugins de cache permettent à Ansible de stocker les faits rassemblés ou d’inventorier les données sources sans avoir à les récupérer à la source.  Les plugins de callback permettent d’ajouter de nouveaux comportements à Ansible lors de la réponse aux événements : horodatage, say, …  strategy : free, linear, …  … II.3.6.7. Les collections Les “collections” sont un format de distribution pour du contenu Ansible qui peut inclure des livres de jeu, des rôles, des modules et des plugins. Les “collections” sont distribuées par Ansible Galaxy via ansible-galaxy collection install . Depuis la version 2.10., les “collections” comprennent les modules tiers au projet ansible-base. Ansible Galaxy : Ansible Galaxy est essentiellement un vaste référentiel public de rôles Ansible. Les rôles sont livrés avec des fichiers README détaillant l’utilisation du rôle et les variables disponibles. Galaxy contient un grand nombre de rôles en constante évolution et en augmentation. Galaxy peut utiliser git pour ajouter d’autres sources de rôle, telles que GitHub. Vous pouvez initialiser un nouveau rôle galaxy à l’aide de ansible-galaxy init, ou vous pouvez installer un rôle directement à partir du magasin de rôles Ansible Galaxy en exécutant la commande ansible-galaxy install . Sur Ansible version 2.8, vous bénéficiez de la nouvelle fonctionnalité des collections

Formation et coursTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *