Pourquoi les administrateurs système, les développeurs et les testeurs devraient-ils apprendre les pratiques DevOps ?

Pourquoi les administrateurs système, les développeurs et les testeurs devraient-ils apprendre les pratiques DevOps ?

Où aller avec ces connaissances, que faire dans le projet et combien gagner, que dire et demander lors d'un entretien - dit Alexander Titov, associé directeur d'Express 42 et auteur cours en ligne « Pratiques et outils DevOps ».

Bonjour! Bien que le terme DevOps existe depuis 2009, il n’existe toujours pas de consensus au sein de la communauté russe. Vous avez probablement remarqué que certains considèrent le DevOps comme une spécialité, d'autres le considèrent comme une philosophie et d'autres encore considèrent le terme comme un ensemble de technologies. J'ai déjà joué plusieurs fois avec conférences sur le développement de cette direction, je n'entrerai donc pas dans les détails dans cet article. Permettez-moi simplement de dire que chez Express 42, nous y incluons les éléments suivants :

DevOps est une méthodologie spécifique, une culture de création d'un produit numérique, lorsque tous les spécialistes de l'équipe participent à la production.

Dans le développement d'entreprise classique, tout se déroule séquentiellement : programmation, tests et ensuite seulement exploitation, et la vitesse de ce processus depuis l'idée jusqu'à la production est de 3 mois. Il s’agit d’un problème mondial pour les produits numériques, car il est impossible de recevoir rapidement les retours des clients.

Dans DevOps, les outils et les approches sont conçus pour garantir que les processus de développement, de test et d'exploitation s'exécutent simultanément.

Que découle de cette approche ?

  • Vous ne pouvez pas embaucher un « ingénieur » qui viendra résoudre tous les problèmes de production. Toute l’équipe doit appliquer la technique.

    Pourquoi les administrateurs système, les développeurs et les testeurs devraient-ils apprendre les pratiques DevOps ?

  • DevOps n'est PAS la prochaine forme d'administrateur système vers laquelle passer. « Ingénieur DevOps » ressemble à peu près à « développeur Agile ».

    Pourquoi les administrateurs système, les développeurs et les testeurs devraient-ils apprendre les pratiques DevOps ?

  • Si une équipe utilise Kubernetes, Ansible, Prometheus, Mesosphere et Docker, cela ne signifie pas que des pratiques DevOps y ont été mises en œuvre.

    Pourquoi les administrateurs système, les développeurs et les testeurs devraient-ils apprendre les pratiques DevOps ?

La vie après DevOps ne sera plus jamais la même

L’approche DevOps, c’est avant tout une façon différente de penser, une perception du développement dans sa globalité et de la place de chacun dans le processus. Nous avons divisé notre cours en ligne en 2 blocs :

1. Autodétermination

Tout d'abord, nous examinons en détail l'essence de l'approche DevOps, et les étudiants découvrent de nouveaux rôles dans l'équipe, voient lequel répond le plus et déterminent eux-mêmes quelle direction développer.

2. Outils et pratiques

Les étudiants maîtrisent des technologies spécifiques du point de vue de la méthode DevOps.

Les outils DevOps peuvent être utilisés aussi bien dans l’approche DevOps qu’en développement classique. L’exemple le plus évident serait l’utilisation de l’outil de gestion de configuration Ansible. Il a été créé et conçu pour mettre en œuvre la pratique DevOps « Infrastructure as Code », ce qui signifie que différents états du système sont décrits, des paramètres du système d'exploitation aux logiciels d'application. La description est divisée en couches et permet de gérer une configuration complexe et en constante évolution. Mais les ingénieurs utilisent souvent Ansible pour exécuter des scripts bash sur plusieurs machines. Ce n’est ni mauvais ni bon, mais il faut comprendre que la présence d’Ansible ne garantit pas la présence de DevOps dans l’entreprise.

