Dans le buffet à volonté des compétences en matière de cloud et d’automatisation, comment décidez-vous ce que vous voulez apprendre ? Dans les articles précédents, nous avons discuté des changements opérationnels apportés par les clouds privés et du nouveau type de travail qu’une équipe d’exploitation devra effectuer à l’ère du cloud.
Pour la plupart d’entre nous, cela signifiera apprendre de nouveaux concepts généraux et certaines compétences techniques spécifiques. Si vous avez de la chance (ou pas, selon les détails), la suite d’outils d’automatisation et d’orchestration pour vos environnements est établie, soit par diktat, soit par adoption commune. Dans ce cas, il s’agit généralement simplement de trouver la manière dont vous aimez apprendre, d’obtenir une sorte de laboratoire ou d’environnement de test (et c’est souvent là qu’interviennent les fournisseurs de cloud public et leurs crédits « le premier coup est gratuit ») et de s’y mettre.
Mais que se passe-t-il si vous partez de zéro, soit en créant votre ensemble d’outils d’automatisation, soit simplement en apprenant parce que vous pouvez le voir arriver dans un avenir pas trop lointain ? C’est bien d’avoir le choix, mais dans le domaine de l’automatisation, il y a vraiment beaucoup de choix. Le décomposer en grands domaines est une façon de vous concentrer sur ce que vous devez apprendre.
Systèmes de contrôle de version de code source . Il est important de maîtriser les systèmes de contrôle de version car A) lorsque vous créez les scripts et les outils dont vous avez besoin pour créer ce bouton, vous aurez besoin d'un endroit pour les conserver et gérer le contrôle de version B) C'est ce que vos pairs dans les équipes de développement ou les groupes DevOps utiliseront. L’endroit le plus évident pour commencer ici est Git/Github – bien qu’il existe bien sûr de nombreux autres systèmes disponibles – dont certains pourraient même mieux convenir à votre organisation. Mais Git est omniprésent et constitue un ensemble de compétences portables.
Outils d'intégration continue/livraison continue (CI/CD) . Dans de nombreux cas, les changements et les déploiements seront gérés par un outil comme Jenkins, qui est un bon exemple d’ application CI/CD. Jenkins crée des pipelines de déploiement où le code application peut être compilé, testé et déployé dans un flux de travail ordonné et automatisé. La plupart des applications CI/CD sont extensibles grâce à l’utilisation de plugins qui peuvent être utilisés pour gérer une variété d’activités, notamment le déploiement de nouvelles instances de serveur ou la configuration de composants d’infrastructure.
Les outils qu'un workflow CI/CD pourrait exploiter et qui nous intéressent sont principalement destinés à automatiser l'infrastructure , et il existe un choix assez large d'outils, tous avec des forces et des faiblesses. Étant donné que F5 est un bon partenaire avec de nombreux fournisseurs, je ne vais pas en recommander un en particulier, mais il existe de nombreux articles intéressants détaillant les différences. Mon conseil est de commencer par celui qui, après avoir lu un peu à ce sujet, vous semble le plus simple. Cela peut sembler être un conseil très subjectif et peu spécifique, mais le cerveau de chacun est différent, et en l'absence de bonnes raisons de le faire, il vaut la peine de trouver un utilitaire avec lequel vous pourrez vous familiariser rapidement. Des outils tels qu’Ansible, Puppet, Chef, Salt ou Terraform sont tous bien documentés et bénéficient d’un nombre important d’utilisateurs.
Enfin – ou tout d’abord si vous choisissez de croire le dernier paragraphe de ce blog, vous souhaitez probablement vous familiariser avec un langage de script de base . Le grand gagnant en matière d'automatisation du réseau est Python, car il dispose de SDK de nombreux fournisseurs clés ou projets logiciels disponibles, notamment F5 .
Et voilà – un aperçu rapide de certaines technologies d’automatisation clés que vous voudrez peut-être passer un peu de temps à apprendre. Eh bien, plus qu’un peu, je dirais qu’il y a quelques mois d’études devant vous, en supposant que vous ayez un emploi de jour. Enfin, mon conseil est de commencer par le dernier de la liste : Python, et de travailler « en amont » à partir de là. Si vous comprenez comment les outils communiquent avec vos composants par programmation, vous aurez beaucoup plus de facilité à comprendre les subtilités à mesure que vous progresserez dans la pile, et vous apprécierez probablement beaucoup plus les joies du contrôle de source lorsque vous y arriverez.