liveBook · Manning

Deployment

As explained in Think Like a Software Engineering Manager

A software deployment is the process of releasing a software change into an environment where it can run, especially production.

Deployment moves code from implementation into an environment where it can run, especially production. The priority is not simply releasing continuously, but releasing safely, efficiently, and with fewer bugs, regressions, and security problems. section 12.2.4

Safer deployments combine several practical controls:

  • Deploy in phases: move changes through alpha or beta, pre-production, and production, allowing bake time between stages. section 12.2.4
  • Use canary deployments to release changes gradually to a subset of users before expanding availability. section 12.2.4
  • Use feature flags as switches that enable, disable, or hide production features and act as kill switches when needed. section 12.2.4
  • Connect feature flags with A/B testing to compare feature states across different percentages of users and analyze behavior. section 12.2.4
  • Improve test coverage before release, because broader testing helps identify and address potential deployment problems earlier. section 12.2.4

A controlled production release

A team can deploy a change to alpha or beta, hold it in a production-like pre-production environment for a period such as 24 hours, then expose it to a small canary group. A feature flag can disable the change if stability problems appear. section 12.2.4

Deployment management is part of a broader, continuous effort to improve engineering quality, operational efficiency, reliability, and innovation rather than a one-time destination. section 12.6

How Think Like a Software Engineering Manager covers it

How deep it goes
Explains phased releases, bake time, canaries, feature flags, and test coverage, but stops short of implementation details.
Examples
Uses staged environments, 24-hour pre-production bake time, canary users, feature toggles, and A/B testing as deployment examples.
What you can do after
Operate/configure safer releases through staged environments, canaries, feature flags, testing, and feedback.
How it connects
Connects deployments to continuous integration, continuous deployment, test coverage, feature flags, canary deployments, A/B testing, logging, and monitoring.

Also explained in

Compare how 23 books explain deployment →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Think Like a Software Engineering Manager. The section links point to the parts of the book it draws on.