Les ingénieurs DevOps n'existent pas. Qui existe alors et que faire avec ça ?

Les ingénieurs DevOps n'existent pas. Qui existe alors et que faire avec ça ?

RĂ©cemment, de telles annonces ont envahi Internet. MalgrĂ© un salaire attractif, il est difficile de ne pas ĂȘtre troublĂ© par le fait qu'elles contiennent des absurditĂ©s flagrantes. Au dĂ©part, on suppose qu'il est possible de combiner « DevOps » et « ingĂ©nieur » en un seul mot, et ensuite vient une liste alĂ©atoire d'exigences, dont une partie semble clairement copiĂ©e depuis une annonce pour administrateur systĂšme.

Dans ce post, nous souhaitons discuter de la maniÚre dont nous en sommes arrivés à cette situation, ce qu'est réellement DevOps et comment procéder désormais.

Ces annonces de travail peuvent ĂȘtre critiquĂ©es sous toutes les coutures, mais le fait est qu'il y en a beaucoup, et c'est ainsi que le marchĂ© fonctionne actuellement. Nous avons organisĂ© une confĂ©rence DevOps et dĂ©clarons ouvertement : «DevOops — ce n'est pas pour les ingĂ©nieurs DevOps ». Beaucoup trouveront cela Ă©trange et absurde : pourquoi des personnes organisant un Ă©vĂ©nement commercial s'opposent-elles au marchĂ© ? Nous allons tout expliquer maintenant.

Sur la culture et les processus

Commencez par comprendre que DevOps n'est pas une discipline d'ingénierie. Tout a commencé par le fait que la division historique des rÎles ne fonctionne pas pour la qualité des produits. Lorsque les programmeurs se contentent de coder sans vouloir entendre parler de tests, le logiciel est bourré de bogues. Lorsque les administrateurs se moquent de la façon et des raisons pour lesquelles le logiciel est écrit, le support devient un véritable enfer.

