Une carrière de Site Reliability Engineer est devenue possible au début des années 2000, lorsque des professionnels de la technologie ont veillé à ce que le moteur de recherche Google soit plus fiable et plus évolutif à mesure que sa base d'utilisateurs augmentait. Aujourd'hui, les ingénieurs en fiabilité de sites sont des professionnels DevOps spécialisés dans la gestion des processus impliqués dans le fonctionnement des sites web. Ils jouent un rôle similaire à celui des ingénieurs DevOps, bien que les candidats à l'emploi puissent se démarquer en tant que SRE en se concentrant davantage sur le contrôle et l'assurance de la qualité.
Un Site Reliability Engineer (SRE), aussi appelé ingénieur de fiabilité de site en français, est une personne qui applique les pratiques de l'ingénierie logicielle aux tâches d'exploitation informatique afin de maintenir un environnement de production évolutif et fiable pour l'exécution de service logiciel.
L'objectif principal de cet ingénieur est de rationaliser la gestion de l'infrastructure informatique en utilisant le code, les logiciels et l'automatisation.
Il contribue à minimiser autant que possible les efforts manuels et à assurer la fiabilité du site afin que l'entreprise puisse exploiter une multitude de nouvelles applications et de nouveaux services en garantissant la fiabilité des sites et applications en question.
Un Site Reliability Engineer veille à ce qu'un site web existant fonctionne de manière fluide, efficace et fiable.
Cela est particulièrement important pour les sites web à grande échelle qui comptent un grand nombre d'utilisateurs et où les temps d'arrêt peuvent être extrêmement coûteux et perturber l'activité de l'entreprise.
L’emploi de SRE implique de travailler avec les développeurs, les clients et les unités commerciales pour comprendre leurs besoins et leurs attentes. Il crée ensuite une conception back-end de haute qualité qui garantit une meilleure convivialité pour les utilisateurs.
En outre, les SRE sont également chargés de créer des solutions et des processus de surveillance en cas de problème.
L’emploi de SRE exige une compréhension stratégique et pratique de plusieurs fonctions différentes.
Les SRE constituent une alternative durable et plus intelligente aux responsables traditionnels des technologies de l'information et des sites de produits, qui s'appuient sur des processus manuels et itératifs.
Pour améliorer le système existant, le Site Reliability Engineer doit développer un logiciel utile et adapté. Par exemple, un ingénieur en fiabilité de site peut être chargé de créer un outil d'alertes automatisées sur des dispositifs portables en partant de zéro.
L'escalade des incidents se produit lorsqu'un problème dans l'environnement de production ne peut être résolu par les interventions de niveau 1 et 2.
Les SRE interviennent donc à un stade plus avancé afin de pouvoir déployer des solutions innovantes pour résoudre les problèmes critiques. Ils doivent également documenter l'incident et développer des réponses automatisées pour éviter que des escalades similaires ne se produisent à l'avenir.
Travaillant régulièrement avec des équipes interfonctionnelles, l’ingénieur acquiert au fil du temps un corpus de connaissances considérables, qui n'est souvent pas documenté.
C'est pourquoi le SRE est chargé de mettre en place une documentation interne, des playbooks et d'autres référentiels de connaissances consolidées qui peuvent aider les équipes existantes et les futures personnes embauchées.
L'un des principes fondamentaux du Site Reliability Engineer est une "culture post-résolution". Cela signifie qu’il ne peut pas se contenter de clore un problème ou un incident une fois qu'il est résolu.
En effet, le SRE enquête sur les faits et les événements qui ont conduit à un incident afin d'éviter que des pannes similaires ne surviennent à nouveau.
Le SRE vise à assurer la disponibilité du service autant que possible. En effet, le SRE doit mettre en œuvre des techniques telles que les interrupteurs d'arrêt et les dérogations manuelles qui interviendront si une solution automatisée ne fonctionne pas correctement.
En règle générale, l’ingénieur est responsable d'un système de gestion de la charge à trois volets comprenant l'équilibrage de la charge, le délestage de la charge et la mise à l'échelle automatique.
Le Site Reliability Engineer doit concevoir des pipelines de traitement des datas qui convertissent ces ensembles de données fragmentés et non ordonnés en informations structurées afin d'alimenter les fonctions des applications ou d'éclairer la prise de décision.
Un des rôles du SRE est de gérer la configuration des produits logiciels, des ensembles de données et des systèmes de production qui exécutent les services.
La conception de la configuration doit donner la priorité à deux facteurs : la simplicité, afin que les futures équipes SRE puissent adapter le système avec un minimum d'efforts, et la fiabilité, pour que les utilisateurs puissent bénéficier d'une haute disponibilité et de services d'application ininterrompus.
D’après les différentes offres d’emploi, en France, le salaire annuel brut d’un Site Reliability Engineer débutant et en CDI s’élève à environ 50 000 euros.
Cependant, attention, ce salaire peut considérablement varier en fonction de la taille de l’entreprise par laquelle l’ingénieur est employé et de son expérience.
Sachez qu’après 20 ans d’expérience, le SRE peut toucher, en France, un salaire de plus de 90 000 euros brut par mois. À Paris et dans ses alentours, le revenu est 10 à 15 % supérieur par rapport aux autres régions de France.
Le Site Reliability Engineer peut aussi être en freelance. Si c’est le cas et qu’il vient de commencer sa carrière, son Taux Journalier Moyen varie entre 350 euros et 500 euros environ en province. Cela peut monter jusqu’à 600 euros à Paris et ses environs.
Site Reliability Engineer est un emploi qui demande un certain nombre d’aptitudes techniques, mais également comportementales.
Il existe plusieurs métiers similaires à l’emploi de Site Reliability Engineer. Parmi ces professions, on retrouve :
Si vous souhaitez vous reconvertir, vous pouvez aller consulter les offres d’emploi de ces métiers et jeter un œil sur leur processus de recrutement.
Maintenance et évolution de la plateforme Openshift 4
∠ Mise en place du Chaos engineering dans la plateforme Openshift
∠ Migration de la plateforme AWX vers Ansible Tower/AAP
∠ Prévention des risques liés à la sécurité des applications sous Openshift (mise en place Vault, Sentinel, OPA)
∠ Administration stockage Ceph
∠ Développement de playbooks Ansible pour le déploiement d’applications sur Openshift
∠ Développement de charts compatibles Openshift (Helm/gotpl)
∠ Gestion des incidents liés à l’ensemble des composants de la stack CI/CD
∠ Administration Gitlab CI
∠ Automatisation du déploiement des runners
Openshift Kubernetes Go Python Shell Gitlab Ansible Terraform Gitlab CI Ceph Harbor Litmus
Prometheus Thanos
Développement du processus de release management
∠ Mise en place de la code quality (semver, hooks, pre-commits, reject on lint failure, git flow)
∠ Développement de l’infrastructure vpod IAAS, PAAS, CAAS sur GCP / Azure via Terraform / Ansible
∠ Tests unitaires, tests d’intégration, créations de packages infra (Golang, Rust)
∠ Tests Kubernetes (Terratest)
∠ Déploiements charts Kubernetes (Helmfile)
∠ Containerisation d’outils liés aux besoins métiers
∠ Créations de macro-modules Terraform pour Azure / GCP
∠ Développement d’un outil d’administration des bases de données multi cloud-providers (Golang)
∠ Administration Jenkins
Kubernetes GCP Go Ansible Rust Terraform MS Azure Jenkins Python Nexus BitBucket git flow
Développement d’une pipeline d’ingestion de données (Golang)
∠ Développement de l’infrastructure immutable MS Azure dans Terraform
∠ Mise en place de services containerisés (Jupyter, Gitea, Nexus) dans Kubernetes
∠ Tests unitaires, tests d’intégration (Golang)
∠ Tests Terraform, Kubernetes (Terratest)
∠ Scripting Shell (custom jobs, scripts de configuration des instances)
∠ Hardenning des images de VM
∠ Firewalling Azure
∠ Evolution de l’architecture de la plateforme
Kubernetes Go Terraform Ansible MS Azure Azure Pipelines Packer Nexus Gitlab JupyterLab Gitea
golint shellcheck R Studio Python
Configuration de pipeline CI / CD (Jenkins, Travis)
∠ Containerisation d’applications via Docker.
∠ Déploiement automatisé via Terraform
∠ Centralisation/automatisation de la gestion du parc et du déploiement d’applications via Puppet/Foreman et Ansible (environ 900 Vms).
∠ Suivi et montée en compétence des collaborateurs de l’équipe
∠ Planification de l’activité du pôle
∠ MCO infra et applicative sur les serveurs et applications du pôle
∠ Participation aux phases de suivi (COTECH, présentations) des infogéreurs (EasyTeam, Proservia)
∠ Suivi et réalisation des projets du pôle Energie de la conception à la mise en production
∠ Administration des bases de données PostgreSQL
∠ Conception de référentiels et d’outils pour la DSI
VmWare vCenter RHEL PostgreSQL Oracle Bash Netapp Puppet Foreman Jenkins Terraform Ansible
Docker MS Azure Nexus Elastic Stack Sciencelogic Dynatrace Apache Tomcat SpringBoot
MCO (prise en charge des incidents de production, remédiation des alertes détectées par la supervision)
∠ Gestion des demandes
∠ Gestion de la MCO des machines Puppetisées et développements de modules Puppet
∠ Participation aux phases projets (rebranding TDE, Soprano, Toucan Toco)
∠ Scripting Bash, mise en place de routines automatisées
∠ Mise en place du Nuance Transcription Engine pour la partie Infra (GRP Awards 2019 B to C Winner |
Projet Soprano)
∠ Rédaction de procédures d’exploitation (DEX/MEX/KB)
∠ Référent Devops pour le pôle solution Energie
∠ Participation à l’astreinte exploitation et réalisation des mises en production
VmWare vCenter RHEL Netapp Bash Puppet Jenkins Ansible Docker MS Azure Elastic Stack Sciencelogic
Dynatrace Fortigate Cisco UCS Apache Tomcat SpringBoot
MCO (prise en charge des incidents de production, gestion des demandes)
∠ Filtrage applicatif next-gen (Palo Alto Networks)
∠ Mise en place de VPNs partenaires
∠ Filtrage externe (Watchguard)
∠ Prise en main de la supervision infra
∠ Administration des bornes Wifi
∠ Enrichissement de la base documentaire
VmWare vCenter RHEL Watchguard Palo Alto Networks Cisco Catalyst Netapp Puppet Jenkins Sciencelogic
Administrateur Systèmes pour CRÉDIT AGRICOLE AMUNDI
Au sein d’un site sécurisé destiné à la poursuite de l’activité en cas de sinistre, mon rôle a été d’assister le
RPCA du site en assurant la maintenance des installations informatiques en conditions opérationnelles.
∠ Reporting d’analyse des risques du SI
∠ Déploiement des images master en multicast
∠ Administration d’un serveur de production TinyCore Linux
∠ Planification de tâches (Cron, Anacron)
∠ Evolutions et corrections : analyse, conception et développement
∠ Scripting Bash, mise en place de conventions de code
∠ Rédaction des procédures techniques du master
VmWare vCenter Bash Tiny Core Linux Clonezilla HP Pro Desk 600 HP Elite Desk 800
Au sein de la Boutique IT du campus, j’ai été en charge de l’acceuil et du support technique des utilisateurs
des entités du Crédit Agricole. J’ai également accompagné les utilisateurs dans la prise en main de leur
environnement mixte (Citrix / Windows) lors des projets de migrations internes.
∠ Gestion des demandes et incidents Bureautique
∠ Masterisation de postes
∠ Administration VDI Citrix
∠ Scripting Powershell
Formations réalisées au cours de la mission :
∠ Conflits d’Intérêts FRA 14000
∠ Cybersecurity basics [2017] FRA 14000
∠ Secu’Training for Prod (Sécurité IT pour Ops) [2016]
VmWare Horizon Citrix Windows 7/10 Powershell DELL Latitude