Des outils gratuits pour vous aider dans votre démarche d'automatisation

Ce blog vous guidera à travers quelques éléments de base à prendre en compte lors du choix de votre boîte à outils. Allons-y.
Image de Sinisa

Sinisa

Table des matières

Choisir le bon ouvert trouver l'outil ou la solution source pour votre cas d'utilisation particulier peut être difficile en raison de la vaste gamme d'options disponibles sur GitHub et d'autres plateformes. L'aide est toujours grandement appréciée, surtout dans les premières étapes de votre parcours d'automatisation lorsqu'il y a beaucoup de questions sans réponse ou peu claires.

Ce blog vous guidera à travers quelques bases à prendre en compte lors du choix de votre boîte à outils.

Entrons-y ! 🎯

Codage

Quand il s'agit d'automatisation, la première et la plus importante application dont vous aurez besoin est un environnement de développement. À mon avis, il y a deux outils que vous devriez examiner. Chacun a des avantages, des inconvénients et des cas d'utilisation uniques :

  1. Visual Studio Code
  2. JetBrains IntelliJ IDEA

Bien que j'aime IDEA pour l'infrastructure en tant que code (en particulier avec Terraform et le support des dépendances de variables et de modules) et un support Git étendu, VSCode offre beaucoup plus d'intégrations.

Je préfère IDEA pour ce qui concerne Terraform et VSCode pour PowerShell DSC-programmation connexe.

Quelle que soit celle que vous choisissez, essayez d'apprendre autant de raccourcis que possible pour accélérer votre flux de travail. Pour la plupart des tâches d'automatisation, vous n'aurez besoin de rien d'autre, car l'aide en ligne pour les commandes, la documentation avec markdown, l'intégration Git, le débogage et les capacités de test sont presque entièrement intégrés pour vous permettre de démarrer.

Considérez un abonnement à GitHub Copilot  (environ $10 par mois), ce qui permettra d'accélérer considérablement la vitesse de codage grâce à la complétion de code et facilitera la rédaction de la documentation.

GitHub Copilot diminue le temps que vous devez consacrer à la rédaction de code et de documentation.

Et pour l'éventualité peu probable que vous soyez perdu et ne sachiez pas comment commencer à écrire du code, il suffit de demander ChatGPT. Cela m'a aidé à de nombreuses reprises – même lorsque nos développeurs n'ont pas pu le faire. Cependant, n'en attendez pas trop ; les solutions ne fonctionnent souvent pas complètement et nécessitent quelques ajustements. Parfois, Google fournit de meilleurs exemples.

Documentation

Comme mentionné dans le dernier article de blog, la documentation est essentielle pour comprendre les prérequis et les exigences d'un script d'automatisation, ainsi que pour décrire toutes les fonctions et leurs paramètres.

Le Guide Markdown donne un bon aperçu de la langue. Si vous avez une équipe distincte qui rédige de la documentation pour vous, vérifiez Writerside.

Toujours conserver la documentation juste à côté de votre code pour permettre des modifications côte à côte avec le code.

Si, en plus de stocker un README côte à côte avec votre code, vous souhaitez créer une page web de documentation pour votre équipe, consultez les outils suivants pour créer des sites web à partir de votre Mcode Markdown : Hugo et MkDocs.

Mettre en œuvre la gestion du changement et le contrôle de version

Le contrôle de version est le fondement de votre parcours d'automatisation, alors faire sûr de mettre en place un système robuste pour l'avenir. Vous pouvez commencer simplement en créant un seul dépôt pour votre premier script, puis en étendant progressivement les fonctionnalités à mesure que vos exigences et vos connaissances augmentent.

Un bon point de départ est Git. Pour ne pas compliquer les choses au début, créer un dépôt sur GitHub et familiarisez-vous avec les fonctionnalités et les possibilités. Si vous avez un Abonnement Azure DevOps, Vous pourriez également utiliser Azure Repos à cette fin. Selon votre cas d'utilisation, tu devrais examiner minutieusement vos besoins.

Chez XOAP, nous nous sommes initialement éloignés des dépôts Azure car GitHub offre beaucoup plus de flexibilité et d'extensions pour la gestion des changements, le versionnement, la documentation et le déploiement des changements.

Définir les principes directeurs de développement et de codage

Car le processus de changement commence et se termine toujours par le développeur (oui, vousre maintenant développeur), vous devriez implémenter des directives avant même que le code n'atteigne le dépôt. Il existe quelques outils que vous devriez examiner.

