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

Целевая аудитория

Êtes-vous un développeur souhaitant orienter votre 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 bien vous n'êtes ni l'un ni l'autre et, après avoir travaillé quelque temps dans l'informatique, vous souhaitez changer de carrière et ne savez pas par où commencer ?
Si oui, continuez à lire pour découvrir comment devenir un ingénieur DevOps de niveau intermédiaire en six mois ! Enfin, si vous êtes impliqué dans DevOps depuis de nombreuses années, vous tirerez encore beaucoup de profit de cette série d'articles pour savoir où en est actuellement le secteur de l'intégration et de l'automatisation et où il se dirige.

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

De quoi s'agit-il?

Tout d’abord, qu’est-ce que DevOps ? Vous pouvez rechercher des définitions sur Google et parcourir tout le verbiage, 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 résumé de toutes ces définitions : DevOps est une méthode de livraison de logiciels dans laquelle le casse-tête et la responsabilité sont partagés entre toutes les personnes impliquées. C'est tout.

D'accord, mais que signifie cette abréviation ? Cela signifie que traditionnellement, les développeurs (les personnes qui créent des logiciels) ont été motivés à faire leur travail par des incitations très différentes de celles des opérations (les personnes qui gèrent les logiciels). Par exemple, en tant que développeur, je souhaite créer autant de nouvelles fonctionnalités le plus rapidement possible. Après tout, c’est mon travail et c’est ce que demandent les clients ! Cependant, si je suis un spécialiste des opérations, j'ai besoin du moins de nouvelles fonctionnalités possible, car chaque nouvelle fonctionnalité est un changement et tout changement est semé d'embûches. À la suite de ce désalignement des incitations, 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 qu’un groupe partagera désormais à la fois la douleur et la responsabilité (et probablement les récompenses) de la création, du déploiement et de la génération de revenus à partir de logiciels destinés aux clients.

Les puristes vous diront qu'il n'existe pas d'« ingénieur DevOps ». « Le DevOps est une culture, pas un rôle », vous diront-ils. Bien sûr, d'un point de vue technique, ils ont raison, mais, comme c'est le cas, C'est souvent le cas, le terme est devenu incontrôlable. Au-delà de son sens originel, un ingénieur DevOps est quelque chose comme un « ingénieur système 2.0 ». En d'autres termes, c'est quelqu'un 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 des problèmes opérationnels classiques.

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

DevOps signifie en fin de compte créer des pipelines numériques qui prennent le code de l'ordinateur portable d'un développeur et le transforment en revenus provenant de l'utilisation du produit final, c'est de cela qu'il s'agit. Notez que le choix d’une carrière DevOps est assez largement compensé par des récompenses financières, presque toutes les entreprises « faisant du DevOps » ou prétendant en être une. Quel que soit l'endroit où se trouvent ces entreprises, les opportunités d'emploi globales dans le domaine DevOps sont assez élevées et offrent un emploi « amusant » et significatif pour de nombreuses années à venir.

Cependant, méfiez-vous des entreprises qui embauchent une « équipe DevOps » ou un « département DevOps ». À strictement parler, de telles choses ne devraient pas exister, car en fin de compte, DevOps est toujours une culture et une manière de fournir des logiciels, et non de doter une nouvelle équipe ou de créer un département avec un nom fantaisiste.

Déni de responsabilité

Maintenant, mettons le verre de Kool-Aid de côté un instant et réfléchissons à ce qui suit. Avez-vous entendu le vieil adage « il n'y a pas d'ingénieurs DevOps juniors ? » Sinon, sachez qu'il s'agit d'un trope populaire sur Reddit et StackOverflow. Mais qu'est-ce que ça veut dire?

