I wrote the book on developer marketing. Literally. Picks and Shovels hit #1 on Amazon.

Get your copy
Engineering and DevOps

Deploy

deh-PLOY

The process of releasing code to servers where users can access it.

A deploy (deployment) is the process of taking built code and putting it on servers where end users can access it. It is the last step between writing code and users experiencing it.

Modern deployments are automated, incremental, and reversible. The days of FTPing files to a server at 2am on a Saturday are (mostly) over. Teams deploy through CI/CD pipelines that build, test, stage, and release code with minimal human intervention.

Deployment frequency is a key indicator of engineering health. High-performing teams deploy multiple times per day. Lower-performing teams deploy weekly or monthly. Frequent deploys mean smaller changes per deploy, which means less risk per deploy and faster rollback when something goes wrong.

Examples

A Vercel deployment runs automatically.

A developer merges a PR to main. Vercel detects the change, builds the Next.js application, generates static pages, and deploys to the edge network. The new version is live in under 2 minutes. The previous version remains available for instant rollback.

A staged deployment catches a problem.

The deployment pipeline deploys to staging first. The QA team tests the staging environment and discovers a form validation bug. The bug is fixed on a new branch, merged, and the pipeline runs again. The bug never reaches production users.

A deployment causes an outage.

A deploy introduces a database query that is efficient in testing but causes a timeout under production load. Error rates spike within minutes. The on-call engineer triggers a rollback to the previous version. Service recovers in 3 minutes. The team adds a load test to the deployment pipeline.

In practice

Read more on the blog

Frequently asked questions

How often should a team deploy?

As often as possible. DORA research shows that elite teams deploy multiple times per day. More frequent deployments mean smaller changes, lower risk, and faster feedback. If deploying is scary, the fix is to deploy more often with smaller changes, not less often with bigger changes.

What is the difference between deploying and releasing?

A deploy puts code on servers. A release makes it available to users. You can deploy code to production behind a feature flag (deployed but not released) and then turn on the flag later (released). This separation gives you control over when users see changes.

Related terms

Picks and Shovels: Marketing to Developers During the AI Gold Rush

Want the complete playbook?

Picks and Shovels is the definitive guide to developer marketing. Amazon #1 bestseller with practical strategies from 30 years of marketing to developers.