User story:

When user creates a web application (app type : war), he should be able to
select the runtime on which he wants his application to be deployed.

Application Creation: Steps:

1. A user navigates to ‘Create Application’ page.

2. Selects the application type as Web Application (app type = war).

3. Appfactory would populate a drop down list that displays the available
runtimes:

WSO2 Application Server v 5.1.0

Apache Tomcat v 7.0.54

4. User selects ‘Apache Tomcat’ as his preferred runtime and creates the
application

(Appfactory will record this information for later use).


Application Deployment:

1. Upon the very first deployment of any application version onto a
particular stage, Appfactory would make a subscription in Stratos, based on
the selected runtime during the application creation (git repository
containing the war artifact is provided during the subscription).

Examples:

a) A trunk version of the application is auto-built and auto-deployed onto
the ‘Development’ stage. Before the very first deployment happens (after
the auto build) Appfactory should make the subscription.

b) Promotion of an application


   - A developer promotes a particular version of an application from the
   Development stage to the Testing stage.
   - A QA Engineer clicks on the ‘Deploy’ button of that version.
   - Appfactory checks whether there is a subscription available for this
   application in Testing stage.
   - If there is no such subscription already, then Appfactory would make a
   new subscription based on the runtime selected during the application
   creation.
   - Appfactory would deploy the particular application version onto the
   server in the Test Stage.


2. If the runtime selected by the user is based on a single tenanted
cartridge, Stratos will spin up a new cartridge once a subscription is
made. If the runtime provided is a multi-tenanted cartridge, the instances
are created  when cartridge definition is provisioned (as specified by the
autoscaling and deployment policy).

Improvements:

User could be given the option to select the runtime per application per
stage.

(e.g. Apache tomcat dev/test stages , WSO2 Application server for
Production stage)



-- 
Regards,

*Madhawa Bandara*
Software Engineer
WSO2, Inc.
lean.enterprise.middleware

Mobile - *+94777487726*
Blog* - *classdeffound.blogspot.com
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to