Hi Martin,

Thanks for the summary...I have a small doubt with Composite Application
Model. It is mentioned as below..


On Tue, Jul 8, 2014 at 8:07 PM, Martin Eppel (meppel) <mep...@cisco.com>
wrote:

>  I browsed over the previously exchanged emails, compiled and summarized
> it below (please correct me when my understanding is incorrect).
>
>
>
> + service Groups definitions are deployed independently of each other
> (similar to deploying a cartridge or policy)
>    (something along the lines like “deploy-service-group service-group-
> definition.json”, for sample definition see [1], [2])
>
> + service Groups are named and can be referenced in a composite application
>
> + generally, service groups logically groups other service group
> definitions and cartridge types and describes their interdependencies
>
> + dependencies are described as part of the service group definition
>
> + For the format and examples of a service group see [1], [2] below
>
> + other characteristics of service groups like auto-scaling, deployment
> restrictions  are describes as part of the composite application
>
>
>
>
>
> + Composite application is deployed independent of service groups
>
> + composite application references (already deployed) service groups and
> cartridges
>
> + provides required subscription and deployment  information for service
> group definitions and cartridge types
>
> + creates a specific instance of a service group / cartridge type by
> defining a service group alias and cartridge alias and also by assigning
> characteristics like auto-scaling, deployment policy, etc … which are
> specific for the application (for instance another application could define
> other deployment policies for the same service group definition)
>
> + composite application format and example see [3]
>
In [3] as you have referenced "group1", then don't we need to specify the
characteristics against the group/cartridge type which used in "group1" ?
In that case, we need to specify only for mongoDB as well as group1 based
characteristics? Please correct me, if i'm wrong..


Thanks,
Reka

