Petals ESB Deployer 1.0.0

Introduction

Petals ESB Deployer is a tool to manage the deployment of a whole Petals ESB bus.

Deploying a whole Petals ESB bus includes to deploy Petals ESB containers, Petals ESB Hazelcast Registry, and service consumers or providers running on their binding components or service-engines correctly configured. The architecture of the Petals ESB bus and service providers/consumers to deploy are defined into a model.

Petals ESB Deployer is embedded into Petals ESB CLI through different commands:

  • the command deploy is extended to deploy a whole Petals ESB bus, and to migrate an existing deployment to a new version,
  • the command undeploy is extended to undeploy a whole Petals ESB bus,
  • the dedicated command check-deployment will check an existing Petals ESB bus against a given model describing the expected Petals ESB bus.
Petals ESB Deployer 1.0.0 is provided with [Petals ESB CLI *3.2.0*].

Use cases

The goal of Petals ESB Deployer is to resolve several deployment problematics:

  • how to simplify the deployment of a Petals ESB bus avoiding to use scripts for automating deployment ?
  • how to upgrade an existing deployment of a Petals ESB bus to a new version of this Petals ESB bus,
  • how to deploy a set of service providers and consumers on different environments, for example DEV, TEST or PROD where the Petals ESB bus topology and external resources are different ?
  • how to deploy a Petals ESB bus on different environments, for example STAGING, PRE-PROD, PROD where the Petals ESB bus topology is the same but where machines running Petals ESB bus and external resources are differents ?

Modeling your deployments

Petals ESB Deployer is based on a model defining your Petals ESB bus to deploy. This model contains all components and their configurations forming your Petals ESB bus.

The model of your Petals ESB bus is composed of several parts:

  • a Service-units Object Model: that list all service-units that must be deployed into your Petals ESB bus,
  • a Topology Object Model: that defines the topology of your Petals ESB bus,
  • a Bus Object Model the defines:
    • where are running the service-units, on which Petals ESB container of your topology,
    • where are running your Petals ESB containers, on which machine,
    • where are running your Petals ESB Hazelcast Registry nodes, on which machines,
    • which external resources are to be used.

Service-units Object Model

This model defines the set of service units to deploy on your Petals ESB bus. This model will be mainly written by development teams because they have the knowledge of service units to deploy.

Topology Object Model

This model defines the topology of your Petals ESB bus. This model will be mainly written by the Petals ESB bus architect.

Macro Error Cannot find the diagram with these parameters:
name: TopologyObjectModel
version:
pageName:
pageId: 28967288
spaceKey:

Bus Object Model

This model defines your Petals ESB bus. This model will be mainly written by the Petals ESB bus architect in agreement with operators.

Macro Error Cannot find the diagram with these parameters:
name: BusObjectModel
version:
pageName:
pageId: 28967288
spaceKey:

Petals Deployment Model

Class Diagram of the solution

(class in gray are not necessary for now)

It is made with DIA (source here [Petals ESB Deployer 1.0.0^model_v1.dia] )

? Unable to render embedded object: File (model_v1.png) not found.

Source code

Maven project work in progress (POC ?)

petals-deployment-model.zip

Example project

Here is a project to try making deployment model for an existing project (with script CLI)

hdbank-deployment-model.zip

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.