Senior Site Reliability Engineer (SRE)

Etienne Dallard

Conception d’infrastructures cloud fiables et de systèmes distribués à grande échelle

  • 10 ansLinux · DevOps · SRE
  • ~1 PoSystèmes distribués · Sauvegarde · Reprise
  • Azure · OpenStack · KubernetesTerraform · Python · Go · GitLab CI/CD

Profil

Avec 10 ans d’expérience en infrastructures Linux, DevOps et SRE, mon parcours va de l’administration de systèmes et d’infrastructures datacenter à la conception, l’automatisation et l’exploitation d’infrastructures cloud et de systèmes distribués.

J’ai une expérience de production sur Azure et OpenStack, avec Kubernetes, Terraform, Python et Go. Mes principaux domaines d’intervention sont la fiabilité, l’automatisation, l’observabilité, la sécurité et les mécanismes de reprise.

J’apprécie particulièrement les problèmes qui nécessitent de comprendre l’existant, d’évaluer plusieurs approches, de construire un POC et de prendre des décisions d’architecture en tenant compte des contraintes techniques, opérationnelles et financières.

Mon approche reste hands-on, de la compréhension de l’existant à la conception, la mise en production et l’exploitation dans la durée, avec une attention particulière à la fiabilité, à l’opérabilité et à l’amélioration continue des systèmes.

Les projets présentés ici illustrent cette approche à travers les architectures retenues, les décisions techniques, les compromis et les résultats obtenus.

Expérience professionnelle

Site Reliability Engineer (SRE)

Ubisoft Montréal, Montréal (Canada), hybride

déc. 2024 – aujourd'hui

Perforce Backup System →

Infrastructure distribuée · Restic · ~200 instances · ~1,3 PB

  • Comparé Kopia et Restic sur trois projets de production représentatifs ; les temps de restauration, plutôt que la seule fenêtre de sauvegarde, ont guidé la recommandation Restic validée par la direction.
  • Perforce est le système de gestion de versions utilisé pour les fichiers volumineux de production des jeux. Conçu une infrastructure distribuée de sauvegarde et de reprise pour ~200 instances Perforce (~1,3 PB de données sources, ~940 To sauvegardés), avec planification et exécution par instance, un dépôt Restic et un conteneur Azure par instance pour limiter l'impact d'un dépôt défaillant.
  • Chef génère les profils Resticprofile et timers systemd depuis la configuration déclarée ; validation des chemins réels, alertes sur les échecs consécutifs et accès à Vault via Azure Arc Managed Identity facilitent l'exploitation sans identifiant Azure persistant sur les serveurs.
  • Piloté la mise en production, puis la passation à l'équipe Ops avec runbooks et guide de restauration ; la solution a réduit les coûts de sauvegarde d'environ 87 %, soit un ordre de grandeur de 1 M$US/an.

Perforce Backup Replication →

Azure Functions · Python · ~940 To · Disaster Recovery

  • Conçu une copie indépendante d'environ 940 To de sauvegardes sur deux paires de régions Azure (4 régions), avec synchronisation mensuelle des écarts et gestion des niveaux Cool/Archive.
  • Durable Functions conserve l’état d’orchestration des cycles pouvant durer plusieurs jours ; le nombre de transferts AzCopy simultanés est limité, et le découpage en shards avec checkpoints permet une reprise partielle. Les dépôts verrouillés sont remis en file.
  • Le runtime s'authentifie via Managed Identity, la CI/CD via OIDC ; Terraform et GitLab CI/CD déploient le pipeline, couvert par des tests unitaires et des scénarios Azurite.
  • Comparé GRS à une réplication applicative indépendante, moins coûteuse pour ce périmètre, au prix d’un pipeline spécifique à tester, superviser et maintenir.

Workflow de reprise

GitLab CI/CD · Azure Blob Storage · Disaster Recovery

  • Processus GitLab CI/CD préparant la restauration d'une instance depuis le stockage répliqué : réhydratation Archive si nécessaire, transfert du repository vers un compte de stockage dédié, puis restauration de l'instance Perforce avec Restic.

Migration db-backup vers Azure

Azure Blob Storage · Kubernetes · AKS

  • Migré le stockage db-backup d'OpenStack vers Azure Blob Storage, puis la plateforme Kubernetes vers AKS via l'infrastructure Kubernetes interne Ubisoft, avec adaptation de l'API et des composants Kubernetes.

Méthode de travail

Claude Code · Architecture · Critères d'acceptation · Revues ciblées

  • Pour Perforce Backup System et Replication, j'ai défini l'architecture, les contraintes et les critères d'acceptation, puis utilisé Claude Code comme coding agent pour l'implémentation, les tests et la documentation, avec des revues ciblées et une validation avant la mise en production.

DevOps & Infrastructure Engineer

Ubisoft Montréal, Montréal (Canada), hybride

nov. 2020 – nov. 2024

db-backup →

