Self-Service and Application Lifecycle Management (Calm)
Self-Service and Application Lifecycle Management (Calm) tests blueprint design, self-service consumption, and Day-2 operations. Calm turns a multi-tier application into a reusable blueprint that can be deployed through a project with quotas and approvals.
Blueprint essentials
- A blueprint defines services, dependencies, variables, credentials, and actions.
- App profiles, such as dev and prod, override variables and sizing without duplicating the blueprint.
- Lifecycle actions include create, start, stop, destroy, and user-defined Day-2 actions.
- Marketplace items expose blueprints to self-service users; projects enforce who can deploy and how much.
Worked example
A two-tier blueprint has a web service and a database service. The database password is a credential variable, not plain text. The dev profile uses one web VM; the prod profile uses three and a larger database. A Day-2 action scales the web tier. A user deploys from the marketplace into a project with a quota and an approval policy. Approval is granted, the blueprint deploys in dependency order, and the app appears in the project.
Traps
- Confusing blueprint versions with app profiles; both change behavior but for different reasons.
- Hardcoding credentials in scripts or variables.
- Ignoring service dependency order during design.
- Forgetting that quota and approval are project-level controls, not blueprint settings.
- Assuming destroy is automatic; verify the destroy action and cleanup behavior.