Qu'est-ce que la méthodologie DevOps et qui en a besoin

Voyons quelle est l'essence de la méthodologie et à qui elle peut bénéficier.

Nous parlerons également des spécialistes DevOps : leurs tâches, leurs salaires et leurs compétences.

Qu'est-ce que la méthodologie DevOps et qui en a besoin
photo Matt Moore /Flickr/CC BY-SA

Qu'est-ce que DevOps

DevOps est une méthodologie de développement logiciel dont la tâche est d'établir une interaction entre les programmeurs et les administrateurs système d'une entreprise. Si les informaticiens de différents départements ne comprennent pas les tâches de chacun, la publication de nouvelles applications et de leurs mises à jour est retardée.

DevOps crée un cycle de développement « transparent », contribuant ainsi à accélérer la sortie d'un produit logiciel. L'accélération est obtenue grâce à l'introduction de systèmes d'automatisation. De plus, les programmeurs commencent à participer à la configuration des serveurs et à la recherche de bogues, par exemple, ils peuvent écrire des tests automatisés.

Cela améliore l’interaction entre les départements. Les employés commencent à mieux comprendre par quelles étapes passe un produit logiciel avant qu'il ne parvienne entre les mains de l'utilisateur.

Lorsqu'un développeur comprend à quoi un administrateur est confronté lors de la configuration d'un serveur, il essaiera d'aplanir d'éventuels « angles vifs » dans le code. Cela réduit le nombre de bugs lors du déploiement d'une application - selon les statistiques, cela diminue environ cinq fois.

Qui a besoin et n’a pas besoin de la méthodologie

Beaucoup Les experts en informatique estimentque DevOps bénéficiera à toute organisation qui développe des logiciels. Cela est vrai même si l’entreprise est un simple consommateur de services informatiques et ne développe pas ses propres applications. Dans ce cas, la mise en œuvre d’une culture DevOps vous aidera à vous concentrer sur l’innovation.

L'exception compte pour startups, mais ici tout dépend de l'ampleur du projet. Si votre objectif est de lancer un produit minimum viable (MVP) pour tester une nouvelle idée, alors vous pouvez vous passer de DevOps. Par exemple, le fondateur de Groupon a commencé à travailler manuellement sur le service. publié toutes les offres du site et les commandes collectées. Il n'a utilisé aucun outil d'automatisation.

Il n’est logique de mettre en œuvre une méthodologie et des outils d’automatisation que lorsque l’application commence à gagner en popularité. Cela contribuera à rationaliser les processus métier et à accélérer la publication des mises à jour.

Comment mettre en œuvre DevOps

Vous trouverez ci-dessous quelques recommandations pour passer à une nouvelle méthodologie.

Identifier les problèmes dans les processus métier. Avant de mettre en œuvre la méthodologie, mettez en évidence les objectifs et les problèmes de l'organisation. La stratégie de transition vers DevOps en dépendra. Pour ce faire, faites une liste de questions, par exemple :

  • Qu’est-ce qui prend le plus de temps lors de la mise à jour d’un logiciel ?
  • Est-il possible d'automatiser ce processus ?
  • La structure de l’organisation affecte-t-elle cela ?

En savoir plus sur l'identification des problèmes dans une organisation peut être lu dans les livres «Projet "Phénix""Et"Guide DevOps» des auteurs de la méthodologie.

Changer la culture de l'entreprise. Il est important de convaincre tous les salariés de changer leurs méthodes de travail habituelles et d’élargir leur éventail de compétences. Par exemple, chez Facebook, tous les programmeurs rencontrer pour l’ensemble du cycle de vie de l’application : du codage à la mise en œuvre. De plus, Facebook ne dispose pas d'un service de test distinct : les tests sont rédigés par les développeurs eux-mêmes.

Commencez petit. Choisissez le processus qui demande le plus de temps et d’efforts lors de la publication des mises à jour et automatisez-le. Ce peut-être processus de test ou de déploiement d’applications. Experts conseiller La première étape consiste à implémenter des outils de contrôle de version distribués. Ils facilitent la gestion des sources. Parmi ces solutions, les plus connues sont Git, Mercurial, Subversion (SVN) et CVS.

Il convient également de prêter attention aux systèmes d'intégration continue chargés d'assembler et de tester le produit final. Exemples de tels outils : Jenkins, TeamCity et Bamboo.

Évaluer les améliorations. Développer des mesures de performance pour les solutions mises en œuvre et créer une liste de contrôle. Les mesures peuvent inclure la fréquence des versions, le temps passé à travailler sur les fonctionnalités du logiciel et le nombre de bogues dans le code. Discutez des résultats non seulement avec les managers, mais aussi avec le reste de l'équipe impliquée dans le projet. Demandez quels outils manquent. Tenez compte de ces demandes lorsque vous optimisez davantage vos processus.

Critique du DevOps

Même si la méthodologie aide les organisations peuvent prendre des décisions plus rapides concernant le développement d'applications, réduit le nombre d'erreurs dans le logiciel et encourage les employés à apprendre de nouvelles choses, il a aussi des critiques.

Il est voirque les programmeurs ne doivent pas comprendre les détails du travail des administrateurs système. Apparemment, DevOps conduit au fait qu'au lieu de spécialistes du développement ou de l'administration, l'entreprise a des personnes qui comprennent tout, mais superficiellement.

On pense également que DevOps ne fonctionne pas avec une mauvaise gestion. Si les équipes de développement et d'administration n'ont pas d'objectifs communs, ce sont les managers qui sont responsables de ne pas organiser la communication entre les équipes. Pour résoudre ce problème, il ne faut pas une nouvelle méthodologie, mais un système d'évaluation des managers basé sur les retours des subordonnés. Vous pouvez le lire ici, quelles questions devraient être incluses dans les formulaires d'enquête auprès des employés.

Qu'est-ce que la méthodologie DevOps et qui en a besoin
photo Ed Ivanouchkine /Flickr/CC BY-SA

Qui est un ingénieur DevOps

Un ingénieur DevOps met en œuvre la méthodologie DevOps. Il synchronise toutes les étapes de création d'un produit logiciel : de l'écriture du code au test et à la publication de l'application. Un tel spécialiste contrôle les départements de développement et d'administration, et automatise l'exécution de leurs tâches en introduisant divers outils logiciels.

L’astuce d’un ingénieur DevOps, c’est qu’il cumule de nombreux métiers : administrateur, développeur, testeur et manager.

Joe Sanchez, évangéliste DevOps chez VMware, une société de logiciels de virtualisation, surligné un certain nombre de compétences qu'un ingénieur DevOps doit posséder. En plus de la connaissance évidente de la méthodologie DevOps, cette personne doit avoir de l'expérience dans l'administration de systèmes d'exploitation Windows et Linux et une expérience de travail avec des outils d'automatisation tels que ChefFantocheAnsible. Il doit également être capable d'écrire des scripts et du code dans plusieurs langues et de comprendre les technologies de réseau.

Un ingénieur DevOps est responsable de toute automatisation des tâches liées à la configuration et au déploiement d'applications. La surveillance des logiciels repose également sur ses épaules. Pour résoudre ces problèmes, il utilise divers systèmes de gestion de configuration, solutions de virtualisation et outils cloud pour équilibrer les ressources.

Qui embauche

Les ingénieurs DevOps peuvent bénéficier à toute organisation qui développe des applications ou gère un grand nombre de serveurs. Ingénieurs DevOps embauchent Des géants de l'informatique comme Amazon, Adobe et Facebook. Ils travaillent également sur Netflix, Walmart et Etsy.

Ne pas embaucher Les ingénieurs DevOps ne sont que des startups. Leur travail consiste à publier un produit minimum viable pour tester une nouvelle idée. Dans la plupart des cas, les startups peuvent se passer de DevOps.

Combien de salaire

Ingénieurs DevOps gagner plus que quiconque dans l'industrie. Les revenus moyens de ces spécialistes dans le monde varient de 100 à 125 XNUMX dollars par an.

Aux USA, ils obtenir 90 500 dollars par an (XNUMX XNUMX roubles par mois). Au Canada, ils être payé 122 mille dollars par an (670 mille roubles par mois) et au Royaume-Uni - 67,5 mille livres sterling par an (490 mille roubles par mois).

Quant à la Russie, les entreprises moscovites sont prêts payer les spécialistes DevOps de 100 à 200 160 roubles par mois. À Saint-Pétersbourg, les employeurs sont un peu plus généreux : ils offrent entre 360 100 et 120 XNUMX roubles par mois. Dans les régions, les salaires sont estimés entre XNUMX et XNUMX XNUMX roubles par mois.

Comment devenir un spécialiste DevOps

DevOps est une direction relativement nouvelle en informatique, il n'existe donc pas de liste établie d'exigences pour les ingénieurs DevOps. Parmi les postes vacants, parmi les exigences pour ce poste, vous trouverez à la fois des compétences en administration Debian et CentOS et la capacité de travailler avec des lecteurs de disque. Matrices RAID.

Sur cette base, nous pouvons conclure qu'un ingénieur DevOps doit avant tout avoir de bonnes connaissances techniques. Il est important pour une telle personne d’apprendre constamment de nouveaux outils et technologies.

Le moyen le plus simple de devenir ingénieur DevOps serait d’être administrateur système ou développeur. Ils possèdent déjà un certain nombre de compétences qu’il ne reste plus qu’à développer. La tâche principale est d'améliorer l'ensemble minimum de connaissances en DevOps, de comprendre comment travailler avec des outils d'automatisation et de combler les lacunes en matière de compétences en administration, programmation et virtualisation.

Pour comprendre où les connaissances font encore défaut, vous pouvez utiliser mini-Wikipédia sur GitHub ou carte mentale. Les résidents de Hacker News également recommander lire des livres "Projet "Phénix""Et"Guide DevOps" (que nous avons mentionné ci-dessus) et "Philosophie DevOps. L'art de la gestion informatique» sous le cachet d'O'Reilly Media.

Vous pouvez également vous abonner à Newsletter hebdomadaire Devops, lire des articles d'actualité portail DZone et commencez à communiquer avec les ingénieurs DevOps dans Chat Slack. Cela vaut également la peine de consulter les cours gratuits sur Udacity ou EDX.

Articles de notre blog :



Source: habr.com

Ajouter un commentaire