As I mention in the [LXC based Cartridges] mail we want to have smart policies to auto scaling. Depending these policies Cloud Controller (CC) should define correct topology based on auto scaler decision.
Will take PHP cartridge. Here some sample policies. Policy 1 - 512 MB RAM, Auto scaling upto 2 Policy 2 - 1024 MB RAM, Auto scaling upto 2 Policy 3 - 512 MB RAM, Auto scaling upto 5 , Auto scaling into different VM Policy 4 - 1024 MB RAM, Auto scaling upto 5 , Auto scaling into different VM , Different HW Policy 5 - 512 MB RAM, Auto scaling upto 5 , Auto scaling into different VM , Different data center Policy 6 - 2GB RAM, One Cartridge process for one VM In the diagram, subscription B has policy 1. Its Cartridge process utilize 512MB RAM and auto scaling into same VM. So it has two Cartridge processes running in same VM. Subscription C has policy 2. Its auto scale into separate VM. So depending on defined policy we can have different level of High Availability. To implement this we need to have policy language to define policies. From CC we should read these policies and define the appropriate topology. Policy can be define by devops who are setting up Stratos. These policies will utilize/assign when subscribing to the cartridge. I am highly appreciated your help to identify/use some policy language implement this or any existing project that we can use in this area. And we are mostly welcome who can contribute in this. thanks -- Lakmal Warusawithana Software Architect; WSO2 Inc. Mobile : +94714289692 Blog : http://lakmalsview.blogspot.com/
