
Le DevOps est devenu un sujet trĂšs populaire ces derniĂšres annĂ©es. Beaucoup de gens rĂȘvent d'y rejoindre, mais, comme le montre la pratique, souvent uniquement en raison du niveau des salaires.
Certaines personnes mentionnent DevOps sur leur CV, mĂȘme si elles ne connaissent pas ou ne comprennent pas toujours lâessence du terme. Certains pensent quâaprĂšs avoir Ă©tudiĂ© Ansible, GitLab, Jenkins, Terraform et autres (la liste peut ĂȘtre continuĂ©e selon vos goĂ»ts), vous deviendrez immĂ©diatement un « devopsist ». Ceci n'est bien sĂ»r pas vrai.
Depuis quelques annĂ©es, je suis principalement impliquĂ© dans la mise en Ćuvre du DevOps dans diverses entreprises. Avant cela, il a travaillĂ© pendant plus de 20 ans dans des postes allant d'administrateur systĂšme Ă directeur informatique. Actuellement ingĂ©nieur principal DevOps chez Playgendary.
Qui est DevOps
LâidĂ©e dâĂ©crire un article est nĂ©e suite Ă une autre question : « qui est DevOps ? Il nâexiste toujours pas de terme Ă©tabli pour dĂ©signer de quoi il sâagit ou qui il sâagit. Certaines des rĂ©ponses sont dĂ©jĂ lĂ . Tout dâabord, jâen soulignerai les principaux points, puis je partagerai mes observations et mes rĂ©flexions.
DevOps n'est pas un spĂ©cialiste qui peut ĂȘtre embauchĂ©, ni un ensemble d'utilitaires, ni un dĂ©partement de dĂ©veloppeurs avec des ingĂ©nieurs.
DevOps est une philosophie et une méthodologie.
En dâautres termes, il sâagit dâun ensemble de pratiques qui aident les dĂ©veloppeurs Ă interagir activement avec les administrateurs systĂšme. Autrement dit, connecter et intĂ©grer les processus de travail les uns dans les autres.
Avec l'avĂšnement du DevOps, la structure et les rĂŽles des spĂ©cialistes sont restĂ©s les mĂȘmes (il y a des dĂ©veloppeurs, il y a des ingĂ©nieurs), mais les rĂšgles d'interaction ont changĂ©. Les frontiĂšres entre dĂ©partements se sont estompĂ©es.
Les objectifs du DevOps peuvent ĂȘtre dĂ©crits en trois points :
- Le logiciel doit ĂȘtre mis Ă jour rĂ©guliĂšrement.
- Le logiciel doit ĂȘtre rĂ©alisĂ© rapidement.
- Le logiciel doit ĂȘtre dĂ©ployĂ© facilement et en peu de temps.
Il nâexiste pas dâoutil unique pour DevOps. Configurer, livrer et Ă©tudier plusieurs produits ne signifie pas que le DevOps soit apparu dans lâentreprise. Il existe de nombreux outils et ils sont tous utilisĂ©s Ă diffĂ©rentes Ă©tapes, mais servent un objectif commun.

