DevOps - qu'est-ce que c'est, pourquoi et combien est-il demandé?



Il y a quelques années, un nouvel ingénieur DevOps spécialisé est apparu en informatique. Elle est rapidement devenue l'une des plus populaires et recherchées du marché. Mais le paradoxe est que la popularité de DevOps est en partie due au fait que les entreprises qui embauchent de tels spécialistes les confondent souvent avec des représentants d'autres professions. 
 
Cet article est consacré à l'analyse des nuances de la profession DevOps, de la situation actuelle du marché et des perspectives. Nous avons découvert ce problème difficile avec l'aide du doyen de la faculté DevOps de GeekBrains à l'université en ligne de GeekUniversity de Dmitry Burkovsky.



Alors, quel est exactement DevOps?


Le terme lui-même signifie Development Operations. Ce n'est pas tant une spécialité qu'une approche pour organiser le travail dans une moyenne ou grande entreprise lors de la préparation d'un produit ou d'un service. Le fait est que différents départements d'une même entreprise participent au processus de préparation et que leurs actions sont loin d'être toujours bien coordonnées. 
 
Ainsi, les développeurs, par exemple, ne savent pas toujours quels problèmes surviennent pour les utilisateurs qui travaillent avec un programme ou un service publié. Support technique - connaît parfaitement tout, mais elle peut ne pas savoir ce qui est «à l'intérieur» du logiciel. Et voici l'ingénieur DevOps, qui aide à coordonner le processus de développement, aide à automatiser les processus, améliore leur transparence. 
 
Le concept DevOps rassemble des personnes, des processus et des outils. 
 


Qu'est-ce qu'un ingénieur DevOps doit savoir et être capable de faire?


Selon l'un des adhérents les plus célèbres du concept DevOps, Joe Sanchez, un représentant de la profession devrait avoir une bonne compréhension des nuances du concept lui-même, avoir de l'expérience dans l'administration des systèmes Windows et Linux, comprendre le code du programme écrit dans différentes langues, exécuter Chef, Puppet, Ansible. Il est clair que pour analyser le code, vous devez connaître plusieurs langages de programmation, et pas seulement connaître, mais aussi avoir une expérience en développement. Et l'expérience de tester des produits et services logiciels prêts à l'emploi est également très souhaitable. 
 
Mais idéalement, ce niveau d'expérience et de connaissances est loin d'être représentatif de la sphère informatique. Voici un ensemble de connaissances et d'expérience minimales nécessaires pour un bon DevOps:

  • OS GNU / Linux, Windows.
  • Au moins 1 langage de programmation (Python, Go, Ruby).
  • Le langage de script shell est bash pour Linux et powershell pour Windows.
  • Système de contrôle de version - Git.
  • Systèmes de gestion de la configuration (Ansible, Puppet, Chef).
  • Au moins une des plates-formes pour l'orchestration de conteneurs (Kubernetes, Docker Swarm, Apache Mesos, Amazon EC2 Container Service, Microsoft Azure Container Service).
  • Capacité à travailler avec des fournisseurs de cloud (par exemple: AWS, GCP, Azure, etc.) à l'aide de Terraform, pour savoir comment l'application est déployée sur le cloud.
  • Possibilité de configurer le pipeline CI / CD (Jenkins, GitLab), la pile ELK, les systèmes de surveillance (Zabbix, Prometheus).

Et voici une liste de compétences que les spécialistes DevOps indiquent le plus souvent chez Haber Career.

image
 
De plus, le spécialiste DevOps doit comprendre les besoins et les exigences de l'entreprise, voir son rôle dans le processus de développement et être capable de construire le processus en tenant compte de l'intérêt du client. 



Et qu'en est-il du seuil d'entrée?


