ClickStack - Application Containers

ClickStack - Application Containers

Last modified by Cyrille Le Clerc on 2013/12/12 19:44

The CloudBees ClickStack architecture is the core foundation that allows developers to choose from a variety of runtimes for running their applications.

Choosing a Stack

All applications deployed to RUN@cloud are associated with an application runtime container type (also known as a Stack or ClickStack).  By default, applications are set up to use a simple web container based on Tomcat 6.  The type can be overridden via the -t argument in the CloudBees SDK's deploy command:

bees app:deploy -a APPID -t STACK_ID PATH_TO_WAR_FILE

Stack Support

CloudBees classifies the stacks it supports into one of three types:

  • Curated Stacks - CloudBees updates these stacks on your behalf and offers complete support when you build and/or deploy apps in production using them. We have in-house experts who can field in-depth questions and fix issues associated with these stacks.
  • Managed Stacks - CloudBees offers complete support when you build and/or deploy apps in production, but does not proactively update the stack at this time.  CloudBees intends to graduate these stacks to Curated status. There may be areas within these stacks that are incomplete compared to Curated stacks. CloudBees documents where such areas are, and likely has work underway to fix these as we make progress toward moving them to Curated status.
  • Community Stacks - These stacks, which may be created by CloudBees or others, are provided for your use and customization. You can use them for development and deploy at your own risk. We may move these stacks to Managed status as we invest more and engage with a particular community.

Curated Stacks

CloudBees currently offers the following curated application stacks for running your Java applications.

Stack ID Description Application Format  More Info
tomcatServlet application container based on Apache Tomcat 6.0.32. This is the default container type.Servlet Web Application Archive (.war)
jbossJava EE 6 Web Profile application container based on JBoss 7.02Servlet Web Application Archive (.war or .ear)
jboss71Java EE 6 Web Profile application container based on JBoss 7.1 Servlet Web Application Archive (.war or .ear)Learn More
javaExecutes Java applications that are launched via Class.main()JAR file or ZIP'd directory Learn more

Managed Stacks

Please consult the detailed documentation on each of these managed stacks to determine what functionality gaps may exist. For example, the integration may not be complete with a specific service partner offering.

Stack ID Description Application Format More Info
tomcat7Servlet application container based on Tomcat 7Servlet Web Application Archive (.war)Learn more
glassfish3Java EE 6 Web Profile application container based on GlassFish v3Servlet Web Application Archive (.war)Learn more
jboss72Java EE 6 Web Profile application container based on JBoss AS v 7.2.0Servlet Web Application Archive (.war or .ear)Learn more
play2Native Play! 2 app containerZIP'd directoryLearn more
sbtNative SBT runtimeZIP'd directoryLearn more
nodejsNode.js support

Example: bees app:deploy -t nodejs  sampleapp.zip

If you want to specify a specific node version:
-R PLUGIN.SRC.nodejs=https://s3.amazonaws.com/clickstacks/admin/nodejs-clickstack.zip -R node.version=0.10.21
ZIP'd directoryLearn more

Community Stacks

The extensibility of the ClickStacks architecture allows applications to use a variety of community-contributed stacks.  The following stacks are under development on the CloudBees Community GitHub site. Functional gaps compared to curated stacks may not be well documented. New stacks may be released on the CloudBees Community GitHub site that are not listed below, so please check GitHub directly if you do not see what you're looking for.

Stack ID Description Application Format More Info
glassfish3-fullJava EE 6 Full Profile application container based on GlassFish v3Servlet Web Application Archive (.war)Learn more
glassfish4Java EE 7 Web Profile application container based on GlassFish v4Servlet Web Application Archive (.war)Learn more
glassfish4-fullJava EE 7 Full Profile application container based on GlassFish v4Servlet Web Application Archive (.war)Learn more
jetty9Servlet application container based on Jetty9Servlet Web Application Archive (.war)Learn More
vertx2Vert.x 2 web aplicationsModule (.zip)Learn More
webmachineErlang webmachine frameworkZIP'd directoryLearn more
wildfly8Java EE 7 Web Profile application container based on Wildfly8Servlet Web Application Archive (.war)Learn More 
phpPHPZIP'd directoryLearn more
tomcat8Servlet application container based on Tomcat 8Servlet Web Application Archive (.war)  

Using uploaded and community stacks via URL

You may want to use a specific version of a stack - or you have just built one and uploaded it. The above ones are using a name - you can use any name you want - and then point to a url that contains the zip'ed up version of the clickstack you want it to use.

You use this like so: 

bees app:deploy -t pluginname -RPLUGIN.SRC.pluginname=https://URL_HERE

The name is arbitrary - it is the url that counts. You can see in some of the community supported ones above what a specific URL would look like (s3 is used due to scalability and availability - as this url will be hit for each target server the application lands on).

Contributing ClickStacks

ClickStacks are a very powerful and rapidly evolving extensibility point of the CloudBees platform.  We are currently accepting contributions for ClickStacks on our CloudBees Community on Github.  If you are interested in contributing to an existing ClickStack, you can fork the appropriate ClickStack project on GitHub, and then send pull requests for any changes that you'd like to make to improve the stack.  If you'd like to start a new stack, please contact us via our Support portal.

Developing and using your own ClickStacks

You can contribute your own clickstacks - here is a guide that shows you how to get started.

Where can I upload my own clickstack zip file to?

Very simply - use this app !

Tags:
Created by Spike Washburn on 2012/09/28 20:19