Nous sommes en cours cours Vous serez immergé dans le processus de développement d'une application similaire au célèbre Reddit, en commençant par sa version monolithique, en passant étape par étape aux microservices. Petit à petit nous maîtriserons de nouveaux outils : Git, Ansible, Gitlab et finirons avec Kubernetes et Prometheus.

En termes de pratiques, nous suivrons les tactiques des trois voies décrites dans le manuel DevOps : pratiques de livraison continue, pratiques de feedback, et l'essence de l'ensemble du cours est la pratique de l'apprentissage continu avec votre système.

Qu'apporte cette connaissance à chacun des spécialistes ?

Pour les administrateurs système

Les pratiques vous permettront de passer de l'administration à la création d'un pipeline de livraison continue et d'une plate-forme d'infrastructure pour la livraison de logiciels. Le fait est qu'il crée un produit - une plate-forme d'infrastructure pour les développeurs qui les aide à mettre rapidement leurs modifications en production.

Auparavant, les administrateurs système constituaient le dernier bastion, après quoi tout passait en production. Et fondamentalement, ils étaient engagés dans une lutte continue contre les incendies - à la lumière de laquelle il est assez difficile d'approfondir les besoins de l'entreprise, de réfléchir au produit et aux avantages pour l'utilisateur.
Grâce à la méthode DevOps, la pensée change. L'administrateur système comprend comment traduire la configuration en code, quelles pratiques existent pour cela.

C’est important car les entreprises réalisent de plus en plus qu’elles n’ont pas seulement besoin de tout automatiser, c’est-à-dire : ce à quoi les administrateurs système de la vieille école étaient essentiellement habitués, qui en plus communiquaient peu et n'informaient pas l'équipe de tous les changements apportés. Les équipes recherchent désormais ceux qui deviendront le fabricant du produit d'infrastructure interne et contribueront à combiner les processus séparés en un seul.

Pour les développeurs

Le développeur arrête de penser uniquement aux algorithmes. Il acquiert la compétence de travailler avec les infrastructures, la compétence de conscience architecturale du paysage. Un tel développeur comprend comment fonctionne l'application, comment elle passe par le pipeline de livraison continue, comment la surveiller, comment l'enregistrer afin qu'elle profite au client. De ce fait, toutes ces connaissances permettent d’écrire du code pertinent.

Pour les testeurs

Les tests sont depuis longtemps passés en mode automatique ; nous disons tous que de nombreux tests ne doivent pas être effectués, mais écrits :) Les tests deviennent une partie de l'ensemble du pipeline de livraison de votre produit. Un testeur doit non seulement apprendre à écrire du code, mais également comprendre comment l'intégrer dans des systèmes de livraison continue, comment recevoir des commentaires du code à toutes les étapes de livraison et comment améliorer constamment les tests afin de détecter les erreurs au fur et à mesure. le plus tôt possible.

Il s'avère que les trois étapes se déroulent simultanément. Par exemple, cela pourrait ressembler à ceci :

Le développeur écrit le code, écrit immédiatement des tests pour celui-ci et décrit un conteneur Docker pour le code qui doit être exécuté. Il décrit également immédiatement le suivi qui surveillera le fonctionnement de ce service en production, et engage tout cela.

Lorsque l'intégration continue démarre, les processus s'exécutent simultanément. Le service démarre et est configuré. En même temps, le conteneur Docker démarre et il est vérifié qu'il est en cours d'exécution. Dans le même temps, toutes les informations sont transmises au système de journalisation. Et ainsi de suite à chaque étape du développement - cela s'avère être un véritable travail d'équipe d'administrateurs système, de développeurs et de testeurs.

J'ai étudié DevOps, et ensuite ?

