PaaS Cartridges and Polyglot Programming

DevOp teams want PaaS service efficiency with customization flexibility.   Rather than fit development teams into a one-size-fits-all platform box, teams desire to extend a PaaS foundation with best-of-breed components, frameworks, and languages.   While early 1.0 PaaS offerings (i.e. Google AppEngine, prescribed a specific development model and framework set,  next-generation PaaS offers a polyglot PaaS and polyglot programming experience, delivering the ability to mix-and-match application platform capabilities into an customized application Platform as a Service (aPaaS) cloud.
To support a polyglot programming model, PaaS infrastructure must decouple and separate PaaS foundational infrastructure, PaaS services, and application platform components.   A PaaS cartridge model encapsulates application platform components and links them to PaaS infrastructure components responsible for elastic scalability, resource pooling, on-demand self-service, and metering.  Vendors describe the encapsulation wrapper as droplets (Cloud Fondry), dynos (Heroku),  or cartridges (RedHat OpenShift, WSO2 Stratos).

The WSO2 Stratos 2.0 approach maintains multi-tenant shared container isolation for WSO2 Carbon application platform components, while also offering standard virtual machine and Linux container (LXC) isolation and tenancy for both Carbon and non-carbon components.  A cartridge architecture supports a polyglot programming model that enables developers to mix-and-match programming languages (e.g. PHP, Ruby, JavaScript, Java), frameworks (e.g. couchDb, MySQL, JEE), and application platform servers (e.g. Tomcat, Jetty, JBoss) in the PaaS.

demo ready Oracle VirtualBox image is available for quick and efficient evaluation, and the download version with LXC cartridges is available for a more detailed evaluation, and documentation to create your own cartridges is now available for review.

Leave a Reply