Skip to content
TWINJAM

SOW template · Cloud & DevOps

Cloud DevOps Migration Statement of Work Template

A migration SOW for moving named workloads to AWS, Azure or GCP with infrastructure as code and CI/CD, with the workload list, environments and cutover windows fixed before discovery uncovers more.

Fixed fee per wave, 8 to 20 weeks7 deliverables · 6 exclusions
Cloud DevOps Migration SOW.docx Parsed
7
Deliverables
6
Exclusions
1 round
Revision rule

Cloud & DevOps · Exclusion rule

Refactoring application code, other than configuration changes needed to read environment variables and secrets.

Ambiguity fix

Migrate the client's applications to AWS.

Migrate the 9 workloads in Appendix 1 to AWS in 3 waves. Other systems found in discovery are logged and quoted separately.

Best for

Cloud consultancies and DevOps teams migrating a defined set of applications from on-premises or another cloud.

Cloud migrations creep through discovery. Each server you inspect reveals a cron job, a shared database or a hard-coded IP that someone assumes you will fix. This template migrates a named workload inventory in waves, treats application code changes as client work unless listed, caps environments and pipelines, and makes post-cutover optimization a separate phase.

Copy any clause block below into your own SOW. Numbers, appendix names and tools are placeholders drawn from a typical engagement, so replace them with the counts from your proposal. Every clause is written to be read by a client, not used against one.

§ 2

Deliverables

Count everything. A deliverable a client cannot count is a deliverable a client can expand.

  1. 2.1A discovery report for the 9 workloads listed in Appendix 1, covering dependencies, data volumes and target architecture.
  2. 2.2A landing zone in the client's AWS Organization: 4 accounts (shared services, dev, staging, production), IAM Identity Center, guardrail SCPs and centralized logging.
  3. 2.3Terraform modules for networking, compute (ECS Fargate), RDS PostgreSQL and S3, stored in the client's GitHub organization.
  4. 2.4GitHub Actions pipelines for the 9 workloads with build, test, image scan and deploy stages to dev, staging and production.
  5. 2.5Migration of workloads in 3 waves with one rehearsal and one production cutover per wave inside agreed maintenance windows.
  6. 2.6CloudWatch dashboards and alarms for the golden signals of each workload, routed to the client's on-call tool.
  7. 2.7Runbooks, architecture diagrams and two 90-minute knowledge transfer sessions.
§ 3

Exclusions (out of scope)

Name what the engagement does not include. These are the lines your PMs will cite most often.

  1. 3.1Refactoring application code, other than configuration changes needed to read environment variables and secrets.
  2. 3.2Workloads, databases or file shares not listed in Appendix 1.
  3. 3.3Kubernetes, service mesh or multi-region active-active architecture.
  4. 3.4Cloud consumption costs, reserved instance purchases and third-party license fees.
  5. 3.524x7 operations, managed service or on-call coverage after hypercare.
  6. 3.6Compliance certification work (SOC 2, HIPAA, PCI DSS). Controls are configured to the client's documented requirements only.
§ 4

Revision limits

The target architecture includes one revision round after the discovery report. After architecture sign-off, changes to services, regions, account structure or tooling are changes, because they affect modules already in build.

§ 5

Acceptance criteria

Acceptance needs a measurable test and a window. Without both, delivery never formally ends.

  1. 5.1Each workload passes the client's smoke test checklist in production after cutover.
  2. 5.2Terraform plan shows no drift against the deployed environment at handover.
  3. 5.3Pipelines deploy a tagged release to each environment without manual steps.
  4. 5.4Hypercare of 10 business days ends with no open severity 1 incidents caused by the migration.
§ 6

Client assumptions & dependencies

Tie each dependency to a date so a late input has a known effect on the schedule.

  1. 6.1The client provides read access to source systems and a technical owner for each workload during discovery.
  2. 6.2Application teams fix code defects found during migration testing within the wave schedule.
  3. 6.3Maintenance windows are approved at least 10 business days before each cutover.
  4. 6.4Source databases are under 2 TB each and support native replication or a dump and restore within the window.
§ 7

Change control

A change is any new workload, environment, region, account, compliance requirement or tooling swap, or code refactoring beyond configuration. The consultancy issues a change order within three business days with the affected wave, estimated hours, cost and revised cutover dates. Cutover dates move only by approved change order or by a missed client dependency, which the consultancy will document in writing at the time.

These clauses are drafting guidance written from agency delivery practice. They are not legal advice. Agencies should have final MSAs and SOWs reviewed by counsel, especially for liability, IP, payment and termination terms, which this template does not cover.

Ambiguity check

The phrases that turn into free work, and what to write instead.

These are the vague lines we see most often in cloud & devops SOWs. Each one sounds reasonable at signature and becomes a dispute three months later.

Ambiguity check1 vague term flagged

Before

Migrate the client's applications to AWS.

Safer rewrite

Migrate the 9 workloads in Appendix 1 to AWS in 3 waves. Other systems found in discovery are logged and quoted separately.

Why it matters: Discovery always finds more. The inventory decides whether that is your cost or a new wave.

How to adapt it

7 steps from template to signed SOW.

A template saves drafting time. The protection comes from replacing every placeholder with the real counts, names and dates from your engagement.

  1. 1

    Read the Cloud DevOps Migration SOW end to end and mark every number, appendix and named tool that does not match your engagement.

  2. 2

    Build the Appendix 1 inventory from a tool scan plus interviews, then have the client sign it.

  3. 3

    Pick a migration pattern (rehost, replatform, refactor) per workload and state it in the table.

  4. 4

    Price each wave separately so a slipped dependency only moves one wave.

  5. 5

    Set hypercare length and its end condition so support does not roll into unpaid operations.

  6. 6

    Run the ambiguity check: search your draft for words like all, any, ongoing, as needed, unlimited and timely, and replace each one with a count, a list or a date.

  7. 7

    Have your counsel review the final MSA and SOW before signature, then load the signed SOW into TWINJAM so every request is checked against it.

Editable Word file

Get the Cloud DevOps Migration SOW as a DOCX.

Every clause on this page in one formatted document, with numbered sections, appendix placeholders for your counts and a one-page change order form to attach to the SOW.

  • 21 numbered clauses
  • Revision and change control language
  • Change order form with hours and rate fields

Cloud DevOps Migration SOW.docx

Editable Word file with appendix placeholders

One email with the file, then The Profitable Agency newsletter. Unsubscribe in one click.

Signed the SOW? Let TWINJAM hold the line.

TWINJAM turns these clauses into boundary rules, flags Slack and Jira requests that cross them, and drafts the change order with the clause already cited.