Le premier est pré-engager des hooks. Il vérifie le code par rapport à des problèmes simples comme les points-virgules manquants, espaces blancs à la fin et plus encore. La prochaine chose à surveiller est le sujet du linting avec Mégalinter. Il analyse la cohérence de votre code, de votre IAC, de votre configuration et de vos scripts dans les sources de votre dépôt afin de garantir que tout de vos sources de projet sont propres et correctes mis en forme.

Implémenter tfsec pour améliorer la sécurité de votre code Terraform pendant les développement de modules.

Après ces références, vous devez vérifier votre flux de gestion des modifications souhaité. Celui-ci dépend de votre cas d'utilisation spécifique et de ce que vous voulez déployer. Réfléchis à ça !

De plus, prenez un regard sur Flux Git ou Flux GitHub. À part ça, une bonne gestion des versions de vos scripts et modules est cruciale pour suivre les modifications avec vos commits. Vous pouvez utiliser Actions GitHub pour créer automatiquement des versions mises à jour lorsque vous créez une pull request. Regarde ça document de versionnement sémantique savoir comment les numéros de version doivent se présenter.

Un bon système de gestion de versions améliorera grandement la productivitéctions des ions, surtout dans Lié à l'IaC projets d'automatisationen permettant un contrôle plus avancé des modules et des piles.

Enfin, je dois mentionner les messages de validation vous ou vos collègues entrez quand pousseranglais une modification du dépôt ou créeranglais une pull request. Cela vous oblige à examiner le code pour vérifier et approuver les modifications. Cela dit,Nous devrions simplifier nos vies autant que possible et réduire les charges.

rien de plus énervant queaen lisant quelque chose comme “Fix” ou ”Fix for fix" dans les commentaires d'un commit.

Définition de l'outil

Cela dépend fortement de vos besoins et constitue l'une des façons les plus difficiles d'éviter de tomber dans une dépendance vis-à-vis d'un fournisseur à un moment donné. Bien qu'il puisse sembler facile d'utiliser tout ce que votre fournisseur ou votre fournisseur de cloud préféré prend en charge et propose, cela devient plus difficile lorsque quelque chose d'important change et que vous devez trouver une solution.

C'est une des raisons pour lesquelles nous utilisons Terraform pour notre infrastructure et une des raisons pour lesquelles j'y fais souvent référence. Pulumi est une excellente alternative dans ce domaine que vous pouvez envisager si vous avez une solide base de développeurs dans votre entreprise.

Cela dépend aussi grandement du type d'entreprise que vous avez. Soutenez-vous d'autres entreprises ou seulement la vôtre ? Si vous êtes un MSP, portez une attention particulière aux licences de vos outils et à ce qui est autorisé. Par exemple, les récents changements de BSL de Terraform ont causé beaucoup de problèmes dans certaines entreprises.

Les licences open source peuvent changer – nous l'avons vu plusieurs fois. Gardez cela à l'esprit.

Quelle couche d'infrastructure souhaitez-vous automatiser ? XOAP distingue les couches Image Management, Platform Management, Configuration Management et Application Management. Chaque couche dispose de son propre ensemble d'outils que vous pouvez utiliser pour la prendre en charge.

Je vais vous aider à démarrer sans entrer dans les détails. Certains des outils mentionnés ci-dessus peuvent prendre en charge plusieurs calques, mais je les ai ajoutés au calque qui me semble le plus approprié.

Platform Management

Indépendant de la plateforme

Spécifique à la plateforme

Configuration Management

Application Management

Les outils suivants sont des outils d'empaquetage d'applications qui nécessitent toujours une sorte de véhicule installé sur les nœuds. Pour Linux-Les installations d'applications associées font référence aux outils Configuration Management.

Dernières réflexions

Il y a de nombreux autres sujets à aborder, notamment la mise en scène, les pipelines, la surveillance, la journalisation, la sécurité et les détails sur Scrum et Kanban. Je couvrirai cela en détail une autre fois. Pour l'instant, j'espère que les informations ci-dessus vous aideront à comprendre les implications et les points à surveiller dans votre parcours.

Vous avez adoré cet article de blog ? Partagez-le avec un autre passionné d'automatisation informatique. 🙌

 

Image par Freepik

Plus d'articles de blog comme celui-ci

Retour en haut