package/automation-iac-devsecops
Automation, IaC & DevSecOps
The delivery platform your application teams use every day: modules that are versioned, pipelines that gate, and scanning that runs before the auditor asks.
~$28,000
Starts with Discovery & Scoping
Floors reflect typical engagements. Larger, regulated, or multi-region estates are scoped and quoted after Discovery.
Where this usually starts
The Terraform exists. One repository, a few thousand lines, written by someone who has since moved teams. Running a plan against production returns a wall of diffs nobody can explain, so nobody runs it, so the drift compounds. Changes go out through a pipeline that was configured once and has not been touched since, and the one person who understands it is on call permanently by accident.
Security sits at the end. A scanner runs on a schedule, writes findings to a dashboard, and someone exports them to a spreadsheet twice a year when an enterprise customer asks. Nothing blocks. A vulnerable dependency ships on Tuesday and is discovered in March.
None of this is a competence problem, and it will not be fixed by hiring one more DevOps engineer. Platform patterns are the kind of thing an organization either has or spends eighteen months rediscovering. A new hire without existing patterns to work from will build the pipeline they built at their last company, which was shaped by constraints you do not have.
The module library
Everything starts here, because pipelines built on unversioned modules are pipelines that break on someone else’s merge. Modules are extracted from what you already run, cleaned up, given inputs and outputs that make sense to a team that did not write them, and published to a private Artifact Registry Terraform repository with semantic versions.
Each module gets tests. Not a token example directory — actual validation that a plan succeeds against representative inputs, so a change to a shared module fails in CI rather than in someone’s production apply.
Consumers pin versions. That single change is what turns a shared Terraform repository into a platform: the networking team can ship a module update without breaking every environment that depends on it, and application teams upgrade on their own schedule.
State, workspaces, and promotion
Remote state moves to Cloud Storage with locking, split along blast-radius boundaries rather than along whatever the original repository structure happened to be. A change to a development database should not require a plan that touches production networking.
Environment promotion becomes explicit: the same module versions move from development to staging to production through pipeline configuration, not through a human editing a different tfvars file in each place and hoping they match.
Pipelines and gates
Delivery pipelines are built on Cloud Build or GitHub Actions — whichever your organization already uses, because introducing a third CI system to fix a CI problem is not an improvement. Pipelines are templated, so a new service gets a working pipeline by configuration rather than by copying the last one and editing it until it runs.
Gates are real. A plan is posted for review before an apply. A failing policy check stops the pipeline. Promotion to production requires an approval that is recorded. The runbook covers the exception path, because a gate with no documented way through it becomes a gate everyone learns to bypass.
Policy as code
- Terraform plan validation, so a plan that would create a public bucket or an over-broad IAM binding fails in CI rather than in review.
- Policy Controller or OPA Gatekeeper on GKE, enforcing the constraints that matter for your workloads: no privileged containers, required labels, image sources restricted to your registry.
- Organization policy constraints wired into the same repository, so the guardrails and the resources they guard are versioned together.
Security in the pipeline, not after it
Static analysis and dependency scanning run on every commit. Secret detection runs pre-commit and in CI, because the pre-commit hook catches most of it and the CI check catches the developer who skipped the hook.
Dynamic testing runs against a deployed pre-production environment rather than against a static artefact, which is the only way to find the class of issue that only exists once the thing is running and wired to its dependencies.
Gate thresholds are set with you, and they do not start at maximum. A pipeline that blocks on every medium-severity finding on day one gets disabled in week two. The usual pattern is to block on new critical and high findings, report everything else, and tighten as the backlog comes down.
Supply chain
Images are built once and promoted, not rebuilt per environment. Artifact Registry holds them with vulnerability scanning enabled. Binary Authorization enforces that only images built by your pipeline and signed by it can run on your clusters, which closes the gap between a hardened build process and a cluster that will happily run anything someone pushes.
Provenance attestation records what was built, from which commit, by which pipeline. That record is what turns a supply chain claim in a security questionnaire into something you can actually evidence.
Drift detection
A scheduled plan runs against every environment and reports differences. Drift is not treated as an error to suppress; it is treated as information. Some drift is a legitimate emergency change that needs to be codified. Some is a console edit that should be reverted. The runbook covers both paths, and the point is that neither category stays invisible for six months.
What this package does not cover
Application code is not modified and application tests are not written. The pipeline runs your test suite; building that suite is your team’s work.
Findings the scanners raise are reported, not remediated. Turning on SAST across an existing codebase surfaces a backlog, and working that backlog is application engineering rather than platform engineering. Third-party scanner licensing is bought by you directly — tool choice stays yours, and it should not be bundled into a consulting fee.
CI platforms beyond the agreed runner are out of scope. Pipelines are built on one system, not ported to three.
Deliverable. Module library, pipeline templates, policy bundle, and a runbook covering promotion, rollback, and gate exceptions.
How the engagement runs
- Week 0 Discovery & Scoping Repository inventory, current pipeline audit, and a read of how changes actually reach production today. Produces the fixed quote.
- Week 1 Module extraction What you already run is inventoried and the reusable parts are identified. Registry stood up, versioning and release process agreed.
- Week 2–3 Module library and state Modules written, tested, and published. Remote state migrated and split along blast-radius boundaries. Promotion model implemented.
- Week 4 Pipelines Templated delivery pipelines on your existing CI system, with plan-review and approval gates wired in.
- Week 5 Policy and security gates Policy-as-code bundle, Policy Controller on GKE, and SAST, DAST, dependency, and secret scanning integrated. Thresholds set with your team.
- Week 6 Supply chain, drift, handover Binary Authorization and attestation enforced. Drift detection scheduled. Runbook delivered and walked through with the team that will own it.
These figures are starting points, not quotes. Final pricing depends on the size and complexity of your estate and is fixed in writing at the end of Discovery & Scoping.
What this engagement does not cover
Named here rather than discovered later. This is the list that makes the fixed price hold when scope starts moving.
- application code changes and test authoring
- remediation of findings the scanners raise
- third-party scanner licensing
- non-GCP CI/CD platforms beyond the agreed runner
What this is based on
- Google Cloud Professional DevOps Engineer and HashiCorp Terraform Associate.
- Enterprise Google Cloud landing zones delivered as reusable, versioned Terraform modules rather than one-off configuration.
- Migration automation that carried a 2,000+ VM programme through repeatable waves — the same automation discipline applied to delivery.
What buyers ask
We already have Terraform. Do you throw it away and start over?
No. Rewriting working infrastructure code is expensive and mostly produces the same resources with different names. The existing configuration is the starting inventory: what is genuinely reusable gets extracted into versioned modules, what is one-off stays one-off, and what is dead gets deleted.
The state migration is usually the delicate part, not the code. It is planned, done in stages, and rehearsed against a non-production environment first.
Which CI system do you build on?
The one you already use — Cloud Build or GitHub Actions in most cases. Introducing a third CI system to fix problems with the second one adds a migration to the project and does not address the actual issue, which is almost always missing gates and unversioned modules rather than the runner.
If you genuinely have no CI system, Cloud Build is the default recommendation on Google Cloud for the identity integration alone.
Will the security gates block our releases on day one?
Not at full strictness, no. A pipeline that fails on every medium-severity finding the day it turns on gets bypassed within a fortnight, and then you have gates that nobody trusts.
The normal starting configuration blocks new critical and high findings, reports everything else, and leaves the existing backlog visible but non-blocking. Thresholds tighten on a schedule your team agrees to, as the backlog comes down.
Who owns the modules after handover?
You do. Modules, pipeline templates, the policy bundle, and the runbook are yours on final payment. They live in your repositories, in your registry, under your version control, with no runtime dependency on Sumech.
Generic patterns remain reusable on other engagements — that is true of any consultancy and it is stated rather than buried. What is specific to your estate is exclusively yours.
How does this differ from the Landing Zone package?
A landing zone builds the foundation: organization hierarchy, networking, identity model, guardrails. Its pipeline deploys that foundation — one pipeline, one consumer, the platform team.
This package builds the delivery platform your application teams touch every day: the module library they consume, the pipelines their services ship through, and the gates their commits pass. Different consumer, different lifecycle. Organizations with a landing zone but no delivery platform are common, and so are the reverse.
Questions about pricing, terms, and ownership across every engagement are on the FAQ.
Start with Discovery & Scoping
$4,500 fixed, 3–5 days. A current-state review, a gap analysis, a written scope, and a fixed quote for this engagement. Half the fee is credited against the work if you proceed within 60 days.