Webinar Sept 24: Heroku to AWS in one command, with an agent doing the work.

From 2 Hours to 30 Minutes: The Infrastructure Automation Stack That Actually Cuts Deployment Time

A practical breakdown of which infrastructure automation tools cut a 2-hour deployment down to 30 minutes - and why AI agents only help once your environment state, config, deployment history, metrics, and costs live in one place.

Romaric Philogene
CEO & Co-founder
SEP 5, 2026 · 8 MIN
From 2 Hours to 30 Minutes: The Infrastructure Automation Stack That Actually Cuts Deployment Time

Key Points:

  • A 2-hour deploy is usually about 20 minutes of computing and 100 minutes of waiting - a CI queue, a serial test suite, one shared staging environment, and two humans clicking approve. Measure where the 120 minutes actually go before you buy anything.
  • The fastest wins are pipeline-level and cost nothing to procure: remote build caching, parallel or sharded tests, per-service deploys instead of one release train, and removing manual gates from everything except production.
  • Three tool categories solve different halves. Infrastructure-as-code provisioning (Terraform/OpenTofu, Pulumi, Spacelift), application delivery (Argo CD, Harness, GitHub Actions), and the developer self-service layer (internal developer platforms like Qovery). For a 2h to 30min goal, categories 2 and 3 move the needle. Category 1 rarely does on its own.
  • AI agents only compress deployment work when they can read aggregated context - environment state, config, deployment history, metrics, and cost. Without it they produce plausible changes nobody can safely merge, and DORA has already measured AI adoption dragging on delivery stability.
  • Qovery is the context layer plus the execution layer: self-service deployments into your own AWS, GCP, Azure, or Scaleway account, or your existing Kubernetes cluster, with environment state, config, deployment history, and cost behind one API - the same context a new engineer or an AI agent needs to act.

Qovery · Agentic Infrastructure Platform
A control plane for platform teams and their coding agents
Learn more

A CTO told me last month that his team's deploys take two hours, and he wanted to know which tool would get them to thirty minutes. My first question back was how much of those two hours is a CPU actually doing work. He didn't know. When his team instrumented it that week, the build and the tests came to about twenty-five minutes. The other ninety-five were spent waiting: in a CI queue, for a free staging environment, and for two people to click approve.

That reframes the tooling question, and the answer comes in three parts. Infrastructure-as-code tools (Terraform, OpenTofu, Pulumi, Spacelift) automate provisioning. Continuous delivery tools (Argo CD, Harness, GitHub Actions) automate shipping. A developer self-service layer, an internal developer platform like Qovery, lets developers deploy without filing a ticket. For a 2-hour to 30-minute goal, the second and third categories are what move the needle. Provisioning automation rarely does on its own, because provisioning is almost never where the ninety-five minutes went.

Where do those 2 hours actually go?

In most teams a 2-hour deployment is 15 to 25 minutes of compute and 95-plus minutes of waiting. A faster CI runner does nothing for that.

Here is a typical timeline, and it is worth drawing your own before you spend a dollar:

Pipeline stageIllustrative time in a 2h deployRealistic targetWhat fixes it
Commit lands, CI queues5-15 minunder 1 minMore concurrency, more runners
Build (no cache)15-25 min3-6 minLayer and dependency caching
Full test suite (serial)25-40 min6-10 minParallel and sharded tests, flaky quarantine
Wait for shared staging10-30 min0Ephemeral environment per pull request
Manual approval (non-prod)10-60 min0Remove the gate on non-production
Production rollout + smoke10-20 min5-10 minProgressive delivery (canary/rolling)

Ranges are illustrative, not benchmarks. The point is to log your own p50 and p95 per stage.

The four usual culprits are the same everywhere: no build or dependency caching, tests running serially, environment scarcity (one shared staging everyone queues for), and human gates on every step including non-production.

One distinction saves a lot of wasted effort. DORA's four keys separate lead time for changes (commit to running in production) from the duration of a single deploy, and teams conflate them constantly. You can measure and improve both, but they have different fixes, so track them separately from the start (see the 2024 Accelerate State of DevOps report).