Python/Django · Go · Ansible · Kubernetes · Backup Platform

  • Contribué au développement de db-backup et à sa mise en production, puis pris la responsabilité principale du service. La plateforme centralisée couvrait ~190 serveurs Redis/MySQL, remplaçait rsync/NAS + NetBackup et générait plus de 200 k$US/an d'économies.
  • L'API Django REST centralisait les demandes et l'état des sauvegardes ; les CronJobs Kubernetes planifiaient leur exécution, confiée aux playbooks Ansible pour MySQL et Redis. La CLI Go réutilisait le même contrat ; Vault gérait les secrets, et les métriques et tableaux de bord rendaient le service observable.
  • Maintenu et fait évoluer l'API, la CLI, les playbooks et les composants Kubernetes ; automatisé les tests de restauration puis de sauvegarde dans GitLab CI/CD sur de vraies instances, avec validation hebdomadaire sur des données de production dans des VM OpenStack provisionnées avec Terraform.

Services internes

Kubernetes · OpenStack · Prometheus/Grafana · NCSA · EMEA · APAC

  • Résolu plus de 300 incidents d'exploitation liés à db-backup (échecs de sauvegarde, rotation de credentials, capacité stockage) et aux services d'infrastructure, couvrant les régions NCSA, EMEA et APAC.
  • Exploité des environnements Kubernetes et OpenStack et contribué aux changements d'infrastructure.
  • Contribué à l'évolution de la supervision et des alertes avec Prometheus, Alertmanager, Grafana et Zabbix.

Modernisation CentOS 7 → Rocky 9

Linux · Migration · 3 régions

  • Migré l'ensemble des jump servers Linux (8 serveurs, 3 zones : NCSA, EMEA, APAC ) et les serveurs MySQL de production de CentOS 7 vers Rocky 9, avec transfert d'IP à chaud sans interruption de service.

Automatisation de la résolution d'incidents

StackStorm · R&D · Event-driven automation

  • Mené une démarche de R&D pour identifier un outil d'automatisation de la résolution d'incidents ; sélectionné StackStorm, réalisé un POC et présenté une démonstration au manager.
  • Une autre équipe a ensuite développé le POC en service de production, toujours utilisé par le Command Center.

Administrateur Systèmes Linux & Infrastructure

Ubisoft Montréal, Montréal (Canada), hybride

mars 2017 – nov. 2020

Services internes & game servers

~300 serveurs · 3 régions · 21 incidents P1/P2 jeux live

  • Administré et automatisé via Chef et Cfengine plusieurs centaines de serveurs Linux (CentOS/RHEL) sur VMs OpenStack/VMware et bare metal, répartis sur trois régions (NCSA, APAC, EMEA).
  • Diagnostiqué et résolu des incidents de production sur des services de jeux en ligne (Redis, MySQL, MongoDB, Couchbase, PowerDNS, Varnish, JumpServer), notamment des dégradations CCU sur des titres live tels que Watch Dogs, Rocksmith, AirMech, Just Dance et Assassin's Creed.
  • Géré les opérations de sécurité et de réseau (certificats SSL/TLS, DNS/GeoDNS/PowerDNS avec migrations inter-datacenters, load balancers), l'astreinte mondiale et les accès SVN des équipes de développement.
  • Mis en place la supervision avec Zabbix ; réalisé des migrations Linux et applicatives et participé au provisionnement/décommissionnement de serveurs (~37 opérations).

Transmission & montée en compétences

Onboarding · Transfert de connaissances · Recrutement

  • Formé les nouveaux membres de l'équipe, assuré le transfert de connaissances et participé aux entretiens techniques de recrutement.

Administrateur Système Linux

Mikros Image Canada, Montréal (Canada)

mars 2016 – mars 2017

Render farm & infrastructure datacenter

