Architecture

Cloudbreak deployer installs Cloudbreak components on a VM. Once these components are deployed, you can use Cloudbreak application or Cloudbreak CLI to create, manage, and monitor clusters.

Cloudbreak Deployer Architecture

Cloudbreak deployer installs Cloudbreak components on a VM. It includes the following components:

Component Description
Cloudbreak Application Cloudbreak application is built on the foundation of cloud provider APIs and Apache Ambari.
Uluwatu This is Cloudbreak web UI, which can be used to create, manage, and monitor clusters.
Cloudbreak CLI This is Cloudbreak's command line tool, which can be used to create, manage, and monitor clusters.
Identity This is Cloudbreak's OAuth identity server implementation, which utilizes UAA.
Sultans This is Cloudbreak's user management system.
Periscope This is Cloudbreak's autoscaling application, which is responsible for automatically increasing or decreasing the capacity of the cluster when your pre-defined conditions are met.

Cloudbreak Application Architecture

The Cloudbreak application is a web application which simplifies cluster provisioning in the cloud. Based on your input, Cloudbreak provisions all required cloud infrastructure and then provisions a cluster on your behalf within your cloud provider account.

Cloudbreak application is built on the foundation of cloud provider APIs and Apache Ambari:

Core Concepts

Before using Cloudbreak, you should familiarize yourself with the following concepts.

Cloudbreak Credential

After launching Cloudbreak, you must create a Cloudbreak credential for each cloud provider on which you would like to provision clusters. Only after you have completed that step you can start creating clusters.

Cloudbreak credential allows Cloudbreak to authenticate with the cloud provider and create resources on your behalf. The authentication process varies depending on the cloud provider, but is typically done via assigning a specific IAM role to Cloudbreak which allows Cloudbreak to perform certain actions within your cloud provider account. To learn more, refer to Identity Management.

Related Links
Identity Management

Ambari Blueprints

Ambari blueprints are a declarative definition of a cluster. A blueprint allows you to specify stack, component layout, and configurations to materialize a cluster instance via Ambari REST API, without having to use the Ambari cluster install wizard.

Ambari blueprints are specified in JSON format. After you provide the blueprint to Cloudbreak, the host groups in the JSON are mapped to a set of instances when starting the cluster, and the specified services and components are installed on the corresponding nodes.

Cloudbreak includes a few default blueprints and allows you to upload your own blueprints.

Related Links
Blueprints
Apache documentation (External)

Recipes

Cloudbreak allows you to upload custom scripts, called "recipes". A recipe is a script that runs on all nodes of a selected node group at a specific time. You can use recipes for tasks such as installing additional software or performing advanced cluster configuration. For example, you can use a recipe to put a JAR file on the Hadoop classpath.

Available recipe execution times are:

You can upload your recipes to Cloudbreak via the UI or CLI. Then, when creating a cluster, you can optionally attach one or more "recipes" and they will be executed on a specific host group at a specified time.

Related Links
Recipes