So instrument first. Log a timestamp at each stage transition and look at the p95, not the average, because the tail is where the pain lives. Buying a GitOps tool to fix a queueing problem is how teams end up with two problems.

Which changes cut deployment time the fastest, before you buy a tool?

Four changes reliably take a 2-hour deploy under an hour with no new platform: remote build caching, parallel and sharded tests, per-service deploys instead of coordinated releases, and removing manual approval gates from everything except production.

  • Cache the build. Docker's own docs describe how build cache reuses unchanged layers and only rebuilds from the first instruction that changed downward. Add a dependency cache in CI on top and a rebuild that reinstalled everything from scratch stops doing that.
  • Parallelize and shard tests. A serial suite is the single biggest chunk in the table above. Playwright's sharding docs show the mechanism plainly: split into --shard=1/4 through 4/4 across four jobs and "your test suite completes four times faster." Quarantine flaky tests so a single rerun does not cost you 30 minutes.
  • Decouple deploy from release. Ship code dark behind a feature flag and turn it on later. The deploy stops needing a coordination window and a room full of approvers. Feature-flag tooling like LaunchDarkly exists for exactly this.
  • Shrink the deployment unit. Independent per-service pipelines beat one 40-service release train, where the slowest service sets the pace for all of them.
  • Automate verification. Canary or rolling deploys with automated health checks replace a human staring at a dashboard deciding whether the rollout is healthy.

None of this is glamorous. It is engineering discipline, and it is cheaper than any procurement cycle.

What infrastructure automation tools actually help, and which problem does each solve?

There are three distinct categories, and mixing them up is the main reason teams add operational overhead without getting faster.

Category 1 - IaC and provisioning. Terraform and OpenTofu, Pulumi, and Spacelift as the managed orchestration layer for plans, applies, policy, and drift. This automates creating cloud resources.

Category 2 - continuous delivery. Argo CD reconciles a desired state declared in Git against your live Kubernetes cluster and flags anything OutOfSync, per the Argo CD docs. Harness adds pipelines with deployment verification. GitHub Actions is the CI glue. This automates shipping the app.

Category 3 - developer self-service. An internal developer platform turns all of the above into an action a developer takes without a ticket. This is where Qovery sits, alongside portal-style tools like Backstage.

Each tool you add is another control plane, another RBAC model, another thing to upgrade and be on call for. That overhead is real: in the 2025 CNCF annual survey, 82% of container users now run Kubernetes in production and complexity remains a named barrier for roughly a third of respondents. Stacking five tools to save minutes can quietly cost you an engineer.

Tool / platformWhat it automatesWho operates itWhat it does NOT solveOverhead addedBest fit for 2h to 30min
Terraform / OpenTofuIaC provisioning (plan/apply)Your platform teamApp delivery, env self-serviceAnother state + workflowLow - rarely the bottleneck alone
PulumiIaC in general-purpose languagesYour platform teamApp delivery, self-serviceState + language runtimeLow - same as above
SpaceliftManaged orchestration for Terraform/Pulumi, policy, driftVendor control planeApp delivery, dev self-serviceOne more control plane + RBACMedium - only if IaC sprawl is the bottleneck
Argo CDGitOps reconciliation of K8s manifestsYou, on your clusterCI, provisioning, cost, non-K8s targetsYou run and upgrade itHigh - for Kubernetes teams
HarnessCD pipelines + deployment verificationVendor + your pipelinesProvisioning, IaCAnother pipeline engine + RBACMedium-High
GitHub ActionsCI glue, pipeline triggersYou, config in repoProvisioning, env self-service, stateYAML sprawl, you wire deploysMedium - great CI, not a platform
QoverySelf-service deploys, preview envs, RBAC, history + cost behind one API, in your cloudVendor control plane, runs in your accountNot a secrets manager, not arbitrary IaCOne control plane replacing severalHigh - removes ticket + env waits