Par exemple, la diffĂ©rence entre l'approche d'administration systĂšme et celle de SRE en matiĂšre de gestion de service commence avec le cĂ©lĂšbre livre Google SRE. Des recherches intĂ©ressantes ont Ă©tĂ© menĂ©es dans le cadre de l'enquĂȘte DORA — il est Ă©vident que les meilleurs dĂ©veloppeurs parviennent d'une maniĂšre ou d'une autre Ă  dĂ©ployer de nouveaux changements en production plus d'une fois par heure. Ils effectuent Ă©galement des tests manuels pas plus de 10% du temps (comme on le voit dans le DORA de l'annĂ©e derniĂšre). Comment y parviennent-ils ? « Excel or die » – dit l'un des titres du rapport. Pour une discussion plus dĂ©taillĂ©e de ces statistiques en matiĂšre de tests, vous pouvez vous rĂ©fĂ©rer au keynote de Baruch Sadogursky « Nous avons DevOps. Licencions tous les testeurs » lors d'une autre de nos confĂ©rences, Heisenbug.

« Quand il n'y a pas d'accord entre les camarades,
Leurs affaires ne progresseront pas,
Et il ne sortira de lĂ  rien de bon, juste de la souffrance.
Un jour, le Cygne, le Crabe et le Brochet
 »

Que pensez-vous, quelle partie des développeurs web comprend vraiment dans quelles conditions leurs applications fonctionnent en production ? Combien d'entre eux iront voir les administrateurs pour essayer de comprendre ce qui se passera en cas de chute de la base de données ? Qui d'entre eux se rendra chez les testeurs et demandera à apprendre à écrire des tests correctement ? Et il y a aussi des spécialistes de la sécurité, des chefs de produits, et une foule d'autres personnes.

L'idée générale de DevOps est d'établir une interaction entre les rÎles et les départements. Cela se réalise principalement non pas avec un logiciel réglé de maniÚre astucieuse, mais par la pratique de la communication. DevOps concerne la culture, la pratique, la méthodologie et les processus. Il n'existe pas de spécialité d'ingénieur qui réponde à ces questions.

Cercle vicieux

D'oĂč vient alors la discipline « ingĂ©nierie DevOps » ? Nous avons une thĂ©orie ! Les idĂ©es de DevOps se sont rĂ©vĂ©lĂ©es si bonnes qu'elles sont devenues victimes de leur succĂšs. Autour de ce sujet, des recruteurs douteux et des marchands de personnes se sont regroupĂ©s, crĂ©ant une atmosphĂšre bien Ă  eux.

Imaginez : hier, vous faisiez des shawarmas Ă  Khimki, et aujourd'hui — vous ĂȘtes dĂ©jĂ  une personne importante, un recruteur senior. Il y a tout un processus de recherche et de sĂ©lection des candidats, tout cela n'est pas simple, il faut comprendre. Supposons que le chef de dĂ©partement dit : trouve un spĂ©cialiste en X. On ajoute au mot X le mot « ingĂ©nieur », et le tour est jouĂ©. Besoin de Linux ? Eh bien, c'est certainement un ingĂ©nieur Linux, si vous voulez DevOps — un ingĂ©nieur DevOps. Une offre d'emploi ne se compose pas seulement d'un titre, mais Ă  l'intĂ©rieur, il faut inscrire un certain texte. Le plus simple est d'inscrire un ensemble de mots-clĂ©s de Google, selon l'imagination de chacun. DevOps se compose de deux mots — « Dev » et « Ops », donc, il faut rassembler des mots-clĂ©s liĂ©s aux dĂ©veloppeurs et aux administrateurs, tous ensemble. Ainsi apparaissent des offres d'emploi mentionnant la maĂźtrise de 42 langages de programmation et 20 ans d'utilisation de Kubernetes et Swarm simultanĂ©ment. C'est une approche habituelle.

Ainsi, dans l'esprit des gens s'est enracinĂ©e l'image absurde et impitoyable d'un super-hĂ©ros DevOps, qui configurera tous les dĂ©ploiements sur Jenkins, et ce sera le bonheur. Ah, si tout Ă©tait si simple. « Et en plus, on peut chasser des admins systĂšmes, pense le recruteur, c'est Ă  la mode, les mots-clĂ©s sont les mĂȘmes, ils devraient mordre. »

La demande crĂ©e l'offre, et toutes ces offres douteuses ont attirĂ© un nombre fou d'administrateurs systĂšme qui ont compris qu'ils pouvaient faire exactement la mĂȘme chose qu'auparavant, mais en Ă©tant payĂ©s plusieurs fois plus, sous le nom de « devops ». Comme tu configurais des serveurs via SSH un par un, tu continueras Ă  le faire, mais cela s'appelle apparemment maintenant une pratique devops. C'est un phĂ©nomĂšne complexe, en partie liĂ© Ă  la sous-estimation des admins classiques et au phĂ©nomĂšne entourant DevOps, mais au final — ce qui est fait, est fait.

Nous avons donc la demande et l'offre. Un cercle vicieux qui se nourrit de lui-mĂȘme. C'est ce avec quoi nous luttons (y compris en crĂ©ant la confĂ©rence DevOops).

Bien sĂ»r, en plus des administrateurs systĂšme qui se sont rebaptisĂ©s en « devops », il y a d'autres participants — par exemple, des SRE professionnels ou des dĂ©veloppeurs d'Infrastructure-as-Code.

Que font les gens en DevOps (réellement)

Alors, vous voulez progresser dans l'apprentissage et l'application des pratiques DevOps. Mais comment faire, dans quelle direction regarder ? Évidemment, il ne faut pas se fier aveuglĂ©ment aux mots-clĂ©s populaires.

S'il y a du travail, quelqu'un doit s'en occuper. Nous avons déjà établi que ce ne sont pas des « ingénieurs devops », alors qui ? Il semble plus approprié de le formuler non pas en termes de postes, mais en termes de domaines de travail spécifiques.

Tout d'abord, vous pouvez vous occuper du cƓur mĂȘme de DevOps — les processus et la culture. La culture est une affaire de longue haleine et difficile, et bien que cela soit traditionnellement de la responsabilitĂ© des dirigeants, d'une maniĂšre ou d'une autre, tout le monde participe Ă  cela, des programmeurs aux admins. Il y a quelques mois, Tim Lister a dĂ©clarĂ© dans une interview:

« La culture est dĂ©terminĂ©e par les valeurs fondamentales de l'organisation. Les gens ne s'en rendent gĂ©nĂ©ralement pas compte, mais nous, travaillant en consulting depuis de nombreuses annĂ©es, avons appris Ă  le remarquer. Vous entrez dans une entreprise et littĂ©ralement au bout de quelques minutes, vous commencez Ă  ressentir ce qui se passe. Nous appelons cela l'« arĂŽme ». Parfois, cet arĂŽme est vraiment bon. Parfois, il provoque des nausĂ©es. (
) Vous ne pouvez pas changer la culture tant que les valeurs et les croyances qui sous-tendent des actions spĂ©cifiques n'ont pas Ă©tĂ© prises en compte. Le comportement est facile Ă  observer, mais trouver les croyances est difficile. DevOps est justement un excellent exemple de la maniĂšre dont tout devient de plus en plus compliquĂ©. »

