vRealize Automation Composition Service API

Composition Service API Specification

What Is the Composition Service?

The composition service allows vRA services to register application components, which the composition service manages so that they can be used in composite blueprints. The composition service analyzes the blueprint and breaks it down into tasks for each component service to execute when provisioning the blueprint, or later when performing a day-2 operation on the resulting deployment. The service that registers the component performs the actual tasks needed to provision and update the component.

Typical Use Cases

  • An infrastructure architect designs blueprints that provision virtual machines to various endpoints.

  • A software architect designs and registers application components that may be used in blueprints.

  • An application developer develops converged blueprints representing entire application stacks using machine, network and software components.

  • A blueprint is made available for an end user to provision.

  • The deployment resulting from a blueprint being provisioned is able to be managed through various day-2 operations such as scale-in, scale-out, update, destroy.

Key Concepts

Composite Blueprint

A composite blueprint is a complex artifact representing a deployable application. This application may be composed of virtual machines, software components, XaaS blueprints, nested composite blueprints and so on. The blueprint captures the components themselves, the dependencies between components, associated property definitions - everything necessary to create a running instance.

Component Type

The composition service provides a component type registry, which allows other services to define component types which may be used as part of a composite blueprint. Machines, software components, XaaS blueprints and network components are some of the component types registered with the composition service by other services (component type providers).

Component Type Provider

This is the service that is responsible for registering a component type with the composition service. The component type provider understands the details of the component - how to author, how to deploy, how to destroy, and so on. The composition service orchestrates blueprint operations - authoring, provisioning, teardown - but relies on the provider to handle the details for the component. For example, IaaS is responsible for managing the lifecycle of machine components.

Execution Flow

When a blueprint is requested from the catalog, the composition service analyzes the components and their inter-dependencies to create an ordered set of tasks. It works with the component providers, which actually carry out these tasks.

For more detailed usage information on the API refer to the vRA Programming Guide.

 

Related Documentation

Related Sample Code