Quelles compétences avoir pour faire du DevOPS ?

Quelles compétences avoir pour faire du DevOPS ?

Hello,

Quand tu es débutant en DevOPS (ou même que tu n'en as jamais fait), tu as tendance à surestimer les compétences nécessaires pour t'y mettre

Tu te dis qu'il faut connaitre plein de technos, savoir utiliser linux, connaitre le bash, maitriser git, organiser des CI/CD ...

Tu crois ça parce que tu vois énormément de ressources sur le sujet

  • Des gens super calés qui font ça depuis longtemps et donc qui parlent à des gens juste un peu moins experts qu'eux (et pas à des débutants)

  • Des gens qui vulgarisent le DevOPS mais à destination des Admin Sys

Ces personnes parlent de beaucoup d'outils, donnent des tutos hyper pointus

C'est très bien, mais ça te donne une fausse idée des prérequis nécessaires

Alors pourquoi tu n'as pas besoin de beaucoup de compétences pour mettre la main dans le DevOPS ?

Tout simplement, en apprenant à zoomer et dézoomer efficacement

et mettre la main dans le cambouis

Le DevOPS en superrésumé

Si on simplifie au max, quand le client veut une nouvelle app ou une nouvelle feature :

  • Il y a la partie Développement : ça les dev, ils connaissent

  • Il y a l’Intégration et Déploiement Continue : ça c'est souvent très flou

    • C'est comment tu buildes, tu testes, tu releases et tu déploies ton code pour le rendre disponible aux clients

  • Il y a la partie Maintien en Fonctionnement : et là c'est de la magie pure, ce sont les OPS qui s'y connaissent

    • C'est comment tu t'assures que ce que tu as déployé fonctionne comme attendu dans le temps

Le DevOPS vise à automatiser au maximum toutes ces tâches pour permettre d'augmenter la satisfaction de ton client

Tu vois, en dézoomant très fortement, on arrive à englober le concept de Devops

Oui, c'est pas hyper précis, oui, c'est pas totalement exact (et certains puristes vont avoir les poils hérissés )

Mais , c'est pas grave.

Faire ses premiers pas dans le DevOPS

Maintenant on peut zoomer sur une zone en particulier et mettre la main dans le cambouis.

Le pilier, je pense, pour commencer c'est la 2eme partie : Intégration et Déploiement Continue

En anglais : Continuous Integration and Continuous Deployment (qu'on abrège en CICD)

Elle est généralement composée de 4 parties :

  • Build :

    • Compiler le code si nécessaire

    • Créer des packages réutilisables

    • Vérifier qu'il n'y a pas d'erreurs de syntaxes ou de typos

  • Test :

    • Tester le code par rapport à la configuration, aux environnements et à des jeux de données

  • Release :

    • Vérifier que les conditions de déploiement sont ok

    • Envoyer sur les environnements de Dev et Recette/Pré-production

  • Deploy :

    • Passer en production le code tout simplement

Les 5 étapes pour passer à l'action dès maintenant :

1 - Identifie ton existant

Il y a bien un moment où tu te dis : "Ok, j'ai bien codé, il faut passer en production sur mon serveur"

À partir de cet instant, tu notes toutes les actions que tu fais

Des exemples :

  • Git pull de la branche qui va bien sur le serveur

  • Lancer telle commande pour run le build et/ou les tests

  • Copier/coller via stfp

  • Restarter le service Apache

Note toutes les étapes, le temps que ca te prend et les difficultés que tu as.

2 - Prends le truc le plus relou

Parmi toutes ces tâches, il y en a bien une qui te soule à fond

Celle que tu n’aimes pas faire, celle où tu te goures souvent, celle qui te prend le plus de temps

Je suis sûr que tu en as une qui te vient à l'esprit tout de suite

C’est celle-là que tu vas éliminer.

3 - Automatise son exécution

Maintenant, tu mets toute ton énergie à l'automatiser.

C'est à dire, tu sais ce que tu fais à la main, tu sais le résultat que ça doit donner.

Comment tu fais pour que ces actions à la mano puissent être faites en un coup par un script par exemple

On essaye pas d'optimiser maintenant, on veut juste automatiser.

Par exemple :

  • Pour copier le code sur mon VPS, tu fais une archive localement

  • Puis, tu ouvres Filezilla, tu me connectes en SFTP sur ton VPS

  • Puis, tu vas dans le bon dossier, tu y envoies ton archive

  • Puis tu te connectes en SSH, tu dézippes l'archive et tu donnes les bons droits aux fichiers

Ok, comment tu fais tout ça en un click (ou une ligne de commande ) pour avoir strictement le même résultat ?

C’est l’étape la plus magique. Tu vas devoir faire des recherches, apprendre des choses nouvelles. Ca marche parce que tu l’appliques à un cas concret.

Parfois, ca prendre du temps, ca va patauger, ca va pas fonctionner…

Mais c’est ici que tout se joue. Tu n’as pas besoin de pré-requis. Tu as juste besoin d’apprendre sur le tas.

4 - Automatise son déclenchement

Maintenant que la tâche la plus pénible est automatisée, c'est quand même à toi de déclencher cet automatisme à la main.

Tu peux te poser la question : comment tu déclenches automatiquement cet automatisme ?

Qu'est-ce qui fait que tu te dis : c'est le moment de pousser ton code sur ton VPS ? (si on reprend l’exemple)

Comment tu peux détecter que ce moment est arrivé automatiquement ?

Et ensuite tu essayes d'automatiser le déclenchement de l'automatisme 🤪

5 - Recommence

Et t'as fini, ta première itération sur ta CICD

Tu recommences ce mécanisme régulièrement

Tu vas te rendre compte en quelques semaines, tu comprends mieux la philosophie DevOPS

Mais pas que.

Tu comprends mieux les avantages, les limites, les challenges.

Tu comprends qu’il n’y a pas besoin de mettre en place des dizaines d’outils.

De nouvelles questions apparaissent et ta progression s'accélère.

Tu comprends que les itérations successives t’amènent plus loin que de grands plans jamais exécutés.

Voilà, voilà. A ton tour de jouer.

Imrane 🏖

PS : Je suis en pleine création d'une formation : le Starter Pack du DevOPS.

En 2h de temps, apprends tout ce qu'il faut savoir du DevOPS (dans son ensemble) pour passer des entretiens sereinement

Si ça t'intéresse d'en savoir plus, contacte-moi (en répondant à cet email ou en laissant un commentaire)

06/05/2022

Quelles compétences avoir pour faire du DevOPS ?

Quelles compétences avoir pour faire du DevOPS ? Quand tu es débutant en DevOPS (ou même que tu n'en as jamais fait), tu as tendance à surestimer les compétences nécessaires pour t'y mettre

Réalisé avec Formator.io