Comme vous le savez, celui qui est sur le terrain n'est pas un guerrier. Si votre entreprise n’utilise pas cette méthode, les compétences acquises resteront inutiles. Et après vous être familiarisé avec les approches DevOps, vous ne voudrez probablement pas être un rouage du développement de l’entreprise. Il peut y avoir une exception : vous êtes un administrateur système dans l'équipe et pouvez reconstruire tous les processus d'une nouvelle manière. Il convient d’ajouter ici que de nombreuses entreprises utilisent cette approche, qu’elles ne sont pas concernées par le confinement et qu’elles recherchent des spécialistes. Parce que DevOps consiste à créer des produits en ligne.

Et maintenant, les bonnes choses : la maîtrise des pratiques et des outils DevOps représente environ +30 % de votre valeur sur le marché du travail. Les salaires commencent à partir de 140 XNUMX roubles, mais sont naturellement déterminés par votre spécialité principale et votre fonctionnalité.

Vous pouvez consulter les postes vacants marqués « orientés infrastructure », où il y a l'automatisation des tests, le développement d'applications de microservices utilisant les technologies cloud, les postes vacants pour les ingénieurs d'infrastructure et toutes sortes de références à DevOps. N'oubliez pas que chaque entreprise entend quelque chose de différent par cette définition - lisez attentivement la description.

Lors du lancement de notre cours, une idée m'est venue : de nombreuses personnes après le cours tombent dans le piège d'un ingénieur DevOps. Ils trouvent un poste vacant avec le titre mentionné ci-dessus, reçoivent une bonne offre, puis viennent travailler et se rendent compte qu'ils devront gérer un script bash de trois pages dans Jenkins. Où sont Kubernetes, ChatOps, les versions Canary et tout ça ? Mais il n’y a rien, car l’entreprise n’a pas besoin de DevOps comme méthodologie, mais utilise des innovations individuelles.

C'est une raison pour vous renseigner intensivement auprès de l'entreprise sur le fonctionnement du processus de livraison de logiciels, la pile technologique et les responsabilités que vous assumerez.

Si l'employeur répond à vos questions de manière abstraite, comme dans un livre, sans détails, alors il n'y a probablement pas encore de processus DevOps dans l'entreprise, mais ce n'est pas une raison pour refuser, étudiez l'entreprise et ses produits, s'il y en a en ligne services que l'entreprise développe elle-même, applications mobiles, idées de produits.

Si oui, précisez alors si vous devrez travailler directement avec ces systèmes ou s'il existe une possibilité de mouvement horizontal vers les équipes de ces services tout en démontrant de bons résultats dans les pratiques DevOps. Si oui, cela vaut la peine d'y aller et d'être actif et utile, et si vous suivez notre cours, ce dernier est garanti.

Il est important de noter que les praticiens Devops n'acquièrent une véritable valeur qu'avec une expérience en développement/administration/test. Ce n'est qu'alors que les connaissances ne seront pas abstraites, mais enrichiront le spécialiste (dans tous les sens du terme). Par conséquent, l'idée « d'apprendre DevOps à partir de zéro » est à peu près la même que d'apprendre à « utiliser des objectifs à partir de zéro » si vous n'avez jamais tenu d'appareil photo dans vos mains ni réalisé de tournage. Pour vous aider à décider si le cours vous convient, nous avons réalisé un test d'entrée qui vérifiera votre niveau de connaissances suffisant.

Je pense que l'une des astuces cours — qu'au cours de la formation, chaque étudiant détermine lui-même dans quelle direction il souhaite évoluer. Nous assistons souvent à des transitions lorsqu'un développeur devient ingénieur d'infrastructure et qu'un administrateur se rend compte qu'il est intéressé par l'écriture de code - puis il étudie davantage le langage et le complète avec les compétences DevOps acquises. C’est pourquoi nous accueillons particulièrement ceux qui sentent que leur carrière est coincée à la croisée des chemins. Le cours commence le 28 mai, mais vous pouvez vous inscrire 2 semaines après le début des cours. Vous pouvez consulter le programme et passer le test lien. Rendez-vous à OTUS !

Source: habr.com

Ajouter un commentaire