La liste des connaissances et expériences a été présentée en vain ci-dessus. Il est désormais plus facile de comprendre qui peut devenir un spécialiste DevOps. Il s'avère que la façon la plus simple d'accéder à cette profession est pour les représentants d'autres spécialités informatiques, en particulier les administrateurs système et les développeurs. Et cela, et d'autres peuvent rapidement accumuler la quantité manquante d'expérience et de connaissances. Ils ont déjà la moitié de l'ensemble requis, et souvent plus de la moitié.
 
Et les grands ingénieurs DevOps viennent de testeurs. Ils savent quoi et comment cela fonctionne, conscients des lacunes et des lacunes du logiciel et du matériel. On peut dire qu'un testeur qui connaît les langages de programmation et sait écrire des programmes - sans DevOps cinq minutes.
 
Mais ce sera difficile pour un représentant d'une spécialité non technique qui n'a jamais traité de développement ou d'administration de système. Bien sûr, rien n'est impossible, mais néanmoins, les débutants doivent évaluer correctement leurs forces. Il faudra beaucoup de temps pour obtenir les «bagages» requis. 



Où DevOps peut-il fonctionner?


Une grande entreprise dont le travail est directement ou indirectement lié au développement d'applications et à l'administration de matériel. Le déficit maximal en ingénieurs DevOps concerne les entreprises qui fournissent un grand nombre de services aux utilisateurs finaux. Ce sont les banques, les opérateurs télécoms, les plus grands fournisseurs Internet, etc. Google, Facebook, Amazon et Adobe font partie des entreprises qui recrutent activement des ingénieurs DevOps.
 
Présentation de DevOps et des petites entreprises en démarrage, mais pour beaucoup de ces entreprises, inviter des ingénieurs DevOps est plus un hommage à la mode qu'une véritable nécessité. Bien sûr, il y a des exceptions, mais il n'y en a pas beaucoup. Les petites entreprises ont plutôt besoin «d'un Suisse, d'une faucheuse et d'un mec», c'est-à-dire d'une personne capable de travailler dans plusieurs domaines. Une bonne station-service peut gérer tout cela. Le fait est que la petite entreprise est une vitesse de travail importante, l'optimisation des processus de travail est essentielle pour les moyennes et grandes entreprises. 

Voici quelques postes vacants (vous pouvez suivre les nouveaux sur Habr Career en utilisant ce lien ):

image
 


DevOps salariaux en Russie et dans le monde


En Russie, le salaire moyen d'un ingénieur DevOps est d'environ 132 000 roubles par mois. Ce sont les calculs du calculateur de salaire du service Habr Career, effectués sur la base de 170 questionnaires pour le 2ème semestre 2020. Oui, l'échantillon n'est pas si gros, mais il est tout à fait approprié comme «température moyenne à l'hôpital».  Il y a des salaires de 250 000 roubles, environ 80 000 et un peu moins. Tout dépend de l'entreprise, des qualifications et du spécialiste lui-même, bien sûr.  Comme pour les autres pays, les statistiques salariales sont également connues. Les spécialistes de Stack Overflow ont bien analysé les profils d'environ 90 000 personnes - non seulement DevOps, mais aussi des représentants des spécialités techniques en général. Il s'est avéré qu'Ingénierie Manager et seulement DevOps tirent le meilleur parti. 
 
image


image

 
DevOps-ingénieur reçoit environ 71 000 $ par an Selon la ressource Ziprecruiter.com, le salaire d'un professionnel dans ce domaine est de 86 000 $ par an. Eh bien, le service Payscale.com affiche des chiffres assez agréables à l'oeil - le salaire moyen d'un spécialiste DevOps, selon le service, dépasse 91 000 $. Et c'est le salaire d'un spécialiste junior, le senior peut obtenir 135 000 $. 
 
En conclusion, il convient de dire que la demande de DevOps est progressivement de plus en plus, la demande de spécialistes de tout niveau dépasse l'offre. Donc, si vous le souhaitez, vous pouvez vous essayer dans ce domaine. Certes, il faut se rappeler que le désir seul ne suffit pas. Vous devez constamment vous développer, apprendre et travailler.

All Articles