Skip to main content

Components, Instances & Deployments

This page covers the lifecycle of infrastructure from blueprint to deployed resources.

Components​

A component (previously called a "manifest") is a bundle that has been added to a project's blueprint with a specific use case.

For example: You may add the aws-elasticache-redis bundle to a project for multiple use cases — one component for user-sessions and a second component for caching.

In the example below, an SNS Topic is added to the project for tracking created orders in an e-commerce application.

Components

Instances​

An instance (previously called a "package") is a component as it exists in a specific environment (e.g. production, staging, US West, etc).

An instance is the intersection of an environment and a component.

In Massdriver, naming conventions for cloud resources are managed for you. The instance's identifier can be seen by clicking on the component and selecting the Details tab. The ID will be the naming prefix for all resources created when this instance is deployed.

Instances

Instance Alarms​

Instances can integrate monitors and alarms into Massdriver's notification system. In the example below, a number of CloudWatch alarms are visible for Aurora Postgres.

Instance Alarms

Instance Resources​

Cloud resources created by the instance are tracked within Massdriver. Below is a view of the resources created by the AWS EKS Cluster bundle.

Instance Resources

Deployments​

Deployments are a record of provisioning or decommissioning infrastructure or applications in Massdriver.

Massdriver keeps a record of every deployment, whether provisioning or decommissioning infrastructure or applications.

Deployments

Deployment Comparison​

Massdriver makes it easy to view the difference in configuration between deployments. It's a great way to provide information to auditors, or to debug issues related to a recent deployment.

Deployment Comparison

The Lifecycle​

Bundle → Component → Instance → Deployment
↓ ↓ ↓ ↓
Template Blueprint Env-bound Record
  1. Bundle: A reusable infrastructure template (e.g., "PostgreSQL Database")
  2. Component: A bundle added to a project for a specific purpose (e.g., "User Database")
  3. Instance: A component as it exists in a specific environment (e.g., "User Database in Production")
  4. Deployment: A record of provisioning or decommissioning that instance