Separate “App Deployed” Stage in Provisioning Workflow

Suggestion
Add a separate ‘App Deployed’ stage in provisioning workflows which would run after all Instances of an App deployment have been deployed and received their code deployments. It should run after scaling events

Description
There currently is no (easy) way for tasks on all Instances to be run simultaneously after all resources in an App Blueprint have been created and have their initial code deployments performed, or if additional code deployments, or if scale events happen on this App.

This new proposed lifecycle step would be invoked on all defined Provisioning Workflows in play for any container/server/vm in any Instance within an App Blueprint, when:

(
( all the ‘provisioning’ lifecycle tasks have been run on all Instances of the App
AND
after all initial code deployment steps have been performed in all Instances of the App )
)
OR
( after any new code deployment has been performed in any of the App’s Instances of a deployed App )
OR
( after any scale up event that creates a new container in any instance within the App )
OR
( after any scale down event that removes any existing container in any instance within the App )

Use case
An App has containers in Instance “A” that need to be configured with information (think IP addresses, hostnames, etc.) from containers in its Instance “B”. If Instance “B” gets a scale up or down event, containers in Instance “A” might need to update their configuration. If containers in Instance “A” or “B” receive a code deploy, these configurations might have to be re-run/updated.

There is currently no (easy) way to accomplish this, especially if you boot sequence for example a 3-tier environment in your App. DB boots first, Application second, Web third.

How would you now configure the application tier containers with IP address information of containers created in the Web tier Instance that gets created only after the Application tier is done deploying due to the boot order?

This new lifecycle in a provisioning workflow would enable you to do this with ease.