Case study
Onboarding a new customer without manual intervention
The problem
Each new customer on the SaaS platform came with its own set of virtual machines to create on Azure, sized to its volume. The procedure was entirely manual: provisioning, networking, domain join, access rights, backup, monitoring, repeated as many times as there were machines to deliver.
Three to five hours of work for every new customer, depending on its size. A two-person IT team, and that time taken straight out of day-to-day operations.
The least visible cost was not time. A procedure repeated by hand produces configurations that drift: nothing guaranteed that two customers delivered six months apart were running on the same baseline, which made every incident investigation longer.
Before
by hand, one machine at a time
| Provisioning | |
|---|---|
| Networking | |
| Domain join | |
| Access rights | |
| Backup | |
| Monitoring |
6 × 3 = 18 manual operations
- 3 to 5 h per customer, depending on its size
- configurations that drift from one customer to the next
After
declared, then applied
volume: 3 VMs
Terraform · infrastructure
PowerShell · system configuration
VM
VM
VM
one parameter, whatever the volume
- a few minutes of hands-on time, then the run proceeds unattended
- same declaration, same result
- readable in a repository, hence auditable
The solution
Provisioning was described in Terraform, system configuration in PowerShell. Onboarding a customer is no longer executed, it is declared: the requested volume becomes a parameter, and the matching infrastructure follows from it.
Two properties follow, and they matter more than the time saved. A customer environment is reproducible: the same declaration produces the same result, whatever the date. And it is auditable: what exists can be read in a repository, rather than in the memory of whoever created it.
The results
- 3 to 5 hours saved per new customer, depending on its size
- A few minutes of hands-on time per customer: the run then proceeds unattended
- Consistent, verifiable onboarding from one customer to the next
- A procedure that can be run without detailed knowledge of every step
- Operating time handed back to a two-person team
What I take away from it
Automation did more than remove hours: it turned a procedure that lived in one person’s head into a shared artefact. In a team of two, that is the difference between infrastructure both people can deliver and infrastructure that waits for one of them to be available.