Plan Composer


The Elastra Plan Composer performs explicit reasoning and deliberation on behalf of system administrators. It chooses and organizes actions that the cloud control plane should take, by anticipating the expected outcomes of those actions.

IT change activities typically require some level of coordination or planning. A developer or administrator might perform minimal planning to make immediate changes to a deployment when these changes are low-risk, and when undesired effects can be backed out at a low cost.

But, high-availability, interconnected IT environments are complex. System configuration and deployment management activities occur in multiple contexts: what parts of the system are currently deployed, what state they are in, the ultimate goal of the activities, etc.

System administrators use tools and collaboration to help them understand context and how to accomplish their goals.  Goals, however, such as recovery, scale-out, or upgrade, can require multiple changes across different sets of infrastructure. These changes must occur in a specific sequence. Furthermore, not all situations can be encoded in a repeatable script or workflow, since the context of each change may be different. Often, automation technology’s promises of faster, more accurate deployments are stalled by cross-functional change board reviews that have to scrutinize every dependency and potential impact.

The Elastra Plan Composer enables administrators and change boards to synthesize a plan for execution. It analyzes the proposed application designs and infrastructure models, comparing them against a library of actions and outcomes. It then generates a plan guided by preferences or constraints in the models.

Extensibility occurs through operational knowledge modules in the Plan Composer. These modules provide searchable, reusable process descriptions that encode the operational know-how for specific subject areas. For example, a “network knowledge module” can interpret and enact a network configuration; a “resource allocation knowledge module” knows how CPU, storage, and memory should be allocated to an application.