Cloud, DevOps and maintenance

The unglamorous work that decides whether software lasts

Plenty of businesses have good software running on infrastructure nobody understands, deployed by one person from a laptop, with backups that have never been restored. That is not a cost problem, it is a continuity problem. It also makes every future change slower and more frightening than it needs to be.

Technologies used

AzureAWSDockerGitHub ActionsAzure DevOpsTerraformSQL ServerPostgreSQL

What is included

  • Infrastructure review: what runs where, who can access it, what happens if it stops
  • Migration plan to Azure or AWS with a costed target state and a rollback
  • Infrastructure as code, so environments are reproducible instead of remembered
  • CI/CD pipelines: build on merge, deploy on approval, roll back in one step
  • Monitoring, log aggregation and alerts that reach a human
  • Backup and restore that has been tested, with a documented recovery time
  • Support retainer with a response commitment and a change-hours pool

How a project like this runs

  1. 01

    Review and document

    We map what exists, including the parts running on someone's personal account.

  2. 02

    Fix the continuity risks

    Access, backups and restore first. These are cheap and they are what actually bites.

  3. 03

    Pipeline and environments

    Reproducible staging and production, deploys that anyone on the team can run.

  4. 04

    Migrate in stages

    Lowest-risk workloads first, with the old environment kept warm until you are confident.

  5. 05

    Operate

    Monitoring, monthly patching and a retainer for the changes that keep arriving.

An illustrative situation, not a client story

A company hosts its main application on a virtual machine set up years ago by a developer who has since left. Nobody has logged into the host. We document it, move it into infrastructure as code, set up a staging copy, add monitoring and a tested restore, then migrate to a managed database. Deployment goes from a two-hour ritual to a pipeline run.

Three questions we get about this

Sometimes, but that is the wrong reason to do it. The reliable gains are reproducibility, recovery and release speed. We give you a costed comparison before you commit.

Yes, after a review. If the codebase is in a state where we cannot support it responsibly, we will say so and cost the remediation separately.

A response-time commitment, monitoring and patching, and a monthly pool of hours for changes. Unused hours are visible, and we do not invent work to fill them.