CI/CD pipelines: commit to production, visible at every step
Trunk-based with short-lived branches and required checks.
Cached builds, unit and contract tests, artefacts versioned once.
Dependency, secret and IaC scanning that blocks rather than warns.
Terraform plan reviewed, applied per environment, no drift.
Blue/green or canary with automated rollback on error budget burn.
Traces, logs and SLOs wired before the feature ships.
Azure landing zones, IaC, Kubernetes and observability
Four workstreams, each with an owner and a runbook.
Azure landing zone without the 90-page doc
A minimal, opinionated baseline your team can maintain: subscriptions, networking, identity and policy, all in code.

Right-sized, not over-provisioned
We start by finding what you’re paying for and not using. The first month usually funds the rest of the engagement.
Idle and orphaned resources
Unattached disks, dev environments running all weekend, over-provisioned SKUs.
Right-sized compute
Matching instance families to real utilisation instead of the original guess.
Reserved and spot mix
Committing only what is genuinely steady-state, spot for the rest.
Log and storage tiering
Retention that matches what anyone actually queries after 30 days.
CI/CD pipelines for Business Central AL extensions
AL extensions are software, and they benefit from source control, an automated build and a tested deployment path exactly like any other codebase. We build Azure DevOps pipelines that compile AL, run the test codeunits, publish to a sandbox tenant for UAT and promote to production behind an approval gate, so a hotfix is a pull request rather than a developer with the production client open. Infrastructure as code covers the Dynamics 365 environments themselves, in Terraform or Bicep.
See Business Central integrations and AL extensions →Before you migrate anything
If lift-and-shift is the right answer, we’ll tell you, and what it will cost to run.
Often lift-and-shift first, then modernise what actually hurts. Re-architecting everything before migrating is how eighteen-month programmes happen.
We model run cost before wave one and hold ourselves to it. Right-sizing and tiering typically pay for a meaningful part of the migration itself.
Only if you have the team to run it. For most mid-market workloads, App Service or Container Apps with good pipelines beats a cluster nobody owns.
That is the deliverable. Everything is in code, documented in the repo, and handed over with drills, not a slide deck.
For a defined window, yes, and we hand it back with the runbooks that made it boring.
Bicep if the estate is Azure-only and the team is already fluent in ARM concepts; Terraform if there is anything outside Azure, or the team already runs it elsewhere. Bicep has the tighter Azure resource coverage and no state file to manage. Terraform has the broader provider ecosystem and a much larger hiring pool. We have shipped both and will use whichever one your team can still maintain in two years, not the one we prefer.
Related services
Business Central Consulting
Business Central consulting is the discovery work that happens before an implementation starts: mapping how your business actually…
Read moreCustom Solutions
Custom Solutions covers AI agents and automated workflows applied to the repetitive steps inside your business processes, custom i…
Read morePower Apps
Power Apps covers the whole Power Platform practice: Dynamics 365 Sales and CRM customisation, Power Automate, Power BI dashboards…
Read moreBring your worst deploy story.
Thirty minutes with a senior engineer. You’ll leave with the two changes that would have prevented it and a rough cost to make them.

