Skip to main content

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.

Customer machines
3 machines

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.

  • Azure
  • Terraform
  • PowerShell

← Back to case studies