An availability zone represents a separated set of cloud resources (typically compute, networking and storage) such that failures in one AZ cause minimal impact in a different AZ. See usage details.
A release job that is colocated on all VMs managed by the Director. Addons are configured in the runtime config. See usage details.
A process that runs continuously on each VM that BOSH deploys (one Agent process per VM). The Agent executes tasks in response to messages it receives from the Director.
bosh-init is tool used for creating and updating the Director (its VM and persistent disk) in an environment.
Canary instances are first instances updated within an instance group. Any update error in a canary instance causes the deployment to stop. Since only canaries are affected before an update stops, problem jobs and packages are prevented from taking over all instances.
The BOSH Command Line Interface (CLI) is what you use to run BOSH commands. You must install the CLI to use BOSH. Run
bosh help --all to view the help.
Same as Infrastructure as a Service.
The cloud config is a YAML file that defines IaaS specific configuration used by the Director and all deployments. It allows to separate IaaS specific configuration into its own file and keep deployment manifests IaaS agnostic. See usage details.
A compiled release contains jobs and compiled packages. A non-compiled release (or just release) contains jobs and source packages. See usage details.
A Cloud Provider Interface is an abstraction layer between the Director and an IaaS (cloud). CPIs have to implement a small number of methods to perform VM, disk and network operations. CPIs could be written in different languages.
BOSH deploys software to the cloud using a deployment manifest, one or more stemcells, and one or more releases.
An encapsulation of software and configuration that BOSH can deploy to the cloud. You can think of a deployment as the state of a collection of VMs: what software is on them, what resources they use, and how these are orchestrated. Even though BOSH creates the deployment using ephemeral resources, the deployment is stable in that BOSH re-creates VMs that fail and otherwise works to keep your software running. BOSH also manages persistent disks so that state (for example, database data files) can survive when BOSH re-creates a VM. A particular combination of manifest, stemcell, and release is portable across different kinds of cloud infrastructure (that is, across different CPIs) with minimal changes to the manifest.
The main BOSH component that coordinates the Agents and responds to user requests and system events. The Director is the orchestrator of deployments.
A repository where BOSH stores release artifacts, logs, stemcells, and other content, at various times during the lifecycle of a BOSH release.
The basic unit of work performed by the Director. You can get the status and logs for any task. You can monitor the task throughout its lifecycle, which progresses through states like queued, processing, done, and error.
A single VM with the Director and other necessary components.
A single environment consists of a Director and deployments that it orchestrates. A good example of two separate environments are staging and production environments.
An errand is a short-lived job that an operator can run multiple times after the deploy finishes. Examples:
- smoke tests
- comprehensive test suites
- CF service broker binding and unbinding
Actions taken by the Director (via user or system control) are recorded as events to the Director database. Examples:
- VM create/delete
- cloud config update
Short for Infrastructure as a Service. BOSH enables the Cloud Foundry PaaS and other software deployed with BOSH to support multiple IaaS providers.
An instance corresponds to a single VM that performs specific jobs. Each instance is a part of an instance group.
An instance group is a collection of instances tasked to perform same jobs. Each instance group has an associated VM type, persistent disk type, a stemcell and a set of jobs. Instance groups are configured in the manifest.
A job is part of a release. It contains startup, shutdown scripts, and configuration files that tell the Agent how to start, run and monitor software on a VM. Jobs can depend on packages for necessary software.
A VM that acts as a single access point for the Director and deployed VMs. For resilience, there should be more than one jump box. Allowing access through jump boxes and disabling direct access to the other VMs is a common security measure.
A YAML file that identifies one or more release, one or more stemcells and specifies how to configure them for a given deployment.
A user that sets up and/or uses the Director (via BOSH CLI or Director API) to manage cloud resources.
An orphaned disk is a persistent disk that will be garbage collected after a few days unless it’s reattached to an instance.
A package is part of a release. It contains vendored in software source and scripts to compile it. Packages can depend on other packages.
A persistent disk is a disk created in the cloud and associated with a specific instance. While instance’s associated VM is recreated, same persistent disk will be reattached. See usage details.
A collection of configuration files, source code, jobs, packages and accompanying information needed to make a software component deployable by BOSH. A self-contained release should have no dependencies that need to be fetched from the internet.
Resource pool is collections of VMs created from the same stemcell, with the same configuration, in a deployment.
The runtime config is a YAML file that defines global configuration used by the Director and all deployments. It allows to specify addons. See usage details.
A generic VM image that BOSH clones and configures to during deployment. A stemcell is a template from which BOSH creates whatever VMs are needed for a wide variety of components and products.
Each deployment can be managed by specific teams. A logged in UAA user can belong to one or more teams. See details.
VM extension is a named Virtual Machine configuration in the cloud config that allows to specify arbitrary IaaS specific configuration such as associated security groups and load balancers. See usage details.
VM type is a named Virtual Machine size configuration in the cloud config. See usage details.