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?
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 dependency)
- 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 <firstname.lastname@example.org> wrote:
May be you can get some ideas out of it.Hi Martin,Sometime back Paul suggested Stratos to use the CAMP specification http://www.infoq.com/news/2012/08/CAMP-PaaS
On Mon, Mar 17, 2014 at 4:55 PM, Martin Eppel (meppel) <email@example.com> wrote:
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 rules.
Any thoughts on that how to support this ?
PPMC Member & Committer of Apache Stratos,
Senior Software Engineer, WSO2 Inc.