Il y a forcĂ©ment un aspect technique Ă  la question. Si ton nouveau code arrive en test dans un mois et n’est publiĂ© que dans un an, et qu'il est physiquement impossible d’accĂ©lĂ©rer tout cela, tu risques de ne jamais atteindre de bonnes pratiques. Les bonnes pratiques sont soutenues par de bons outils. Par exemple, en gardant Ă  l’esprit l’idĂ©e d’Infrastructure-as-Code, on peut utiliser n’importe quoi, d’AWS CloudFormation et Terraform Ă  Chef-Ansible-Puppet. Il faut tout cela connaĂźtre et maĂźtriser, et cela constitue dĂ©jĂ  une vĂ©ritable discipline d’ingĂ©nierie. Il est important de ne pas confondre la cause et les consĂ©quences : d'abord, vous travaillez selon les principes SRE et ensuite seulement vous incarnez ces principes sous forme de solutions techniques concrĂštes. Par ailleurs, le SRE est une mĂ©thodologie trĂšs complexe qui ne parle pas de comment configurer Jenkins, mais de cinq principes fondamentaux :

  • AmĂ©liorer la collaboration entre les rĂŽles et les dĂ©partements
  • Accepter les erreurs comme une partie intĂ©grante du travail
  • Mettre en Ɠuvre des changements progressivement
  • Utiliser des outils et d'autres formes d'automatisation
  • Mesurer tout ce qui peut ĂȘtre mesurĂ©

Ce n’est pas simplement un ensemble d'Ă©noncĂ©s, mais un guide d'action. Par exemple, sur le chemin de l'acceptation des erreurs, il faudra comprendre les risques, mesurer la disponibilitĂ© et l'indisponibilitĂ© des services grĂące Ă  quelque chose comme l’SLI (indicateurs de niveau de service) et SLO (objectifs de niveau de service), apprendre Ă  rĂ©diger des post-mortems et faire en sorte qu’il ne soit pas effrayant de les rĂ©diger.

Dans la discipline SRE, l'utilisation d'outils n'est qu'une partie du succĂšs, bien que non nĂ©gligeable. Nous devons continuellement nous dĂ©velopper sur le plan technique, surveiller ce qui se passe dans le monde et comment cela peut ĂȘtre appliquĂ© Ă  notre travail.

D'autre part, les solutions Cloud Native sont devenues trÚs populaires récemment. Selon la compréhension moderne de la Cloud Native Computing Foundation, les technologies Cloud Native permettent aux organisations de développer et de déployer des applications évolutives dans des environnements dynamiques modernes, tels que les nuages publics, privés et hybrides. Parmi les exemples, on peut citer les conteneurs, les maillages de services, les microservices, l'infrastructure immuable et les API déclaratives. Toutes ces techniques permettent aux systÚmes faiblement couplés de rester flexibles, gérables et bien observables. Une bonne automatisation permet aux ingénieurs d'apporter de grands changements fréquemment, avec des résultats prévisibles, sans que cela ne devienne un travail infernal. Tout cela est soutenu par un ensemble d'outils bien connus, tels que Docker et Kubernetes.

