Site Reliability Engineer (SRE)
Ubisoft Montréal, Montreal, Canada - hybrid
Dec 2024 – present
Perforce Backup System
Distributed Infrastructure · Restic · ~200 instances · ~1.3 PB
- Compared Kopia and Restic on three representative production projects; restore times, rather than the backup window alone, drove the recommendation to adopt Restic, approved by leadership.
- Perforce is the version control system used to manage large game-development assets. Designed distributed backup and recovery infrastructure for ~200 Perforce instances (~1.3 PB of source data, ~940 TB backed up), with per-instance scheduling and execution and a separate Restic repository and Azure container per instance to limit the impact of a repository failure.
- Chef generates Resticprofile configurations and systemd timers from declared configuration; checks of real backup paths, consecutive-failure alerts, and Vault access via Azure Arc Managed Identity support operations without persistent Azure credentials on servers.
- Led the production rollout and handover to the Ops team with runbooks and a restore guide; the solution reduced backup costs by about 87%, or roughly US$1M/year.
Perforce Backup Replication
Azure Functions · Python · ~940 TB · Disaster Recovery
- Designed an independent copy of ~940 TB of backups across two Azure region pairs (four regions), with monthly delta synchronization and Cool/Archive tiering.
- Durable Functions persists orchestration state for cycles that can last several days; bounded AzCopy concurrency, sharding, and checkpoints enable partial recovery. Locked repositories are requeued.
- Managed Identity authenticates the runtime and OIDC the CI/CD pipeline; Terraform and GitLab CI/CD deliver the infrastructure, backed by unit tests and Azurite scenarios.
- Weighed GRS (less software to operate) against a lower-cost independent copy for this scope, accepting responsibility for testing, monitoring, and recovering a custom pipeline.
Disaster Recovery Workflow
GitLab CI/CD · Azure Blob Storage · Disaster Recovery
- Implemented a GitLab CI/CD workflow that prepares an instance for restore from replicated storage: rehydrates Archive data when required, transfers the repository to dedicated storage, and restores the Perforce instance with Restic.
db-backup Azure Migration
Azure Blob Storage · Kubernetes · AKS
- Migrated db-backup storage from OpenStack to Azure Blob Storage, then moved the Kubernetes platform to AKS through Ubisoft's internal Kubernetes infrastructure, adapting the API and Kubernetes components.
Working Method
Claude Code · Architecture · Acceptance Criteria · Targeted Reviews
- For Perforce Backup System and Replication, I defined the architecture, constraints, and acceptance criteria, then used Claude Code as a coding agent for implementation, testing, and documentation, with targeted reviews and validation before production rollout.