Comment commencer votre parcours d'automatisation

L'automatisation dans le domaine de l'informatique comporte de nombreux défis. Voici tous les facteurs importants à prendre en compte pour réussir.
Image de Sinisa

Sinisa

Table des matières

Quand organisations Lorsque l'on commence à réfléchir à l'intégration de l'automatisation dans leur infrastructure informatique, il y a souvent un manque de clarté et de visibilité sur ce qu'implique généralement une telle transition et sur ce qui doit être modifié pour la soutenir pleinement.

D'un point de vue technique, il est important d'améliorer l'efficacité des processus de déploiement afin de renforcer la fiabilité et la cohérence. Cela peut contribuer à accélérer le temps de résolution des demandes des utilisateurs ou des clients. La standardisation des services informatiques peut également être bénéfique car elle élimine les erreurs qui peuvent survenir avec les Approche ClickOps.

D'un point de vue commercial, vous voudrez peut-être réduire les coûts, accélérer la mise sur le marché de vos solutions, externaliser les opérations à des prestataires externes personnel ou introduisez les pratiques DevOps pour votre équipe informatique, ce qui peut entraîner une transformation complète de votre organisation informatique tout entière.

D'après notre expérience, ilil est toujours conseillé de commencer petit avec une utilisation définie cas. De nombreuses grandes entreprises ont échoué à adopter une approche DevOps en tentant de tout implémenter en même temps dans un seul grand projet.

Une approche "big bang" pour l'automatisation et une transition DevOps peuvent être complexes et entraîner des défis organisationnels et techniques qui doivent être abordés simultanément. De plus, les changements peuvent nécessiter le remplacement des technologies existantes, entraînant une pénurie de compétences ou la nécessité de rechercher externe Aide.

N'oubliez pas les changements culturels que vous devez traverser dans votre département informatique. Tout le monde n'est pas fait pour travailler dans un environnement agile. C'est essentiel de garder cela à l'esprit car certaines personnes peuvent craindre de perdre leur emploi et résister aux changements avec lesquels elles ne sont pas à l'aise.

C'est un sujet vaste que nous pourrions explorer plus en détail dans un article de blog séparé. Cependant, je voulais souligner qu'il y a de nombreux facteurs à prendre en compte.

Deux façons de commencer à automatiser

À mon avis, il y a deux façons pour commencer à automatiser votre infrastructure informatique :

  1. Scommence petit avec un cas d'utilisation simple qui faitne... pas créer trop de complexité. Ce qui pourrait impliquer un script simple qui crée une machine virtuelle dans Azure.
  2. CChoisissez un composant d'infrastructure informatique que vous devez actuellement mettre à niveau ou remplacer, tel qu'installer un nouveau cluster SQL Server.

Voyons voir ce que toi avoir besoin de prendre en considération.

Comprendre votre infrastructure et comment elle est construite

Bien que cela puisse sembler une tâche facile, cela peut parfois être la partie la plus difficile, surtout si vous êtes un loup solitaire dans votre département informatique. Si vous avez participé au déploiement, vous savez probablement comment les choses ont été construites et quelles étapes ont été suivies. Cependant, dans les équipes plus importantes, les choses peuvent avoir été construites par du personnel externe qui n'est plus disponible. De plus, la documentation est souvent négligée en raison de la nécessité d'atteindre des objectifs.

IIl est important de faire le premier pas en comprenant clairement vos tâches répétitives, telles que le provisionnement de serveurs, les mises à jour de configuration ou les scripts. Cela vous aidera à identifier les domaines qui peuvent être automatisés et servira de bon point de départ.

Rechercher des opportunités d'automatisation

Pensez à identifier les tâches répétitives qui peuvent être facilement automatisées à l'aide de scripts. Concentrez-vous sur les tâches sujettes aux erreurs. À ce stade, faitesne... pas s'inquiéter du langage de programmation ou de la méthode que vousIl utilisera pour l'automatisation.

Voici quelques idées pour vous aider à démarrer :

  • Création d'un utilisateur dans Active Directory ou Entra
  • Création de VM dans Azure ou AWS
  • Génération de modèles de machines virtuelles pour Azure Virtual Desktop
  • Création de paquets d'installation automatisée pour vos applications les plus utilisées
  • Durcissement de vos systèmes basé sur les recommandations du CIS

Quand vousre En examinant les opportunités, gardez également un œil sur la minification. KGardez vos scripts d'automatisation aussi courts que possible pour finir par avoir un bibliothèque de blocs de construction ça vous pouvez assembler dynamiquement pour des scénarios plus importants.

Documentation

Avoir une documentation complète est crucial pour tout projet. Si vous l'avez déjà, vous avez de la chance. Sinon, c'est le moment idéal pour commencer. Certaines personnes pensent que les scripts et infrastructure en tant que cLes odes sont une documentation suffisante. Cependant, ce n'est pas le cas.

Chaque script et composant d'infrastructure a des dépendances qui doivent être en place et ces informations doivent être documentées de manière approfondie. Votre Le responsable informatique devrait être capable de mettre en œuvre ou d'exécuter le projet sans aucune question en suspens. Ce devrait être votre référence.