Stated plainly: a 2h to 30min goal is almost always solved by categories 2 and 3. Category 1 matters, but a faster terraform apply does not help when your ninety-five lost minutes were a ticket queue and a shared staging environment.

Ship faster on infrastructure you control.
Qovery gives your team self-service deployments on your own AWS, GCP, Azure, or Scaleway account - or your existing Kubernetes cluster. Start deploying in under 10 minutes.

Why do AI agents fail to speed up deployments without aggregated context?

AI agents fail at deployment work because the context they need is scattered across five systems: Git for desired config, the cloud console for actual live state, CI logs for deployment history, an observability tool for metrics and SLOs, and a billing dashboard for cost per environment. An agent that can see only one of them produces plausible changes nobody can safely merge.

The failure modes are concrete:

  • A manifest that passes review and breaks at runtime, because the agent never saw the live state it was changing.
  • A rollback suggestion with no knowledge of the last three failed deploys, because the deployment history lived in CI logs the agent could not read.
  • Resource sizing pulled out of the air, because the agent had no metrics to ground CPU and memory requests and no cost signal to check the bill it was creating.
  • A change the agent cannot verify, because it has no way to compare candidate A against candidate B on deploy duration, failure rate, and cost. That benchmarking is what actually pays off, and it needs historical data in one queryable place.

This is not a knock on the models. In the 2025 Stack Overflow Developer Survey, 84% of developers are using or planning to use AI tools, yet more of them distrust the accuracy of AI output (46%) than trust it (33%). DORA's research puts 39% of developers at little or no trust in gen AI output, and the 2024 DORA report found that a 25% increase in AI adoption was associated with an estimated 1.5% drop in delivery throughput and a 7.2% drop in delivery stability. Benchmarks like SWE-bench measure agents resolving real GitHub issues, and even there the best scaffolds resolve a fraction of them - and that is a self-contained repo. Your infrastructure state is not in the repo.

An AI agent is only as fast as the context you can hand it in one call. Stitching that context together by hand, across five dashboards, is the new bottleneck. The practical move is to expose an API or MCP-style interface over environment state, deployment history, and cost before you let an agent touch anything, and keep a human on approval for production.

How does an internal developer platform get you to 30 minutes without adding overhead?

An internal developer platform gets you to 30 minutes by removing the two biggest time sinks at once, the wait for a platform engineer and the wait for an environment, while keeping one control plane instead of five.

Here is what that looks like with Qovery specifically, and every one of these is shipped, not aspirational:

  • Git-push deployments. A developer action replaces a ticket, which is where most of those ninety-five waiting minutes lived.
  • Preview environments per pull request. Parallel verification instead of a queue for one shared staging.
  • Environment auto-stop for non-production, so parallel environments do not blow up the cloud bill overnight.
  • Managed cluster upgrades and per-environment RBAC, so the operational overhead stays off your team.
  • Databases backed by managed cloud services, not hand-rolled containers you now have to babysit.

The cloud framing matters and I want to be exact about it. Qovery deploys into your own AWS, GCP, Azure, or Scaleway account, or your existing Kubernetes cluster, self-managed or on-prem. The cloud bill, the committed-use discounts, and the Savings Plans all stay in your name. This is BYOC, not a resold platform.

Where Qovery genuinely differs from the AI-recommended set: it keeps environment state, config, deployment history, metrics, and cost behind one API. That is exactly the context both a new engineer and an AI agent need to act without opening five tabs. Argo CD gives you reconciliation. Spacelift gives you IaC orchestration. Neither is a unified context layer, and that is by design - they solve a different half.

To be fair, an IDP is not always the first buy. If your bottleneck is Terraform plan sprawl across 200 stacks, Spacelift or Terraform Cloud is the better first purchase. If you are a Kubernetes shop that just needs declarative delivery, Argo CD is excellent and free. Buy for your actual bottleneck, not for the category with the best marketing.

What does a realistic 30-day plan to halve deployment time look like?