Cette dĂ©finition est assez complexe et dense, car le domaine l'est Ă©galement. D'une part, il est affirmĂ© que de nouveaux changements dans ce systĂšme devraient ĂȘtre ajoutĂ©s assez simplement. D'autre part, pour comprendre comment crĂ©er un environnement conteneurisĂ© oĂč des services faiblement couplĂ©s rĂ©sident sur une infrastructure dĂ©finie par logiciel et sont fournis par l'intermĂ©diaire d'une CI/CD continue, ainsi que pour Ă©tablir des pratiques DevOps autour de cela, il faut en avoir vu d'autres.

Que faire avec tout cela

Chacun résout ces problÚmes à sa maniÚre : par exemple, on peut publier des offres d'emploi normales pour rompre le cercle vicieux. On peut comprendre la signification des termes tels que DevOps et Cloud Native et les utiliser correctement et à bon escient. On peut progresser en DevOps et démontrer par l'exemple des approches appropriées.

Nous organisons une conférence DevOops 2020 Moscou, qui offre l'opportunité d'explorer en profondeur les sujets que nous venons d'aborder. Pour cela, il y a plusieurs groupes de présentations :

  • Processus et culture;
  • IngĂ©nierie de la fiabilitĂ© des sites;
  • Cloud Native;

Comment choisir oĂč aller ? Il y a un point dĂ©licat. D'une part, DevOps, c'est une question d'interaction, et nous espĂ©rons vraiment que vous assisterez Ă  des prĂ©sentations de diffĂ©rentes sessions. D'autre part, si vous ĂȘtes un responsable du dĂ©veloppement venu Ă  la confĂ©rence pour se concentrer sur une tĂąche spĂ©cifique, rien ne vous en empĂȘche — il est clair que ce sera la session sur les processus et la culture. N'oubliez pas qu'aprĂšs la confĂ©rence, vous aurez accĂšs aux enregistrements (aprĂšs avoir rempli le formulaire de retour), donc vous pourrez toujours visionner des prĂ©sentations moins essentielles plus tard.

Évidemment, lors de la confĂ©rence, vous ne pouvez pas assister Ă  trois sessions en mĂȘme temps, c'est pourquoi nous avons conçu le programme pour que chaque crĂ©neau horaire propose des sujets variĂ©s.

Il ne reste plus qu'Ă  comprendre quoi faire si vous ĂȘtes ingĂ©nieur DevOps ! Tout d'abord, essayez de dĂ©terminer ce que vous faites rĂ©ellement. Ce terme est souvent utilisĂ© pour dĂ©signer :

  • Les dĂ©veloppeurs qui s'occupent de l'infrastructure. Les sessions sur l'SRE et le Cloud Native vous conviendront le mieux.
  • Les administrateurs systĂšmes. C'est plus compliquĂ©. DevOps ne concerne pas l'administration systĂšme. Heureusement, il existe de nombreuses excellentes confĂ©rences, livres, articles, vidĂ©os en ligne, etc. sur le sujet de l'administration systĂšme. D'un autre cĂŽtĂ©, si vous ĂȘtes intĂ©ressĂ© par le dĂ©veloppement de votre comprĂ©hension de la culture et des processus, l'Ă©tude des technologies cloud et les dĂ©tails de la vie avec le Cloud Native, nous serons ravis de vous accueillir ! RĂ©flĂ©chissez Ă  ceci : si vous vous occupez de l'administration, que ferez-vous ensuite ? Pour Ă©viter de vous retrouver dans une situation compliquĂ©e, il est prudent d'apprendre dĂšs maintenant.

Il y a une autre option : vous persistez et continuez Ă  affirmer que vous ĂȘtes exactement un ingĂ©nieur DevOps et rien d'autre, quoi que cela puisse signifier. Dans ce cas, nous devons vous dĂ©cevoir, DevOps n'est pas une confĂ©rence destinĂ©e aux ingĂ©nieurs DevOps !

Les ingénieurs DevOps n'existent pas. Qui existe alors et que faire avec ça ?
Diapositive de la présentation de Konstantin Diener à Munich

DevOops 2020 Moscou se déroulera les 29 et 30 avril à Moscou, les billets sont déjà en vente achetés sur le site officiel.

De plus, vous pouvez soumettre votre présentation jusqu'au 8 février. Notez que lors de la soumission du formulaire, vous devez choisir le public cible qui bénéficiera le plus de votre présentation (un surprise est enfouie dans la liste).

Source : habr.com

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster