Comment devenir ingénieur DevOps en six mois ou plus vite. Partie 1. Introduction

Le public ciblé


Êtes-vous un développeur qui souhaite transformer sa carrière vers un modèle DevOps plus avancé? Vous êtes un ingénieur Ops classique et vous souhaitez avoir une idée de ce que signifie DevOps? Ou vous n'êtes ni l'un ni l'autre et, ayant passé un certain temps à travailler dans le domaine des technologies informatiques, vous souhaitez changer d'emploi et vous ne savez pas par où commencer?
Si oui, lisez la suite pour savoir comment devenir ingénieur DevOps de niveau intermédiaire en six mois! Enfin, si vous êtes impliqué dans DevOps depuis de nombreuses années, vous pouvez toujours tirer de nombreuses informations utiles de cette série d'articles et découvrir où se situe actuellement l'industrie de l'intégration et de l'automatisation et où elle s'efforce de se développer.



Qu'est-ce que tout cela?


Tout d'abord, qu'est-ce que DevOps? Vous pouvez google définitions et passer à travers toute cette enveloppe verbale, mais sachez que la plupart des définitions ne sont qu'un fouillis de mots enveloppés dans une forme simplifiée. Par conséquent, je vais vous donner un extrait de toutes ces définitions: DevOps est un moyen de fournir un logiciel dans lequel le mal de tête et la responsabilité sont partagés entre toutes les personnes impliquées. C'est tout.

D'accord, mais que signifie cette réduction de toute façon? Cela signifie que, traditionnellement, les développeurs (personnes qui créent des logiciels) dans leur travail étaient guidés par des incitations qui différaient considérablement des incitations des opérations (opérateurs ou personnes qui gèrent les logiciels). Par exemple, en tant que développeur, je souhaite créer autant de nouvelles fonctionnalités que possible. Après tout, c'est mon travail, et c'est exactement ce que les clients demandent! Cependant, si je suis une personne Ops, j'ai besoin d'autant de nouvelles fonctionnalités que possible, car chaque nouvelle fonction est un changement, et tout changement est lourd de dysfonctionnements. En raison de ces incitations incohérentes, DevOps est né.

DevOps tente de combiner le développement et les opérations (intégration et automatisation) en un seul groupe. L'idée est que maintenant un groupe partagera à la fois la douleur et la responsabilité (et probablement la récompense) pour la création, le déploiement et la génération de revenus à partir de logiciels orientés client.

Les puristes vous diront qu'il n'y a rien de tel qu'un «ingénieur DevOps». «DevOps est une culture, pas un rôle», vous diront-ils. Bien sûr, ils ont raison d'un point de vue technique, mais, comme cela arrive souvent, ce terme est sorti au-delà de sa signification d'origine. Ainsi, un ingénieur DevOps est un peu un "ingénieur système 2.0". En d'autres termes, il est celui qui comprend le cycle de vie du développement logiciel et crée des outils et des processus de développement logiciel pour résoudre les problèmes opérationnels classiques.



En fin de compte, DevOps signifie créer des pipelines numériques qui prennent le code de l'ordinateur portable d'un développeur et le transforment en revenus en utilisant le produit final, c'est tout. Faites attention au fait que le choix de carrière de DevOps est fortement compensé par des récompenses financières, et presque toutes les entreprises «font du DevOps» ou prétendent l'être. Peu importe où ces entreprises sont situées, les possibilités d'emploi globales en tant que DevOps sont assez élevées et impliquent un emploi «amusant» et significatif pour de nombreuses années à venir.

Cependant, soyez prudent avec les entreprises qui embauchent une «équipe DevOps» ou un «département DevOps». Strictement parlant, de telles choses ne devraient pas exister, car en fin de compte DevOps est toujours une culture et un moyen de fournir des logiciels, plutôt que de doter une nouvelle équipe ou de créer département avec un nom à la mode.

Déni de responsabilité


Maintenant, mettons de côté un verre de Cool-Ad et réfléchissons à ce qui suit. Avez-vous entendu le vieil adage «Les ingénieurs Junior DevOps n'existent pas?» Sinon, sachez qu'il s'agit d'une piste populaire sur Reddit et StackOverflow. Mais que veut-il dire?

En termes simples, cette phrase signifie qu'il faut de nombreuses années d'expérience, combinées à une solide compréhension des outils, pour finalement devenir un praticien Senior DevOps vraiment efficace. Et, malheureusement, il n'y a pas de raccourci pour atteindre l'objectif. Ce n'est donc pas une tentative de tromper le système - je ne pense pas qu'en fait vous pouvez prétendre être un ingénieur DevOps senior avec plusieurs mois d'expérience dans cette industrie. Acquérir une compréhension claire des outils et des méthodologies qui évoluent rapidement nécessite de nombreuses années d'expérience et il n'y a pas moyen de contourner ce problème. Cependant, il existe un menu d'outils et de concepts presque cohérent (à la mode, si vous le souhaitez) que la plupart des entreprises utilisent, et c'est ce qui sera discuté.

Encore une fois, les outils sont différents des compétences, alors pendant que vous apprenez les outils, assurez-vous de ne pas négliger vos compétences (sondages, réseautage, communication écrite, dépannage, etc.). Surtout, ne perdez pas de vue ce que nous voulons trouver - un moyen de créer un pipeline numérique entièrement automatisé qui prend des idées et les transforme en fragments de code générateurs de revenus. C'est la seule et la plus importante conclusion de tout cet article!

Arrête de parler, quand puis-je commencer?


Vous trouverez ci-dessous la feuille de route des connaissances fondamentales DevOps. Après avoir maîtrisé tout ce qui y est décrit, vous pouvez vous appeler honnêtement et en toute sécurité un ingénieur DevOps! Ou un ingénieur cloud si vous n'aimez pas le nom «DevOps».



Cette carte reflète ma vision (et probablement la plupart des personnes travaillant dans cet espace) de ce qu'un ingénieur DevOps compétent devrait savoir. Cependant, ce n'est qu'une opinion et, bien sûr, il y aura des désaccords avec elle. C'est normal! Ici, nous ne visons pas l'excellence, nous recherchons une base solide sur laquelle bâtir vraiment.

Vous devez suivre cette voie progressivement, couche par couche. Commencez (et continuez!) Suit les principes fondamentaux, en examinant d'abord les éléments marqués en bleu - Linux, Python et AWS. Ensuite, si le temps ou la demande sur le marché du travail le permet, faites des choses violettes comme Golang et Google Cloud.

Honnêtement, la couche supérieure fondamentale est quelque chose que vous devrez étudier sans cesse. OS Linux est très complexe et prend des années à maîtriser. Python nécessite une pratique constante pour rester à jour. AWS se développe si rapidement que ce que vous savez aujourd'hui en un an ne fera partie que de votre portefeuille de connaissances global. Une fois que vous avez appris les bases, passez à un véritable ensemble de compétences. Veuillez noter qu'il y a 6 colonnes bleues au total (Configuration, Version, Emballage, Déploiement, Démarrage, Surveillance), une pour un mois d'étude.



Bien sûr, vous avez remarqué l'absence d'une étape importante dans notre pipeline de six mois - les tests. Je ne l'ai pas intentionnellement inclus dans la feuille de route, car l'écriture d'un module, les tests d'intégration et d'acceptation ne sont pas faciles et tombent traditionnellement sur les épaules des développeurs. Et l'omission de la phase «testing» s'explique par le fait que l'objectif de cette feuille de route est de maîtriser au plus vite les compétences et outils de base. Le manque d'expérience de test, selon l'auteur, n'est qu'un obstacle mineur au bon usage de DevOps.

De plus, rappelez-vous que nous n'étudions pas ici tout un tas de bavardages techniques non liés, mais que nous nous efforçons de comprendre les outils qui, en un seul paquet, créent une histoire compréhensible. Cette histoire est une automatisation de processus de bout en bout - un convoyeur numérique qui déplace les bits comme une chaîne de montage. Vous ne voulez pas apprendre un tas d'outils et vous arrêter constamment! La boîte à outils DevOps évolue rapidement et les concepts sont beaucoup moins courants. Par conséquent, vous devez vous efforcer d'utiliser des outils comme proxys de formation pour les concepts de niveau supérieur.

D'accord, creusons un peu plus profondément!

Connaissances fondamentales


Sous l'échelon supérieur avec les mots Fondation, vous voyez les compétences que chaque ingénieur DevOps doit maîtriser. Ces compétences sont la maîtrise des trois «piliers» de l'industrie, à savoir: le système d'exploitation, le langage de programmation et le cloud public. Ces choses ne sont pas quelque chose que vous pouvez rapidement connaître et aller plus loin. Ces compétences doivent constamment s'améliorer et affiner leurs compétences afin d'être à la pointe de l'industrie et de mettre à jour l'environnement professionnel qui vous entoure. Passons en revue à leur tour.

Linux est l'endroit où tout fonctionne. Pouvez-vous être un formidable praticien DevOps tout en restant pleinement dans l'écosystème Microsoft? Sûr que vous pouvez! Il n'y a pas de loi qui n'utiliserait que Linux. Cependant, gardez à l'esprit - malgré le fait que toutes les choses Linux peuvent également être faites sur Windows, cela se produit beaucoup plus douloureusement et avec moins de fonctionnalités. Pour le moment, nous pouvons supposer en toute sécurité que sans connaissance de Linux, il est impossible de devenir un véritable professionnel DevOps, donc Linux est ce que vous devez étudier et étudier.

Honnêtement, la meilleure façon de le faire est d'installer simplement Linux (Fedora ou Ubuntu) à la maison et de l'utiliser autant que possible. Bien sûr, vous allez casser un tas de choses, vous serez coincé dans les processus de travail, vous devrez tout réparer, mais vous apprendrez Linux!



Soit dit en passant, les variantes de RedHat sont plus courantes en Amérique du Nord, il est donc logique de commencer par Fedora ou CentOS. Si vous vous demandez si vous devez acheter KDE ou l'édition Gnome, sélectionnez KDE. C'est ce que Linus Torvalds lui-même utilise.

Python est le langage principal dominant de nos jours. Il est facile de commencer, il est largement utilisé. Python est très courant dans le domaine de l'intelligence artificielle et de l'apprentissage automatique, donc si jamais vous souhaitez vous déplacer dans un autre domaine d'activité chaud, vous y serez parfaitement préparé.



Amazon Web Services: Encore une fois, il est impossible de devenir un professionnel DevOps expérimenté sans une solide compréhension du fonctionnement du cloud public. Et si vous souhaitez en savoir plus, consultez Amazon Web Services. C'est un acteur de premier plan dans le domaine des services, qui propose l'ensemble d'outils de travail le plus riche.

Puis-je commencer avec Google Cloud ou Azure à la place? Sûr! Mais en se souvenant de la dernière crise financière, il convient de noter qu'AWS est l'option la plus sûre, au moins en 2018, car elle vous permet d'ouvrir un compte gratuitement et de commencer à explorer les capacités des services cloud. De plus, la console AWS fournit à l'utilisateur un menu de sélection simple et intuitif. La bonne nouvelle est que vous n'avez pas besoin de connaître toutes les technologies Amazon pour cela.



Commencez par les éléments suivants: VPC, EC2, IAM, S3, CloudWatch, ELB (Elastic Load Balancing sous le couvert d'EC2) et Security Group. Ces choses suffisent pour démarrer, et chaque entreprise moderne basée sur le cloud utilise activement ces outils. Le propre site de formation d'AWS est un bon endroit pour commencer.

Je vous recommande de passer 20 à 30 minutes par jour à apprendre et à pratiquer le langage Python, le système d'exploitation Linux et le service cloud AWS, en plus d'autres choses que vous devrez apprendre. En général, je pense que passer une heure par jour cinq fois par semaine est suffisant pour comprendre les processus de l'industrie DevOps pendant 6 mois ou moins. Il y a un total de 6 composantes principales, chacune correspondant à un mois de formation. C'est tout ce dont vous avez besoin pour acquérir des connaissances de base.
Dans les articles suivants, nous considérerons le niveau de complexité suivant: comment automatiser entièrement la configuration, la version, l'empaquetage, le déploiement, le lancement et la surveillance des logiciels.

Comment devenir ingénieur DevOps en six mois ou plus vite. Partie 2: Configuration

Un peu de publicité :)


Merci de rester avec nous. Aimez-vous nos articles? Vous voulez voir des matériaux plus intéressants? Soutenez-nous en passant une commande ou en recommandant à vos amis, le cloud VPS pour les développeurs à partir de 4,99 $ , un analogue unique de serveurs d'entrée de gamme que nous avons inventé pour vous: Toute la vérité sur VPS (KVM) E5-2697 v3 (6 cœurs) 10 Go DDR4 480 Go SSD 1 Gbit / s à partir de 19 $ ou comment diviser le serveur? (les options sont disponibles avec RAID1 et RAID10, jusqu'à 24 cœurs et jusqu'à 40 Go de DDR4).

Dell R730xd 2 fois moins cher au centre de données Equinix Tier IV à Amsterdam? Nous avons seulement 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV à partir de 199 $ aux Pays-Bas!Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - à partir de 99 $! En savoir plus sur la création d'un bâtiment d'infrastructure. classe c utilisant des serveurs Dell R730xd E5-2650 v4 coûtant 9 000 euros pour un sou?

All Articles