liveBook · Manning

Self-service

As explained in Infrastructure as Code, Patterns and Practices: With examples in Python and Terraform

Self-service is an operational practice in which teams independently request, create, or modify resources without requiring another team to perform every change.

Self-service lets application teams request, create, or modify infrastructure resources without requiring infrastructure teams to perform every change. Module ownership remains distributed, while release controls protect availability and security. section 5.4

A workable self-service flow combines:

  • An application team edits a shared infrastructure module and submits the change through the build system. section 5.4
  • Module approvers review the change before releasing a new version. section 5.4
  • Subject-matter experts provide additional review when the change could disrupt data or availability. section 5.4
  • Established module standards and development processes keep flexibility from becoming delivery friction. section 5.4

Database module upgrade

The Beans team updates a database module for PostgreSQL 12. Review reveals that the upgrade would delete the existing database and create an empty one. Database administrators recommend migration practices, the team revises the module, and approvers conduct a second review before release. section 5.4

Figure 5.14 For disruptive module updates, the application team submits a ticket to the database team to verify database migration steps before releasing a new module version.

Trace the review path for disruptive module updates, including database-team verification of migration steps. section 5.4

How Infrastructure as Code, Patterns and Practices: With examples in Python and Terraform covers it

How deep it goes
Explains an approval workflow and a destructive-update failure, but stops short of specifying module standards or migration procedures.
Examples
Uses a Beans team PostgreSQL 12 upgrade that risks deleting an existing database.
What it assumes
Requires established module development standards and processes, while assuming teams already use shared infrastructure modules.
What you can do after
Apply it via shared modules, staged approval, and specialist review for potentially disruptive infrastructure changes.
How it connects
Connects infrastructure modules with approval workflows, security, infrastructure availability, and database migration.

Also explained in

Compare how 6 books explain self-service →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Infrastructure as Code, Patterns and Practices: With examples in Python and Terraform. The section links point to the parts of the book it draws on.