En termes simples, cette expression 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’existe pas de raccourci pour atteindre cet objectif. Il ne s’agit donc pas d’une tentative de jouer avec le système – je ne pense pas qu’il soit réellement possible de prétendre être un ingénieur DevOps senior avec quelques mois d’expérience dans l’industrie. Parvenir à une solide compréhension des outils et des méthodologies en évolution rapide nécessite des années d’expérience, et il n’y a aucun moyen de contourner ce problème. Cependant, il existe un menu presque cohérent (à la mode, si vous voulez) d'outils et de concepts que la plupart des entreprises utilisent, et c'est de cela dont nous allons parler.

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 (enquête, réseautage, communication écrite, dépannage, etc.). Plus important encore, ne perdez pas de vue ce que nous voulons trouver : un moyen de créer un pipeline numérique entièrement automatisé qui prend les idées et les transforme en morceaux de code générateurs de revenus. C’est la conclusion la plus importante de tout cet article !

Assez bavardé, 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 en toute sécurité et honnêtement un ingénieur DevOps ! Ou un ingénieur cloud si vous n'aimez pas le nom « DevOps ».

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

Cette carte représente mon idée (et probablement celle de 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 ceux qui ne seront pas d’accord avec elle. C'est bon! Nous ne recherchons pas ici la perfection, nous recherchons une base solide sur laquelle nous pouvons réellement construire.

Vous devez parcourir ce chemin progressivement, couche par couche. Commençons (et continuons !) par les principes fondamentaux en découvrant d'abord les éléments en bleu : Linux, Python et AWS. Ensuite, si le temps ou la demande du marché du travail le permettent, faites les choses violettes : Golang et Google Cloud.

Honnêtement, la couche supérieure fondamentale est quelque chose que vous devrez étudier pour toujours. Le système d'exploitation Linux est très complexe et prend des années à maîtriser. Python nécessite une pratique constante pour rester à jour. AWS évolue si rapidement que ce que vous savez aujourd'hui ne fera partie de votre portefeuille global de connaissances que dans un an. Une fois que vous avez appris les bases, passez aux compétences réelles. Veuillez noter qu'il y a au total 6 colonnes bleues (Configuration, Version, Packaging, Déploiement, Lancement, Surveillance), une par mois d'étude.

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

Vous avez bien sûr remarqué l'absence d'une étape importante dans notre pipeline de six mois : les tests. Je ne l'ai délibérément pas 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 incombent traditionnellement aux développeurs. Et sauter l’étape « test » s’explique par le fait que l’objectif de cette feuille de route est de maîtriser le plus rapidement possible les compétences et outils de base. Le manque d’expérience en matière de tests, selon l’auteur, n’est qu’un obstacle mineur à l’utilisation correcte de DevOps.

N'oubliez pas non plus que nous n'apprenons pas ici tout un tas de bavardages techniques sans rapport, mais plutôt une compréhension des outils qui s'assemblent pour créer une histoire claire. Cette histoire concerne l'automatisation des processus de bout en bout : une chaîne d'assemblage numérique qui déplace les éléments comme une chaîne d'assemblage. Vous ne voulez pas apprendre un tas d’outils et continuer à vous arrêter ! Les outils DevOps évoluent rapidement, mais les concepts changent beaucoup moins fréquemment. Par conséquent, vous devez vous efforcer d’utiliser des outils comme substituts pédagogiques pour les concepts de niveau supérieur.

Bon, creusons un peu plus !

Connaissances fondamentales

Sous l'étape supérieure indiquant Foundation, vous pouvez voir les compétences que chaque ingénieur DevOps doit maîtriser. Ces compétences permettent de maîtriser en toute confiance les trois piliers de l'industrie que sont : le système d'exploitation, le langage de programmation et le cloud public. Ces choses ne peuvent pas être apprises et progressées rapidement. Ces compétences doivent être constamment améliorées et maîtrisées afin d’être à la pointe de l’industrie et pertinentes pour l’environnement professionnel qui vous entoure. Passons-les un par un.

Linux est l'endroit où tout fonctionne. Pouvez-vous être un excellent praticien DevOps tout en restant entièrement au sein de l’écosystème Microsoft ? Sûr que vous pouvez! Aucune loi n’exige que vous utilisiez uniquement Linux. Cependant, gardez à l'esprit que même si toutes les tâches liées à Linux peuvent être effectuées sous Windows, cela s'y produit de manière beaucoup plus douloureuse et avec moins de fonctionnalités. À ce stade, on peut supposer que sans connaître Linux, il est impossible de devenir un véritable professionnel du DevOps. Linux est donc quelque chose que vous devriez étudier et apprendre.

Honnêtement, la meilleure façon d’y parvenir est simplement d’installer Linux (Fedora ou Ubuntu) chez soi et de l’utiliser autant que possible. Bien sûr, vous casserez beaucoup de choses, vous resterez coincé dans des processus de travail, vous devrez tout réparer, mais vous apprendrez Linux !

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

À propos, 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 l'édition KDE ou Gnome, choisissez KDE. C'est ce qu'utilise Linus Torvalds lui-même.

Python est le langage back-end dominant de nos jours. Il est facile de démarrer et 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 lancer dans un autre domaine brûlant, vous serez parfaitement préparé.

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

Amazon Web Services : Encore une fois, il est impossible de devenir un professionnel chevronné du DevOps sans une solide compréhension du fonctionnement du cloud public. Et si vous souhaitez en savoir plus, consultez Amazon Web Services. Elle est un acteur leader dans ce domaine de services et propose l'ensemble d'outils de travail le plus riche.

Est-il possible de démarrer avec Google Cloud ou Azure à la place ? Bien sûr vous pouvez! Mais en rappelant 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 permet de créer un compte gratuitement et de commencer à explorer les possibilités des services cloud. De plus, la console AWS fournit à l'utilisateur un menu simple et clair parmi lequel choisir. La bonne nouvelle est que vous n'avez pas besoin de connaître toutes les technologies d'Amazon pour ce faire.

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

Commencez par les éléments suivants : VPC, EC2, IAM, S3, CloudWatch, ELB (Elastic Load Balancing sous l'égide d'EC2) et Security Group. Ces éléments suffisent pour vous aider à démarrer, et chaque entreprise moderne basée sur le cloud utilise ces outils de manière très active. Le site de formation d'AWS est un bon point de départ.

Je vous recommande de consacrer 20 à 30 minutes chaque jour à apprendre et à vous entraîner avec le langage Python, le système d'exploitation Linux et le service cloud AWS, en plus d'autres choses que vous devrez apprendre. Dans l'ensemble, je pense que passer une heure par jour, cinq fois par semaine, suffit pour comprendre le secteur DevOps en 6 mois ou moins. Il y a au total 6 volets principaux, chacun 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 examinerons le prochain niveau de complexité : comment automatiser entièrement la configuration, la gestion des versions, le packaging, le déploiement, l'exécution et la surveillance des logiciels.

A suivre très prochainement...

Quelques publicités 🙂

Merci de rester avec nous. Vous aimez nos articles ? Vous voulez voir du contenu plus intéressant ? Soutenez-nous en passant une commande ou en recommandant à vos amis, cloud VPS pour les développeurs à partir de 4.99 $, un analogue unique des serveurs d'entrée de gamme, que nous avons inventé pour vous : Toute la vérité sur le VPS (KVM) E5-2697 v3 (6 Cores) 10Go DDR4 480Go SSD 1Gbps à partir de 19$ ou comment partager un serveur ? (disponible avec RAID1 et RAID10, jusqu'à 24 cœurs et jusqu'à 40 Go de DDR4).

Dell R730xd 2 fois moins cher dans le centre de données Equinix Tier IV à Amsterdam ? Ici 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 Comment construire une infrastructure corp. classe avec l'utilisation de serveurs Dell R730xd E5-2650 v4 qui valent 9000 XNUMX euros pour un sou ?

Source: habr.com

Ajouter un commentaire