~1300 nœuds administrés · 40 serveurs bare metal

  • Administré une render farm Linux d’environ 1 300 nœuds et déployé 40 serveurs bare metal en datacenter pour les besoins de calcul 3D/2D du studio : câblage physique, installation Linux, configuration réseau et mise en production
  • Administré des serveurs CentOS6/RHEL hébergeant des services critiques (LDAP, FreePBX, Puppet, serveur d'images PXE, sauvegardes déportées)
  • Géré le stockage Hitachi NAS (migrations de données, snapshots, diagnostic de performance) et l'infrastructure réseau Extreme Networks (installation, mises à jour)
  • Assuré le support technique de niveaux 1 à 3 sur un parc mixte Linux/Windows/macOS, formé les utilisateurs (Fedora 20/XFCE) et géré le contrôle d'accès du site (Centaur)

Administrateur système et réseau

Groupe Rodeus, Montréal (Canada)

2013 - 2016

Administration Windows & réseaux clients

Windows Server 2008/2012 · Active Directory · DHCP, NAT, DMZ

  • Administré Windows Server 2008/2012, Active Directory, Exchange et la virtualisation VMware ESXi 5.5.
  • Interventions sur site et à distance : installations, migrations, réseau (DHCP, NAT, DMZ) et support N1/N2.

Ce que l’équipe peut attendre de moi

Je prends volontiers la responsabilité de sujets complexes, sans pour autant travailler en silo. J’aime comprendre le problème, partager les options et construire une solution dans laquelle l’équipe peut avoir confiance.

Prendre les sujets en main, sans ego

Je prends en charge les sujets jusqu’au bout : analyse, POC, mise en production, tests, documentation et passation. Je demande de l’aide quand elle est utile et je partage ce que j’apprends.

Du calme quand ça se complique

Les délais serrés et les zones d’incertitude demandent surtout de la méthode. Je garde le cap sur la qualité, les risques et la livraison, même lorsque plusieurs chantiers avancent en parallèle.

Une présence positive dans l’équipe

Je participe activement aux discussions et j’essaie d’apporter des idées concrètes. J’accorde aussi de l’importance à la bonne humeur et à l’humour : les sujets peuvent être sérieux sans rendre le travail pesant.

Études de cas : plateformes critiques

Ingénierie de production

Du POC à la passation : architecture, automatisation, mise en production, observabilité et sécurité de systèmes à grande échelle.

Système critique

Perforce Backup System : remplacer NetBackup sur ~200 instances

2025 - 2026 · Architecte et lead technique du projet : POC, architecture, développement, mise en production, passation

Infrastructure distribuée de sauvegarde et de reprise : du POC comparatif Kopia/Restic à la production sur ~200 instances Perforce (~1,3 Po de données sources, ~940 To sauvegardés).

  • ~200instances au périmètre global
  • ~1,3 Podonnées sources
  • ~940 Tosauvegardés

Technologies

  • Restic
  • Resticprofile
  • Python
  • Chef
  • systemd
  • Azure Blob Storage

Voir l'étude de cas →

Système critique

Perforce Backup Replication : ~940 To sur quatre régions Azure

2026 · Conception et développement, à la demande du Security Risk Management

Infrastructure de reprise interrégionale : copies indépendantes de ~940 To de sauvegardes Restic sur deux paires de régions Azure, avec synchronisation mensuelle des changements depuis le cycle précédent.

  • ~940 Tode sauvegardes couvertes par la réplication
  • 4régions Azure
  • 41tests automatisés

Technologies

  • Python 3.13
  • Azure Functions
  • Durable Functions
  • AzCopy
  • Terraform
  • Azure Blob Storage

Voir l'étude de cas →

Système critique

db-backup : plateforme de sauvegarde Redis & MySQL

2021 - 2025 · Contribution à un projet existant, mise en production, puis responsabilité principale du service

Plateforme interne automatisant la sauvegarde, le stockage, la rétention, la validation et la restauration de bases MySQL et Redis sur Kubernetes.

  • ~190serveurs Redis/MySQL
  • 2moteurs de bases de données
  • ~200 000 $ US/and'économies (service)

Technologies

  • Python
  • Django REST
  • Go
  • Ansible
  • Kubernetes
  • Helm

Voir l'étude de cas →

Toutes les études de cas

Expertise

Cloud & Infrastructure

  • Linux
  • Azure (production)
  • Kubernetes (CKA)
  • Docker
  • OpenStack
  • Terraform
  • Helm

SRE & Observabilité

  • Prometheus
  • Grafana
  • Alertmanager
  • Azure Monitor / Log Analytics
  • Elasticsearch / Kibana
  • Gestion d’incidents

Automatisation & Ingénierie

  • Python
  • Go
  • Bash
  • Ansible
  • Chef
  • GitLab CI/CD
  • API REST

Sécurité

  • OIDC
  • Workload Identity Federation
  • Managed Identity
  • HashiCorp Vault
  • Gestion des secrets
  • Moindre privilège
  • Isolation réseau

Systèmes distribués & Stockage

  • Restic
  • Azure Blob Storage
  • Stockage objet
  • Sauvegarde / reprise à l’échelle du pétaoctet
  • Réplication interrégionale
  • Cycle de vie / gestion des tiers
  • Fan-out / sharding

Outils & Automatisation personnelle

  • Claude Code
  • Coding agents

Contributions open source

Kopia

PR ouverte : ajout de l’authentification Microsoft Entra ID (anciennement Azure AD) au backend Azure Blob Storage de Kopia via Managed Identity, Service Principal et Azure CLI, avec plusieurs itérations à la suite des revues de code.

Statut : PR ouverte

https://github.com/kopia/kopia/pull/4797

Restic

Correctif intégré à Restic : migration de l’APIKey OpenStack Swift vers SecretString afin d’empêcher son exposition potentielle dans les journaux de débogage.

Statut : Intégré à Restic

https://github.com/restic/restic/pull/22007

Expérience antérieure

Formation

Certifications et concours

Formations professionnelles

Langues

Contact