Formation DevOps écrite
Comment faire bénéficier votre organisation des enseignements tirés du travail DevOps quotidien ?
L’un des grands principes DevOps que votre équipe et vous-même appliquez consiste à apprendre en continu de votre travail quotidien et à transformer ces enseignements en ressources réutilisables par toute l’organisation.
Utilisez les salons de discussion pour diffuser les connaissances
Utilisez les salons de discussion pour consigner les connaissances et en créer au sein de votre organisation. Intégrez-y des bots capables d’effectuer rapidement des tâches d’exploitation. Par exemple, le message suivant peut demander à votre bot d’installer l’application FrontEndApp dans l’environnement TestServer-9 et d’afficher le résultat dans le salon, comme si vous aviez exécuté la commande en ligne de commande.
@bot install FrontEndApp TestServer-9
Grâce à ce mécanisme, toute l’équipe peut rapidement s’accorder sur l’avancement des travaux. Aucune information ne se perd dans des messages privés ou des e-mails. Cela favorise la collaboration et la transparence dans votre travail et transforme efficacement les connaissances locales en enseignements pour l’organisation.
Les salons de discussion communs accélèrent aussi l’intégration des personnes qui rejoignent votre équipe DevOps ou votre entreprise, car elles peuvent suivre une grande partie de la façon dont le travail s’effectue. Vous pouvez créer des salons distincts pour les produits, services, composants, outils, bibliothèques ou intégrations afin de retrouver plus facilement les activités passées liées à un élément précis du système.
Privilégiez les standards exécutables
Chaque fois que possible, consignez votre savoir-faire sous forme de standards et de processus exécutables. Un moyen efficace de créer et partager des connaissances est de créer un outil réutilisable et de le stocker dans votre système de gestion des versions pour que chacun puisse le retrouver. En exprimant un standard et une façon de travailler sous forme de code exécutable, vous évitez les interprétations différentes ou erronées auxquelles prête un document statique, et vous simplifiez et accélérez les opérations. Ce code aide aussi à passer divers contrôles d’audit et de conformité, à condition de l’accompagner au moins d’un court document expliquant comment il gère le processus soumis à ces exigences.
Pour le travail, les processus et les standards qui ne peuvent être automatisés, créez des récits utilisateurs réutilisables avec des étapes distinctes et claires et une liste de contrôle. Toute votre organisation DevOps pourra s’appuyer sur ces ressources. Elles permettent à différentes équipes de réaliser des travaux similaires de façon cohérente et de les améliorer en continu, comme elles le font avec les bibliothèques de code.
Créez des modèles logiciels réutilisables
Créez des modèles prêts à l’emploi pour les composants, applications, services et microservices, qui intègrent les exigences non fonctionnelles dès la conception. Les développeurs n’auront ainsi pas à s’en préoccuper chaque fois qu’ils écrivent du nouveau code.
Votre organisation disposera d’un ensemble cohérent d’exigences non fonctionnelles mises en œuvre dans toute la pile applicative. L’intégration de ces fonctions dès la conception simplifiera également le déploiement, la supervision, la résolution des problèmes et l’exploitation des logiciels sur les plateformes de test et de production. En voici quelques exemples :
- Indicateurs de télémétrie.
- Configurations à l’exécution.
- Interrupteurs de fonctionnalité.
- Possibilité de suivre les dépendances.
- Possibilité de tracer les requêtes des utilisateurs.
- Services résilients et tolérants aux pannes.
- Services dont on peut rétablir proprement une version précédente à la demande.
- Possibilité de rechercher des messages dans les journaux.
- Compatibilité avec les versions antérieures et ultérieures.
- Archivage des données et gestion des jeux de données de production.
- Gestion et archivage des journaux.
Intégrez des tests automatisés complets à vos modèles codés. Ces tests précisent le rôle du code, montrent comment réutiliser le code efficacement et accélèrent la création de tests automatisés pour les applications personnalisées dérivées des modèles.
Utilisez un seul dépôt de code
Pour partager avec tous vos enseignements et vos travaux, stockez dans votre dépôt unique le code source, les outils de déploiement, le code de construction et d’exécution du pipeline, les tests automatisés, le code de création et d’intégration de la télémétrie, les standards, les tutoriels, les documents, les wikis, les outils d’assistance et les standards de configuration des plateformes.
Toutes les ressources sont ainsi partagées de manière transparente dans l’organisation DevOps. On évite les doublons ainsi que la coexistence de plusieurs versions des mêmes artefacts, composants et outils tiers. Un dépôt unique permet aussi de tout compiler, lier et assembler au moment de l’exécution et d’utiliser les versions les plus récentes lors du développement, des tests et du déploiement.
Fixez des standards techniques tout en restant flexible
Si vous voulez que toute votre équipe DevOps puisse lire, relire et corriger le code des autres, définissez des standards techniques communs que vos équipes de développement et d’exploitation pourront apprendre et utiliser. Il vous faut un langage compilé, un langage de script et un langage pour les interfaces graphiques. Laissez toutefois chacun explorer les technologies qui l’intéressent pour que votre équipe DevOps continue d’apprendre et d’expérimenter. Comment votre prochaine innovation pourrait-elle réussir si vous n’explorez et ne testez pas de nouvelles pistes ?
CONCLUSION
Dans ce chapitre, nous avons résumé quelques pratiques DevOps largement admises qui permettent à votre organisation d’apprendre et de créer des ressources au quotidien. L’expérience et l’expertise accumulées dans votre organisation soutiendront ainsi les compétences et la qualité du travail de chaque membre de l’équipe.
Bonne chance dans votre parcours DevOps !