Et ce n'est qu'une partie des outils DevOps
Cela fait plus de 2 ans que j'interviewe des personnes pour le poste d'ingénieur DevOps et j'ai réalisé à quel point il est important de bien comprendre l'essence du terme. J'ai accumulé des expériences, des observations et des réflexions spécifiques que je souhaite partager.
DâaprĂšs mon expĂ©rience dâentretien, je vois lâimage suivante : les spĂ©cialistes qui considĂšrent DevOps comme un titre de poste ont gĂ©nĂ©ralement des malentendus avec leurs collĂšgues.
Il y avait un exemple frappant. Un jeune homme est venu Ă un entretien avec beaucoup de mots intelligents sur son CV. Lors de ses trois derniers emplois, il avait 5 Ă 6 mois d'expĂ©rience. Jâai quittĂ© deux startups parce quâelles « nâont pas dĂ©collĂ© ». Mais Ă propos de la troisiĂšme sociĂ©tĂ©, il a dit que personne ne le comprend lĂ -bas : les dĂ©veloppeurs Ă©crivent du code sous Windows, et le directeur force ce code Ă ĂȘtre « encapsulĂ© » dans Docker standard et intĂ©grĂ© dans le pipeline CI/CD. Le gars a dit beaucoup de choses nĂ©gatives sur son lieu de travail actuel et ses collĂšgues - je voulais juste rĂ©pondre : "Alors vous ne vendrez pas d'Ă©lĂ©phant."
Ensuite, je lui ai posĂ© une question qui figure en tĂȘte de ma liste pour chaque candidat.
â Que signifie DevOps pour vous personnellement ?
- En général ou comment je le perçois ?
J'Ă©tais intĂ©ressĂ© par son opinion personnelle. Il connaissait la thĂ©orie et lâorigine du terme, mais il nâĂ©tait pas du tout dâaccord avec celles-ci. Il pensait que DevOps Ă©tait un titre de poste. Câest lĂ que rĂ©side la racine de ses problĂšmes. Ainsi que dâautres spĂ©cialistes partageant le mĂȘme avis.
Les employeurs, ayant beaucoup entendu parler de la « magie du DevOps », souhaitent trouver une personne qui viendra créer cette « magie ». Et les candidats de la catégorie « DevOps est un métier » ne comprennent pas qu'avec cette approche ils ne pourront pas répondre aux attentes. Et, en général, ils ont écrit DevOps sur leur CV parce que c'est une tendance et qu'ils paient cher pour cela.
Méthodologie et philosophie DevOps
La mĂ©thodologie peut ĂȘtre thĂ©orique et pratique. Dans notre cas, câest le deuxiĂšme. Comme je l'ai mentionnĂ© ci-dessus, DevOps est un ensemble de pratiques et de stratĂ©gies utilisĂ©es pour atteindre des objectifs dĂ©clarĂ©s. Et dans chaque cas, selon les processus commerciaux de lâentreprise, cela peut diffĂ©rer considĂ©rablement. Ce qui ne rend pas les choses meilleures ou pires.
La méthodologie DevOps n'est qu'un moyen d'atteindre des objectifs.
Parlons maintenant de la philosophie DevOps. Et câest probablement la question la plus difficile.
Il est assez difficile de formuler une rĂ©ponse courte et succincte, car elle nâa pas encore Ă©tĂ© formalisĂ©e. Et comme les adeptes de la philosophie DevOps sont plus engagĂ©s dans la pratique, il n'y a tout simplement pas de temps pour philosopher. Cependant, il s'agit d'un processus trĂšs important. De plus, elle est directement liĂ©e aux activitĂ©s d'ingĂ©nierie. Il existe mĂȘme un domaine de connaissance spĂ©cialisĂ© - .
Une telle matiĂšre n'existait pas dans mon universitĂ©, j'ai dĂ» tout Ă©tudier par moi-mĂȘme en utilisant les matĂ©riaux que je pouvais trouver dans les annĂ©es 90. Le sujet est facultatif pour la formation dâingĂ©nieur, dâoĂč le manque de formalisation de la rĂ©ponse. Mais les personnes qui sâimmergent sĂ©rieusement dans DevOps commencent Ă ressentir un certain « esprit » ou une « exhaustivitĂ© inconsciente » de tous les processus de lâentreprise.
Fort de ma propre expĂ©rience, jâai tentĂ© de formaliser certains des « postulats » de cette philosophie. Le rĂ©sultat est le suivant :
- DevOps n'est pas quelque chose d'indĂ©pendant qui peut ĂȘtre sĂ©parĂ© en un domaine de connaissances ou d'activitĂ© distinct.
- Tous les employĂ©s de l'entreprise doivent ĂȘtre guidĂ©s par la mĂ©thodologie DevOps lors de la planification de leurs activitĂ©s.
- DevOps affecte tous les processus au sein d'une entreprise.
- DevOps existe pour réduire les coûts de temps pour tout processus au sein d'une entreprise afin d'assurer le développement de ses services et un confort client maximal.
- DevOps, en langage moderne, est la position proactive de chaque employé de l'entreprise, visant à réduire les coûts de temps et à améliorer la qualité des produits informatiques qui nous entourent.
Je pense que mes « postulats » sont un sujet de discussion distinct. Mais il y a maintenant quelque chose sur lequel bùtir.
Ce que fait DevOps
Le mot clĂ© ici est la communication. Il existe de nombreuses communications dont l'initiateur devrait ĂȘtre exactement le mĂȘme ingĂ©nieur DevOps. Pourquoi donc? Parce qu'il s'agit de philosophie et de mĂ©thodologie, et alors seulement de connaissances en ingĂ©nierie.
Je ne peux pas parler avec 100 % de confiance du marché du travail occidental. Mais j'en sais beaucoup sur le marché DevOps en Russie. En plus de centaines d'entretiens, j'ai participé au cours de la derniÚre année et demie à des centaines de préventes techniques pour le service « Implémentation DevOps » pour de grandes entreprises et banques russes.
En Russie, le DevOps est encore un sujet trĂšs jeune, mais dĂ©jĂ tendance. Autant que je sache, rien qu'Ă Moscou, le manque de ces spĂ©cialistes en 2019 s'Ă©levait Ă plus de 1000 2 personnes. Et le mot Kubernetes pour les employeurs ressemble presque Ă un chiffon rouge pour un taureau. Les adeptes de cet outil sont prĂȘts Ă l'utiliser mĂȘme lĂ oĂč cela n'est pas nĂ©cessaire et Ă©conomiquement rentable. L'employeur ne comprend pas toujours dans quels cas ce qu'il est plus appropriĂ© d'utiliser, et avec un dĂ©ploiement appropriĂ©, la maintenance d'un cluster Kubernetes coĂ»te 3 Ă XNUMX fois plus cher que le dĂ©ploiement d'une application Ă l'aide d'un schĂ©ma de cluster conventionnel. Utilisez-le lĂ oĂč vous en avez vraiment besoin.

