Beyond JEE: Introducing Groovy based DSL for scaling and managing
your app on any cloudNati [email protected]
The Good Old Application Package
Good as long as..
Everything is based on JavaEvery API had a standard behind itStatic servers deployment
Things have changed
• The world is heterogeneous• Cloud - The new data center• Tons of OSS projects• New leaders: Google,
Amazon, Twitter..• Speed of change ->
continues delivery
The Open API Explosion
The new Application Stack
Distributed Dependencies
Distributed Dependencies
Java, Node.js, Ruby, NoSQLJava, Node.js, Ruby, NoSQL
We need a new way to describe and deploy those apps..
application { name="simple app"
service { name = "mysql-service”} service { name = "jboss-service" dependsOn = [“mysql-service”}}
APPLICATION DESCRIPTION THROUGH RECIPES
8
Recipe DSLLifecycle scriptsAvailability & Monitoring
ProbesCustom plug-ins(optional)
service {name "jboss-service"icon "jboss.jpg"type "APP_SERVER“numInstances 2[recipe body]
}
lifecycle{ init "mysql_install.groovy” start "mysql_start.groovy” stop "mysql_stop.groovy"}
..
compute{ template “BIG_LINUX_32”}
Deploying Recipes
References
• CloudifySource – OSS project
• DSL In Action – Writing DSL in Groovy
https://github.com/CloudifySource/cloudify