stratos-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Eppel (meppel)" <>
Subject RE: [Discuss] Grouping of services (cartridges)
Date Fri, 28 Mar 2014 17:49:40 GMT

I think this property will be a quite useful piece to solve the grouping issue:

I also would like to suggest to add the serviceGroup to the topology map (in case it is not
yet available in the topology map). This  will help to tie together cartridges (or services)
in the autoscaler and , for example enable synchronized auto scaling behavior of services
within a service group, like synchronized scaling, sequenced boot up, etc ....

In addition the autoscaler should be enhanced to add additional (but optional properties)
in the auto scaling policy related to a service group to govern the respective auto scaling

For example, related properties should identify a service group and other related properties
to define dependencies between the various cartridges in the service group like boot sequence,
scale up / down ratios, termination dependencies, etc ... . The property set (or json structure
) should be fairly flexible as we are just about to explore this new feature and should be
easily expandable.

I would think that these additions will also prove useful to integrate in the long term with
CAMP (or other spec) but will help to solve more immediate requirements

Btw, I am currently looking into this

What do you think ?



From: Jeffrey Nguyen (jeffrngu)
Sent: Thursday, March 27, 2014 8:23 AM
To: Sajith Kariyawasam
Cc:; Martin Eppel (meppel)
Subject: Re: [Discuss] Grouping of services (cartridges)

Thank you Sajith.  It seems we could leverage this grouping property as a short term solution
to manage cartridges while we're waiting for a longer term solution.


From: Sajith Kariyawasam <<>>
Date: Thursday, March 27, 2014 12:20 AM
To: jeffrngu <<>>
Cc: "<>" <<>>,
"Martin Eppel (meppel)" <<>>
Subject: Re: [Discuss] Grouping of services (cartridges)

On Thu, Mar 27, 2014 at 1:38 AM, Jeffrey Nguyen (jeffrngu) <<>>
Hi Martin,

I just saw this commit e20b3ea41b9f692f16567cce4e8cc7dc241e5ce6 (Adding internal repo based
cartridge subscription. Adding service group property to Cartridge definition) today.   Looks
like Sajith just added an enhancement to allow grouping of services.


Can you comment on the use of the new service group property?

Hi Jeffrey,

I added that property to allow simple grouping of cartridges. Cartridges having the same group
name will be displayed in a group in UI so that subscriptions can be done to that group.



From: Lakmal Warusawithana <<>>
Reply-To: "<>"
Date: Monday, March 17, 2014 8:17 PM
To: "<>" <<>>
Subject: Re: [Discuss] Grouping of services (cartridges)

Hi Martin,

As Nirmal mention, we can looked at CAMP support for composite application deployment. It
is great if you can do some R&D on it. We have to focus on following, which came to my
mind at this point

  *   How we can group cartridges (cartridge type, versioning etc.)
  *   Need to identifying cupeling pattens. loosely coupled or tiredly coupled. For eg. some
scenario we have to group application cartridge with data cartridges, in that case best is
run in single network partition. This is somewhat tiredly coupled. So scaling them into deferent
region, we have to maintain these coupling. (sometime we have to maintain ratio of the cartridge
  *   How can we deploy composite application artifacts into relevant cartridges. (single
repository maintain artifacts for all group cartridges. Artifact distribution coordinator
which reside in SM need to distribute among dependance cartridges)
  *   think about scale up/down scenarios
  *   Start dependancies

IMO we can bring this support on 4.1.0/4.2.0 release.


On Tue, Mar 18, 2014 at 7:57 AM, Nirmal Fernando <<>>
Hi Martin,
Sometime back Paul suggested Stratos to use the CAMP specification
May be you can get some ideas out of it.

On Mon, Mar 17, 2014 at 4:55 PM, Martin Eppel (meppel) <<>>

I am looking into some enhancements to the stratos controller that would allow us to group
cartridges (= services) together and have them behave in synch like a group.

Examples would be
- maintaining a boot sequence (e.g. for service A to boot up service B needs to be up, etc
- scaling of a group of services (if service A needs to scale up, service B and C also need
to scale up)
- restart (e.g. based on health monitoring, e.g. if service B is unhealthy restart service
B and A)

Some idea which comes to mind is to define the dependencies and extend current autoscaler
rules to handle the various scenarios or define a new message type which could trigger specific

Any thoughts on that how to support this ?



Best Regards,

Nirmal Fernando.
PPMC Member & Committer of Apache Stratos,
Senior Software Engineer, WSO2 Inc.


Lakmal Warusawithana
Software Architect; WSO2 Inc.
Mobile : +94714289692<tel:%2B94714289692>
Blog :

Sajith Kariyawasam
Senior Software Engineer; WSO2, Inc.
Mobile: +94772269575

View raw message