La mise en Ćuvre de DevOps coĂ»te cher en termes dâargent. Et cela nâest justifiĂ© que lorsquâil apporte des avantages Ă©conomiques dans dâautres domaines, et non en soi.
Les ingĂ©nieurs DevOps sont en fait des pionniers : ce sont eux qui devraient ĂȘtre les premiers Ă mettre en Ćuvre cette mĂ©thodologie dans l'entreprise et Ă construire des processus. Pour que cela rĂ©ussisse, le spĂ©cialiste doit interagir constamment avec les employĂ©s et collĂšgues Ă tous les niveaux. Comme je le dis habituellement, tous les employĂ©s de l'entreprise doivent ĂȘtre impliquĂ©s dans le processus de mise en Ćuvre du DevOps : de la femme de mĂ©nage au PDG. Et c'est une condition prĂ©alable. Si le membre le plus jeune de lâĂ©quipe ne sait pas et ne comprend pas ce quâest DevOps et pourquoi certaines actions organisationnelles sont effectuĂ©es, une mise en Ćuvre rĂ©ussie ne fonctionnera pas.
De plus, un ingĂ©nieur DevOps doit utiliser une ressource administrative de temps en temps. Par exemple, pour surmonter la « rĂ©sistance environnementale » - lorsque l'Ă©quipe n'est pas prĂȘte Ă accepter les outils et la mĂ©thodologie DevOps.
Le dĂ©veloppeur ne doit Ă©crire que du code et des tests. Pour ce faire, il nâa pas besoin dâun ordinateur portable surpuissant sur lequel il dĂ©ploiera et supportera localement lâensemble de lâinfrastructure du projet. Par exemple, un dĂ©veloppeur front-end conserve tous les Ă©lĂ©ments de lâapplication sur son ordinateur portable, notamment la base de donnĂ©es, lâĂ©mulateur S3 (minio), etc. Autrement dit, il passe beaucoup de temps Ă entretenir cette infrastructure locale et lutte seul avec tous les problĂšmes liĂ©s Ă une telle solution. Au lieu de dĂ©velopper du code pour le front. Ces personnes peuvent ĂȘtre trĂšs rĂ©sistantes Ă tout changement.
Mais il existe des Ă©quipes qui, au contraire, sont heureuses dâintroduire de nouveaux outils et mĂ©thodes et participent activement Ă ce processus. MĂȘme dans ce cas, la communication entre l'ingĂ©nieur DevOps et l'Ă©quipe n'a pas Ă©tĂ© annulĂ©e.
Quand DevOps n'est pas nécessaire
Il existe des situations oĂč DevOps n'est pas nĂ©cessaire. Câest un fait : il doit ĂȘtre compris et acceptĂ©.
Tout d'abord, cela s'applique Ă toutes les entreprises (en particulier les petites entreprises) lorsque leur bĂ©nĂ©fice ne dĂ©pend pas directement de la prĂ©sence ou de l'absence de produits informatiques fournissant des services d'information aux clients. Et ici, nous ne parlons pas du site Internet de lâentreprise, quâil sâagisse dâune « carte de visite » statique ou avec des blocs dâactualitĂ©s dynamiques, etc.
DevOps s'impose lorsque la satisfaction de votre client et son envie de revenir vers vous dépendent de la disponibilité de ces services d'information pour l'interaction avec le client, de leur qualité et de leur ciblage.
Un exemple frappant est celui dâune banque bien connue. L'entreprise ne dispose pas de bureaux clients traditionnels, le flux de documents s'effectue par courrier ou par coursier et de nombreux employĂ©s travaillent Ă domicile. L'entreprise a cessĂ© d'ĂȘtre une simple banque et, Ă mon avis, s'est transformĂ©e en une sociĂ©tĂ© informatique dotĂ©e de technologies DevOps dĂ©veloppĂ©es.
De nombreux autres exemples et confĂ©rences peuvent ĂȘtre retrouvĂ©s dans les enregistrements de rencontres et confĂ©rences thĂ©matiques. J'en ai visitĂ© personnellement certains - c'est une expĂ©rience trĂšs utile pour ceux qui souhaitent Ă©voluer dans cette direction. Voici des liens vers des chaĂźnes YouTube proposant de bonnes confĂ©rences et du matĂ©riel sur DevOps :
Examinez maintenant votre entreprise et réfléchissez à ceci : dans quelle mesure votre entreprise et ses bénéfices dépendent-ils des produits informatiques pour permettre l'interaction avec les clients ?
Si votre entreprise vend du poisson dans un petit magasin et que le seul produit informatique est constitué de deux configurations 1C : Entreprise (Comptabilité et UNF), alors cela n'a guÚre de sens de parler de DevOps.
Si vous travaillez dans une grande entreprise commerciale et manufacturiĂšre (par exemple, vous produisez des fusils de chasse), vous devriez y penser. Vous pouvez prendre l'initiative et transmettre Ă votre management les perspectives de mise en Ćuvre de DevOps. Eh bien, et en mĂȘme temps, dirigez ce processus. Une position proactive est l'un des principes importants de la philosophie DevOps.
La taille et le volume du chiffre d'affaires financier annuel ne sont pas le principal critÚre pour déterminer si votre entreprise a besoin de DevOps.
Imaginons une grande entreprise industrielle qui n'interagit pas directement avec les clients. Par exemple, certains constructeurs automobiles et constructeurs automobiles. Je n'en suis pas sûr maintenant, mais d'aprÚs mon expérience passée, pendant de nombreuses années, toutes les interactions avec les clients se faisaient par courrier électronique et par téléphone.
Leurs clients sont une liste limitĂ©e de concessionnaires automobiles. Et chacun se voit attribuer un spĂ©cialiste du fabricant. Tous les flux de documents internes s'effectuent via SAP ERP. Les collaborateurs internes sont essentiellement des clients du systĂšme dâinformation. Mais ce SI est pilotĂ© par les moyens classiques de gestion des systĂšmes de clusters. Ce qui exclut la possibilitĂ© d'utiliser des pratiques DevOps.
D'oĂč la conclusion : pour de telles entreprises, la mise en Ćuvre de DevOps n'est pas quelque chose d'une importance cruciale, si l'on rappelle les objectifs de la mĂ©thodologie dĂšs le dĂ©but de l'article. Mais je nâexclus pas quâils utilisent aujourdâhui certains outils DevOps.
Dâun autre cĂŽtĂ©, de nombreuses petites entreprises dĂ©veloppent des logiciels en utilisant la mĂ©thodologie, la philosophie, les pratiques et les outils DevOps. Et ils estiment que le coĂ»t de mise en Ćuvre de DevOps est celui qui leur permet dâĂȘtre compĂ©titifs efficacement sur le marchĂ© des logiciels. Des exemples de telles entreprises peuvent ĂȘtre vus .
Le principal critÚre pour comprendre si DevOps est nécessaire : quelle valeur vos produits informatiques ont pour l'entreprise et les clients.
Si le principal produit gĂ©nĂ©rant des bĂ©nĂ©fices de lâentreprise est un logiciel, vous avez besoin de DevOps. Et ce nâest pas si important si vous gagnez de lâargent rĂ©el en utilisant dâautres produits. Cela inclut Ă©galement les boutiques en ligne ou les applications mobiles proposant des jeux.
Tous les jeux existent grùce au financement : direct ou indirect des joueurs. Chez Playgendary, nous développons des jeux mobiles gratuits avec plus de 200 personnes directement impliquées dans leur création. Comment utilisons-nous DevOps ?
Oui, exactement la mĂȘme chose que celle dĂ©crite ci-dessus. Je communique constamment avec les dĂ©veloppeurs et les testeurs, et dispense des formations internes aux employĂ©s sur la mĂ©thodologie et les outils DevOps.
Nous utilisons désormais activement Jenkins comme outil de pipelines CI/CD pour exécuter tous les pipelines d'assemblage avec Unity et le déploiement ultérieur sur l'App Store et le Play Market. En savoir plus sur la boßte à outils classique :
- Asana - pour la gestion de projet. L'intégration avec Jenkins a été configurée.
- Google Meet â pour les visioconfĂ©rences.
- Slack - pour les communications et diverses alertes, y compris les notifications de Jenkins.
- Atlassian Confluence - pour la documentation et le travail de groupe.
Nos plans immédiats incluent l'introduction de l'analyse de code statique à l'aide de SonarQube et la réalisation de tests automatisés d'interface utilisateur à l'aide de Selenium au stade de l'intégration continue.
Au lieu d'une conclusion
Je voudrais terminer par la réflexion suivante : pour devenir un ingénieur DevOps hautement qualifié, il est essentiel d'apprendre à communiquer en direct avec les gens.
Un ingĂ©nieur DevOps est un joueur dâĂ©quipe. Et rien d'autre. L'initiative de communiquer avec des collĂšgues doit venir de lui et non sous l'influence de certaines circonstances. Un spĂ©cialiste DevOps doit voir et proposer la meilleure solution pour lâĂ©quipe.
Et oui, la mise en Ćuvre de toute solution nĂ©cessitera de nombreuses discussions et, Ă la fin, elle pourrait complĂštement changer. Se dĂ©veloppant de maniĂšre autonome, proposant et mettant en Ćuvre ses idĂ©es, une telle personne revĂȘt une valeur croissante tant pour l'Ă©quipe que pour l'employeur. Ce qui, in fine, se traduit par le montant de sa rĂ©munĂ©ration mensuelle ou sous forme de primes complĂ©mentaires.
Source: habr.com