Étant donné que de nombreux scripts seront stockés dans un référentiel Git, il est logique de sauvegarder la documentation aux côtés du code. Le langage Markdown est le meilleur choix pour créer une nouvelle documentation.

Ne vous embêtez pas avec les documents Word sur SharePoint; ils sont démodés et peu pratiques à cet égard.

Définissez les exigences avant de commencer

Cela semble souvent être une évidence, mais celapas. Beaucoup organisations ne prend en compte que les exigences actuelles du projet et ne tient pas compte des changements futurs qui pourraient survenir.

Exigences, offres de fournisseurs de cloud, tarification, produits et les licences peuvent tous changer avec le temps. UneGarde toujours cela à l'esprit.

Cette décision aura un impact direct sur les outils et les langages de script que vous utiliserez, ainsi que sur les exigences de formation et de connaissances de vos collègues. Si vous devez un jour passer à un autre fournisseur de cloud, vousJe vais devoir recommencer à zéro. Alors, il est crucial de penser aux implications à long terme et de ne pas se concentrer uniquement sur les besoins immédiats.

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

Lorsque vous commencez la création de scripts d'automatisation, il est important d'introduire un système de contrôle de version dès le départ. Cela reste vrai même si vous êtes une seule personne travaillant sur le projet.

Vous devriez envisager de créer un Gdépôt avec une branche “ master ” et une branche “ development ”. Cela vous aide à apprendre et à pratiquer le processus de récupération de code à partir d'un Gil dépôt, le repousser et créer une pull request pour le publier sur la branche “ master ”. Le développement la branche est votre environnement de développement, et le maître la branche est votre environnement de production.

Ne sautez pas ceci si vous prévoyez d'implémenter l'automatisation complètement dans votre département informatique et votre environnement. ce est le fondement de tout ce qui suit. Mise en œuvre de composants tels que La documentation automatique, l'analyse de sécurité du code avec linting ou les pipelines que vous créez pour déployer votre code reposeront sur les première version de base de composants de contrôle.

Mise en œuvre Gcela favorise également la collaboration dès que vous ajoutez plus de personnes à l'initiative d'automatisation et permet à davantage d'équipes de collaborer. Cette implémentation encourage également le partage des connaissances et prend en charge la documentation en ajoutant des changements opérationnels au processus complet de développement et de livraison.

Définition de l'outil

Selon les opportunités que vous voyez, vous devriez vous familiariser avec les différents outils et technologies qui vous entourent.r préférerrplateforme d'apprentissage, telle que :

  • Outils d'Infrastructure as Code (IaC) tels que Terraform, AWS CloudFormation, Azure Resource Manager, OpenTofu ou Bicep
  • Outils de gestion de configuration comme PowerShell DSC, Ansible, Puppet ou Chef
  • Intégration continue/Déploiement continu (CI/CD) avec GitHGitHub Actions, Azure Pipelines, Jenkins, GitLab CI/CD ou AWS CodePipeline

Il est toujours conseillé de commencer par des solutions simples lors de l'automatisation des tâches. Au fur et à mesure de votre progression, la complexité augmentera naturellement.

Pour avoir une idée des outils et technologies disponibles, vous pouvez consulter le Paysage Cloud Native. Cependant, gardez à l'esprit que la liste peut être écrasante.

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

Les directives et les normes sont un élément très important du parcours d'automatisation. Autrefois, les gens écrivaient Kix connexion ou VBS scripts. Encore aujourd'hui, si vous demandiez à cinq personnes d'écrire un script d'installation avec PowerShell, vousIl obtiendra cinq approches différentes.

Une norme de script définie facilite la compréhension et la modification des choses pour votre équipe.

Surveiller, améliorer et tester

L'automatisation n'est pas une chose à mettre en place et à oublier ; elle nécessite une surveillance et une amélioration continues en raison de la nature des outils, des technologies et des fournisseurs que vous utilisez.réutiliser.

Implémenter la surveillance, la journalisation et la décendresdes panneaux tout au long du processus, dès le tout début. Ces choses vous aideront ià long terme.

Des scripts qui fonctionnaient un jour peuvent ne plus marcher le lendemain en raison de changements apportés aux API, modules ou versions que vousne sont pas responsables. Par conséquent, surveillance, journalisation et tests appropriés sont crucial.

Dernières réflexions

Au début, faites simple. Cherchez des victoires faciles et rapides au sein de votre organisation informatique et début avec les bases pour vous familiariser avec différentes approches, outils et technologies.

Comprenez le fonctionnement de votre infrastructure et comment vous pouvez l'améliorer. Il existe d'innombrables choix que vous pouvez faire pour atteindre l'objectif d'infrastructures entièrement automatisées, et plus votre portée est étendue, plus le chemin vers le succès sera ardu.

La clé du succès est de trouver le bon équilibre entre les personnes, les processus et les outils.

Dans le prochain article de blog sur ce sujet, nousnous partagerons certains de nos outils préférés pour les pipelines de développement et de déploiement.

Image par Freepik

Plus d'articles de blog comme celui-ci

Retour en haut