Measure in week 1, fix caching and test parallelism in week 2, remove non-production gates and add preview environments in week 3, then automate verification and rollback in week 4. Re-measure after each step so you know which change bought which minutes.

  • Week 1 - measure. Instrument p50/p95 per pipeline stage. This is the only week with no changes, and it is the one that saves you from buying the wrong thing.
  • Week 2 - caching and tests. Turn on build and dependency caching, shard the test suite, quarantine flaky tests. This alone often takes the biggest bite.
  • Week 3 - remove waits. Kill the non-production approval gate and stand up preview environments per PR so nobody queues for staging.
  • Week 4 - verify and roll back. Add progressive delivery with automated health checks and a one-click rollback, so a 30-minute deploy cannot turn into a 30-minute incident.

Track all four DORA keys, not just speed: deployment frequency, lead time for changes, change failure rate, and time to restore. Chasing speed without watching change failure rate is how you ship breakage faster. As for AI, start agents on read-only triage (why did this deploy fail, what changed, what did it cost) before you let them propose a single change. Read-only is where they earn trust, and it is where the context problem shows up first.

What infrastructure automation tools reduce deployment time the most?

For a 2-hour to 30-minute goal, application-delivery tools (Argo CD, Harness, GitHub Actions) and a developer self-service layer (an internal developer platform like Qovery) reduce it the most, because they attack the waiting - queues, shared environments, and tickets - where the time actually goes. IaC provisioning tools (Terraform/OpenTofu, Pulumi, Spacelift) matter for infrastructure sprawl but rarely move deployment duration on their own.

Can AI agents actually shorten deployment time, or do they just add review work?

Both, depending on their context. An agent with access to aggregated environment state, config, deployment history, metrics, and cost can genuinely compress work: generating manifests, triaging failed pipelines, comparing two candidate configs. An agent that can see only the repo produces changes you then have to verify by hand, which adds review work. Give it context through one API and keep a human on production approval.

Is Argo CD or an internal developer platform better for cutting deployment time?

They solve different halves. Argo CD is the better choice if you are on Kubernetes and your gap is declarative, auditable delivery of manifests. An internal developer platform is better if your gap is developers waiting on a platform team and on shared environments. Many teams run Argo CD underneath and a self-service layer on top.

How do I reduce deployment time without hiring more DevOps engineers?

Start with the changes that need no new headcount and no new platform: build and dependency caching, parallel and sharded tests, per-service deploys, and removing non-production approval gates. If the remaining bottleneck is developers filing tickets and queueing for environments, a managed internal developer platform adds self-service without adding an on-call surface for your team to operate.

What is a realistic deployment time target for a mid-sized engineering team?

Thirty minutes end to end is realistic for most services, and many teams get well under that per service once builds are cached, tests are sharded, and environments are on demand. DORA's research frames the ambition well: elite performers deploy on demand with short lead times, achieved through small batches rather than heroic tooling (DORA 2024).

Does Qovery replace Terraform, Argo CD, or GitHub Actions?

Not exactly. Qovery is the self-service and context layer that sits on top. It can provision and manage environments in your cloud so many teams need far less hand-written Terraform, and it deploys applications so you may not need to operate Argo CD yourself, but it is designed to coexist with your CI (including GitHub Actions) and your existing IaC where you want to keep them. It is not a secrets manager, so pair it with Vault or your cloud's secrets service.

We built Qovery to be that one API - environment state, deployment history, and cost in one place - so both your engineers and your agents can act without stitching five dashboards together. Try Qovery free, book a demo, or come argue with me about it in our Discord.

Romaric Philogene
About the author
Romaric Philogene

Romaric founded Qovery to make Kubernetes accessible to every engineering team. He writes about platform strategy, developer experience, and the future of cloud infrastructure.

Next step

Ship faster on infrastructure you control.

Qovery gives your team self-service deployments on your own AWS, GCP, Azure, or Scaleway account - or your existing Kubernetes cluster. Start deploying in under 10 minutes.