>
>
> + N number of applications will be supported ?
>
>
>
>
>
>
>
> {
>
>     "name": "group1",
>
>     "cartridges": [
>
>         "mysql", "mongoDB"
>
>     ],
>
>     "dependencies": {
>
>         "killBehaviour": "kill-none"
>
>     }
>
> }
>
>
>
> [2].
>
> {
>
>     "name": "group2",
>
>     "subGroups": [
>
>         "group1"
>
>     ],
>
>     "cartridges": [
>
>         "php"
>
>     ],
>
>     "dependencies": {
>
>         "startupOrder": [
>
>             {
>
>                 "start": "group.group1",
>
>                 "after": "cartridge.php"
>
>             }
>
>          ],
>
>         "killBehaviour": "kill-dependents"
>
>
>
>     }
>
> }
>
>
>
> [3]
>
>
>
> {
>
>   "applicationId": "test_app",
>
>   "alias": "myapp1",
>
>   "components": [
>
>     {
>
>       "group": "group1",
>
>       "alias": "mygroup1",
>
>       "deploymentPolicy": "dep_policy_group1",
>
>       "autoscalingPolicy": "autoscale_policy_group1",
>
>       "subscribables": [
>
>         {
>
>           "type": "mysql",
>
>           "alias": "mygroup1.mysql",
>
>           "deploymentPolicy": "dep_policy_mysql",
>
>           "autoscalingPolicy": "autoscale_policy_mysql"
>
>         },
>
>         {
>
>           "type": "php",
>
>           "alias": "mygroup1.php",
>
>           "deploymentPolicy": "dep_policy_php",
>
>           "autoscalingPolicy": "autoscale_policy_php",
>
>           "repoURL": "www.mygit.com/php.git",
>
>           "privateRepo": "true",
>
>           "repoUsername": "admin",
>
>           "repoPassword": "xxxx"
>
>         }
>
>       ]
>
>     },
>
>
>
>   ],
>
>   "cartridges": [
>
>     {
>
>       "type": "tomcat",
>
>       "alias": "mytomcat",
>
>       "deploymentPolicy": "dep_policy_tomcat",
>
>       "autoscalingPolicy": "autoscale_policy_tomcat",
>
>       "repoURL": "www.mygit.com/tomcat.git",
>
>       "privateRepo": "false",
>
>       "repoUsername": "admin",
>
>       "repoPassword": "yyyy"
>
>     }
>
>   ]
>
> }
>
>
>
> *From:* Shaheedur Haque (shahhaqu)
> *Sent:* Tuesday, July 08, 2014 3:16 AM
> *To:* dev@stratos.apache.org; Martin Eppel (meppel)
> *Subject:* RE: Composite Application Definition with Reference to
> Deployed Service Groups
>
>
>
> Hi Isuru,
>
>
>
> See below…
>
>
>
> *From:* isu...@wso2.com [mailto:isu...@wso2.com <isu...@wso2.com>] *On
> Behalf Of *Isuru Haththotuwa
> *Sent:* 04 July 2014 09:11
> *To:* dev; Martin Eppel (meppel)
> *Subject:* Composite Application Definition with Reference to Deployed
> Service Groups
>
>
>
> Hi all,
>
> Since we have the Service Group persistence now, we can change the
> Composite Application to refer the previously deployed Service Groups [1].
> WDYT?
>
> [srh] I think I missed groups being deployed/persisted separately. Does
> the “subscription” information (meaning deployment and autoscaling only for
> a group, everything for a cartridge), get persisted with each group?
>
>
>
>
>
> The Subscribable section will carry subscription level information related
> to each cartridge in the group. Even for a nested group, we can specify
> this information as a flat structure (an array) since we already have
> captured dependency information from the deployed Service Groups. I believe
> this will reduce the complexity of this JSON definition. Note that there
> are policies (autoscaling/deployment) defined per group and per
> Subscribable. This is for the purpose of member/group wise scaling. Also
> note the alias I have used for two Subscribables in the group; I believe we
> can derive that from the group alias without the user having to give an
> explicit alias for each Subscribable. Sent a separate mail to the dev list
> suggesting that earlier with subject [2].
>
>
>
> [srh] Some questions:
>
>
>
> 1.      I think I don’t understand what application.components is, I
> imagined it rather as application.groups? That way, the application is
> itself just a subclass of group, albeit the one at the top and carrying any
> specialisation that implies.
>
> 2.      In [1] you don’t show nested groups. How should those be
> represented? Or are they not needed because groups are being
> deployed/persisted separately, and this application only specifies the top
> level groups/cartridges and their respective “subscriptions”?
>
>
>
> I’m a little uneasy about the inline model of the “subscription”
> information. I tend to think that this can be factored out (though it is
> not the end of the world to keep it inline) subject to my understanding of
> questions 1 and 2.
>
>
>
> BTW, I saw this email after I responded to [2] J
>
>
>
> Thanks, Shaheed
>
>
> [1].
> {
>   "applicationId": "test_app",
>   "alias": "myapp1",
>   "components": [
>     {
>       "group": "group1",
>       "alias": "mygroup1",
>       "deploymentPolicy": "dep_policy_group1",
>       "autoscalingPolicy": "autoscale_policy_group1",
>       "subscribables": [
>         {
>           "type": "mysql",
>           "alias": "mygroup1.mysql",
>           "deploymentPolicy": "dep_policy_mysql",
>           "autoscalingPolicy": "autoscale_policy_mysql"
>         },
>         {
>           "type": "php",
>           "alias": "mygroup1.php",
>           "deploymentPolicy": "dep_policy_php",
>           "autoscalingPolicy": "autoscale_policy_php",
>           "repoURL": "www.mygit.com/php.git",
>           "privateRepo": "true",
>           "repoUsername": "admin",
>           "repoPassword": "xxxx"
>         }
>       ]
>     },
>
>   ],
>   "cartridges": [
>     {
>       "type": "tomcat",
>       "alias": "mytomcat",
>       "deploymentPolicy": "dep_policy_tomcat",
>       "autoscalingPolicy": "autoscale_policy_tomcat",
>       "repoURL": "www.mygit.com/tomcat.git",
>       "privateRepo": "false",
>       "repoUsername": "admin",
>       "repoPassword": "yyyy"
>     }
>   ]
> }
>
>
>
>
> [2]. Composite Application Deployment and Subscription - Single Alias for
> a Group
>
> --
>
> Thanks and Regards,
>
> Isuru H.
>
> +94 716 358 048
>



-- 
Reka Thirunavukkarasu
Senior Software Engineer,
WSO2, Inc.:http://wso2.com,
Mobile: +94776442007

Reply via email to