Un ingénieur en fiabilité de site, ou SRE, est un rôle qui englobe à la fois des aspects de l’ingénierie logicielle et des opérations / infrastructures. Il englobe également une stratégie et un ensemble de pratiques et de principes à travers les offres de services et est étroitement lié à DevOps et aux opérations. Le terme ingénierie de fiabilité de site a vu le jour chez Google en 2003 lorsqu’une équipe de fiabilité de site a été créée. À cette époque, l’équipe était composée d’ingénieurs logiciels. Depuis lors, le concept d’ingénierie de fiabilité de site a évolué et a fait son chemin dans l’industrie plus large du développement de logiciels et est maintenant son propre rôle au sein des organisations.
Les ingénieurs en fiabilité du site comblent le fossé entre les opérations et les développeurs de logiciels. Bien qu’il n’existe pas d’approche unique de ce qu’un ingénieur en fiabilité de site fait d’une organisation à l’autre, de manière générale, la responsabilité d’un ingénieur en fiabilité de site peut englober un large éventail d’objectifs, tels que la gestion et la surveillance de la disponibilité du système, la latence, les performances, l’efficacité, la réponse aux incidents, ainsi que la planification de la capacité des services d’une organisation. Approfondissons ce sujet pour mieux comprendre ce rôle et son fonctionnement au sein des organisations.
Qu’est-ce que l’ingénierie de fiabilité de site ?
Pour y penser autrement, l’ingénierie de la fiabilité du site est l’endroit où le rôle informatique traditionnel, ou rôle d’administration système, et DevOps se rencontrent. Dans un environnement informatique traditionnel, les organisations peuvent avoir eu une équipe d’administrateurs système gérant des systèmes complexes. L’objectif et la responsabilité étant de s’assurer que le logiciel est déployé correctement et de fournir un service fiable aux utilisateurs finaux. En outre, leur rôle comprend la gestion des problèmes ou qui se produisent après le déploiement du logiciel.
Cependant, les administrateurs système ne se concentrent pas sur le développement logiciel réel, où les rôles de développement et d’administrateur système peuvent être en désaccord. Les développeurs se concentrent sur la production de logiciels et leur mise entre les mains des utilisateurs, pas nécessairement préoccupés par les aspects ou les effets du déploiement de logiciels. C’est à cette jonction qu’intervient le rôle d’ingénieur en fiabilité du site. Les ingénieurs en fiabilité du site se concentrent sur la création de systèmes logiciels évolutifs et fiables, ce qui inclut également de s’assurer que le travail de développement est efficace et fiable, de sorte que lorsque le produit fini est prêt pour la production, il n’y a pas de surprises.
Que fait un ingénieur en fiabilité de site ?
L’ingénierie de la fiabilité du site implique de partager le temps entre les opérations et le développement. Par exemple, un ingénieur en fiabilité de site peut être impliqué dans les tickets d’assistance, les incidents de garde, les tâches manuelles, etc. En plus de cela, un ingénieur en fiabilité de site peut également consacrer son temps à des projets proactifs, tels que l’automatisation, l’amélioration de la fiabilité du système, etc., en essayant de réduire la quantité de travail manuel et en s’assurant que tous les composants (infrastructure / matériel, middleware, logiciel, etc.) nécessaires pour maintenir les déploiements de logiciels en direct fonctionnent efficacement.
Quelles sont les responsabilités courantes du SRE?
Les responsabilités réelles de SRE varient d’une entreprise à l’autre, mais pour la plupart, une équipe SRE ou SRE est responsable de tous les aspects de ses offres de services et peut exiger une, toutes ou plus que les responsabilités suivantes énumérées ci-dessous:
- Planification de la capacité
- Disponibilité
- Performance
- Surveillance
- Intervention en cas d’incident
- Assistance sur appel
- Autopsie
Donc, comme vous pouvez le voir, un rôle SRE a tendance à être un touche-à-tout. Une minute, un SRE peut provisionner du stockage dans AWS, la minute suivante, un SRE peut avoir à parler aux clients ou à écrire du code Python pour un nouveau projet. Cela dépend vraiment du jour.
Quels outils les SRE utilisent-ils?
Les outils et les solutions logicielles que les ingénieurs en fiabilité de site peuvent varier considérablement d’une organisation à l’autre. L’une des principales raisons étant que dans les grandes organisations, il y aurait généralement plus de personnel au sein d’une équipe SRE, par conséquent, les responsabilités et la portée de chaque SRE seraient réparties entre l’équipe, ce qui se traduirait par un rôle plus ciblé. À son tour, cela réduirait également la gamme d’outils et de plates-formes qu’ils utiliseraient. Ainsi, par exemple, dans une grande entreprise, un SRE peut simplement travailler dans Jenkins toute la journée, tous les jours.
D’un autre côté, une équipe d’ingénierie de la fiabilité du site ou une personne dans une petite organisation peut avoir à porter beaucoup plus de chapeaux, car le personnel serait probablement limité, par conséquent, leur ensemble d’outils devrait inclure tout, des plates-formes de gestion de la configuration et des systèmes automatisés de réponse aux incidents aux outils de surveillance et d’analyse. Vous connaissez peut-être déjà certains des outils utilisés par un SRE, tels que Docker, Terraform, Prometheus et Kibana.
Lisez: Top 13 des outils SRE (Site Reliability Engineer)pour en savoir plus sur les outils les plus populaires que les ingénieurs en fiabilité de site utilisent aujourd’hui.
Où puis-je en savoir plus sur l’ingénierie de fiabilité de site ?
Le terme « ingénieur en fiabilité de site » est attribué à Ben Treynor Sloss, aujourd’hui vice-président de l’ingénierie chez Google. On lui a demandé en 2003 de créer et de gérer une équipe de sept ingénieurs, ce qui l’a finalement amené à créer le nouveau rôle / titre. Il existe quelques excellentes ressources en ligne écrites par Ben et plusieurs autres membres de l’équipe d’ingénierie de Google qui couvrent tout, des principes et principes des SRE, des rôles et responsabilités des SRE à l’évolution du rôle d’ingénierie de la fiabilité des sites et à sa position dans les environnements DevOps d’aujourd’hui. Il n’y a pas de meilleure façon d’en apprendre davantage sur l’ingénierie de la fiabilité du site que de l’individu et de l’organisation qui ont créé le rôle en premier lieu, n’est-ce pas ?
Il existe également une excellente liste de ressources d’ingénierie de fiabilité de site situées sur GitHub.
Conclusion : Qu’est-ce qu’un ingénieur en fiabilité de site (SRE) ?
Comme nous l’avons couvert, un SRE est plus que votre rôle traditionnel d’administrateur système ou d’exploitation. Un SRE utilise son vaste expérience et ses connaissances pour automatiser et créer des gains d’efficacité dans l’ensemble de ses services logiciels et de son organisation. Un bon SRE est quelqu’un qui est, dans l’ensemble, un excellent résolveur de problèmes. Ils n’ont pas nécessairement besoin d’être l’expert dans tout ce qu’ils font, mais ils doivent avoir une compréhension de nombreuses disciplines différentes et savoir quelles étapes et techniques effectuer lorsque des problèmes surviennent. Ils doivent également comprendre comment les différents rôles au sein de leur organisation travaillent ensemble afin de mener à bien efficacement les tâches et les projets. C’est comme assembler constamment un grand puzzle compliqué. Cela peut parfois être très frustrant et exigeant, et des pièces peuvent parfois disparaître, mais une fois que vous l’avez terminé, il y a beaucoup de fierté et d’accomplissement.
Dans le cadre de la responsabilité d’un SRE, la surveillance et l’observabilité sont un élément clé de ses fonctions. Les solutions de surveillance synthétique de Dotcom-Monitor permettent aux équipes SRE et DevOps de simuler et de surveiller les utilisateurs via un système ou un service. La plate-forme Dotcom-Monitor permet aux SDE de configurer des alertes de surveillance personnalisées et s’intègre aux plates-formes d’incidents et d’alertes telles que PagerDuty, VictorOps, AlertOps, ainsi que bien d’autres. En outre, les SDE peuvent afficher des tableaux de bord en temps réel, accéder à des rapports et examiner des analyses pour identifier rapidement les problèmes de performances. Il est essentiel pour les SRE et les équipes de surveiller en permanence l’intégrité des applications et de l’infrastructure afin de s’assurer de comprendre la fiabilité, l’accessibilité et les performances globales de leur infrastructure.
En savoir plus sur Dotcom-Monitor et sur la façon dont vous pouvez utiliser la plate-forme pour approfondir la surveillance et l’observabilité afin d’obtenir une meilleure compréhension de vos applications et de votre infrastructure.