Dans cette article, nous allons aborder la thématique DevOps/SRE, si vous lisez actuellement cette article c’est que vous avez eu probablement connaissance de ces métiers voire même que vous exercer.
Ces deux cultures ont des bonnes pratiques et on su se faire une place dans le monde de l’IT dans bon nombre d’entreprises ces dernières années.
Random Guy : Alors SRE et DevOps sont vraiment différents ou on leur a juste affecter des noms différents pour faire jolie ?
Lisez cette article jusqu’à la fin, et lorsque vous serez en recherche d’emploi ou que vous croiserez des personnes travaillant en tant que SRE ou DevOps, vous comprendrez mieux leurs métiers et sur quels sujets ils sont amenés à travailler.
Qu’est ce que le DevOps ?
Tout d’abord avant de définir le DevOps en détail, si on décortique le terme « DevOps » on retrouve d’un côté « Dev » pour « Développeurs » et « Ops » pour « Opérationnels« , on a donc deux équipes, deux domaines dans ce même domaine alors Pourquoi ?
Originellement cette méthodologie de travail est apparu dans le but de rassembler les développeurs et les opérationnels afin de créer une synergie et améliorer le travail en équipe et ainsi livrer un produit le plus rapidement et efficacement possible.
Cette méthode de travail prend donc une approche à la fois de développement mais aussi opérationnel bien que la partie développement reste plus exploité. Le cheminement du produit dans le DevOps passe du test du produit jusqu’à sa livraison et son fonctionnement opérationnel.
Vous avez compris jusque là c’est une fusion entre les équipes de développement et les équipes d’opérations. L’idée avec cette méthodologie est d’améliorer plusieurs aspects :
- Une meilleure communication
- Automatiser un maximum de tâche de déploiement
- Accélérer les livraisons des produits
- Optimiser le temps de développement du produit
- Maintenir le code une fois en production
Puisque l’idée est d’avoir des livraisons rapide en continu, on a donc plusieurs livraisons, il devient donc plus facile de faire un retour en arrière si jamais un problème venait à survenir avec l’une des livraisons.
Remarque : Entre chaque livraison dans les bonnes pratiques, on essaye de ne pas trop d’ajouter de features pour ne pas avoir un différentielle de changement trop important d’une livraison à une autre.
Qu’est ce que le SRE (Site Reliability Engineering) ?
Cette appelation est apparu en 2003, ce métier a été créer dans le but d’apporter une aide aux développeurs et de maintenir en condition opérationnelle et de mettre à l’échelle de grosses applications.
Le SRE est responsable de la mise en œuvre du produit développé par l’équipe de développement.
L’objectif principal des SRE est de mettre en œuvre et d’automatiser les processus de déploiement afin de réduire le nombre d’incidents et d’améliorer la fiabilité et la scalabilité du produit.
Les SRE sont également chargés d’envoyer les feedbacks rapide et constant à l’équipe de développement sur la base des mesures de performances en production, pour prévenir les futurs incidents et donc améliorer le produit.
Les maitres mots d’un SRE sont donc :
- Résilience
- Fiabilité
- Mise à l’échelle (scaling)
- Automatisation
- Réduire le nombre d’incidents et savoir les prévenir
L’équipe SRE doit travailler en étroite collaboration avec les développeurs afin de répondre à leurs besoins.
Quels sont les différences entre une équipe SRE et une équipe DevOps ?
Pour simplifier la compréhension des différences des deux domaines j’ai décidé de faire un petit tableau récap des différences…
DevOps | SRE | |
Rôle | L’ingénieur DevOps va se concentrer sur les problèmes liées au développement et mettre en place des process de sorte à rendre le produit qualitatif et efficace. | L’ingénieur SRE va s’occuper de problème lié à l’opérationnel, par exemple les incidents en prodution, infrastructure, sécurité, supervision etc… |
Axe de réflexion | Aider au développement du produit, Intégration continue/ Déploiement continu | Rendre l’infrastructure résiliente, Optimisation de l’infrastrucure, Maintenance en condition opérationnelle |
Bugs | Le DevOps se doit de corriger les bugs liés aux logiciels/produits en production. | Le SRE quant à lui n’est pas dans l’obligation de débugger du code en production mais se doit de corriger les bugs liées à l’infrastructure. |
Réflexion lors de résolution d’incidents | La réflexion est axé sur le retour des incidents survenues afin d’atténuer le problème. Il se doit aussi de documenter ses découvertes. | Réflexion plus axé post-incident et déterminer les root cause des différents problèmes survenues. Enfin bien sûr le tout doit être documenté. |
Une petite conclusion…
C’est un peu compliqué dans l’ère dans laquelle on vit de comprendre certains nouveaux métiers, et c’est tout à fait normal on vit dans un monde où les choses évoluent à une vitesse folle!
La prochaine fois qu’on vous posera la question sur ses domaines vous avez les billes pour leur apporter une réponse.