Get started > Key Concepts > Overview > Service Designs > Topology composition

Topology composition

An application design, also called a topology design, specifies components and their relationships to define the application lifecycle. An application design delegates lifecycle sequencing to cloud providers.

An application design can be of two types:

  • Complete design: all components in this design exist for fulfillment
  • Partial design: this design requires another design for fulfillment

Topology composition is used to compose the application design with the infrastructure design at run time. During application deployment, the infrastructure need varies for each deployment; topology composition helps in defining these variable infrastructure needs in the application design and allows to compose with different infrastructure designs at deploy time.

The capabilities and characteristics are used to describe the components. The application design will define the requirements using the capability components and characteristics in the design. The application design cannot be provisioned on its own and requires the selection of a compatible service design. The service design components are matched for their capability and characteristics to check the compatibility and the matching designs are chosen as compatible service design during the deployment.

The following illustration shows the topology composition for an HR insurance app. The app requires a database component and web server component, which are defined in the application design APP. This is fulfilled by PLATFORM1 as it has the Apache Web Server which has the web server capabilities and its characteristics and MySQL database, which has the database capability and its characteristics. Similarly the PLATFORM2 also matches the APP requirements.