The following terms and concepts are an essential part of the ShuttleOps system.

Application, Application Component

The parent application that you’re managing in ShuttleOps is referred to as an application. An application can be comprised of one or many application components. Together, these application components form your working application.

Build, Build Artifact

A build refers to the process of compiling source code into a binary artifact. This artifact is stored in your artifact repository (such as Chef Habitat Builder) and can be deployed to the cloud using a ShuttleOps deployment pipeline. Note that when ShuttleOps builds to a Chef Habitat Builder origin, the artifact is stored as a Chef Habitat Builder package.

Build Pipeline

Build pipelines let you design and automate your build workflow. You can integrate business rules, like approvals, into the workflow and automatically send email and Slack notifications to your team throughout the build process.

You can automate your builds by starting a build pipeline when code is updated in your source control repository or by scheduling a pipeline to start at a specific time. You can also automatically execute a sequence of pipelines. This allows you to run dependent or related pipelines one after another, with no manual intervention required.

Executing a build pipeline results in the creation of one or more binary artifacts, which are stored in your artifact repository.

Chef Habitat Builder Depot

The Chef Habitat Builder Depot is a publicly hosted, searchable repository that stores Chef Habitat packages. You can use a ShuttleOps deployment pipeline to deploy packages from the Depot. Note that Chef Habitat packages are referred to as application components in ShuttleOps.

Chef Habitat Builder Origin

If you’re using Chef Habitat Builder as your artifact repository, ShuttleOps will build to your Chef Habitat Builder origins. You can select the origin you want to use to build an application component. Note that the build artifacts created by ShuttleOps are created as Chef Habitat Builder packages.

Chef Habitat Builder Plan

When ShuttleOps builds to a Chef Habitat Builder origin, ShuttleOps requires access to your Chef Habitat Builder plan. This plan describes how you want to build Chef Habitat Builder packages.

Deployment Environment

A deployment environment refers to a logical grouping of cloud compute resources where your application is deployed.

In Amazon Web Services (AWS), a deployment environment consists of a Virtual Private Cloud (VPC) and subnet. In Google Cloud Platform (GCP), an environment consists of a Virtual Private Cloud (VPC), subnet and zone. In Microsoft Azure, an environment consists of a Virtual Network (VNet), subnet and resource group.

Deployment Pipeline

Deployment pipelines let you design and automate your deployment workflow. You can integrate your business rules, like approvals, into the workflow and automatically send email and Slack notifications to your team throughout the deployment process.

You can automate your builds by starting a build pipeline when an application component is updated in your artifact repository or by scheduling a pipeline to start at a specific time. You can also automatically execute a sequence of pipelines. This allows you to run dependent or related pipelines one after another, with no manual intervention required.

Executing a deployment pipeline results in the launching of one or more virtual servers into a deployment environment.

Instance (Virtual Server)

An instance is a virtual server launched into a deployment environment. In Amazon Web Services (AWS), instances are referred to EC2 instances, while in Google Cloud Platform (GCP) they’re called Compute Engine virtual machine (VM) instances. In Microsoft Azure, instances are called Azure Virtual Machine (VM) instances. In ShuttleOps, instances are also referred to as resources.

Virtual Network, Virtual Private Cloud (VPC)

A virtual network allows you to establish your own private cloud computing environment in a public cloud. Both Amazon Web Services (AWS) and Google Cloud Platform (GCP) use the term Virtual Private Cloud (VPC) to refer to a virtual network, while Microsoft Azure uses the term Virtual Network (VNet).