Apache Stratos - The best PaaS to use

Apache Stratos (Incubating) is the Platform as a Service (PaaS) project from Apache community. WSO2 donated its cloud PaaS project to Apache, and it evolved over time with the nurturing from the Apache community in incubation.



What is Unique about Stratos?

As a PaaS framework, there are some key elements that the cloud computing industry is taking interest on Apache Stratos (incubating).


The Tenancy Model

Stratos uses an in-container multi-tenancy (MT) model. This means, for example, within an application server MT is available for applications. In other words, a container can host multiple tenants.
This tenancy model maximizes resource utilization across all tenants. A single instance of a container can cater for multiple tenants.
This model also yields a very good multi-tenancy density. There is no need to allocate memory (or other resources) per tenant.


Auto Scaling

The auto scaling model supported by Apache Stratos (Incubating) provides better control over how the platform scales. It provides multi-factor based auto scaling support where factors such as load average of instances, memory consumption of instances, in-fight request counts can be used to auto scale the cloud.
Straots also has  support for scaling non-HTTP traffic. The scaling algorithms are adaptable to any transport, thanks to the loosely coupled design.

Easy to use Cloud Bursting

Multi-cloud bursting can be used to burst into other public, private or hybrid clouds to scale up the capacity at peak times. The advantage with Stratos in cloud bursting is the architecture supports seamless topology management across multiple clouds when the cloud bursting happens. The topology management coordinates between auto scaler and cloud controller, making DevOps life easy, not having to do anything manual. Also there are comprehensive set of tools to monitor the system status, including unified logging and business activity monitoring (BAM) tools.    

Inherent Identity Management

The platform keeps track of who does what on whose behalf, making it easy to do manage, monitor and detect all identity related aspects. The platform comes with an identity management solution embedded to the platform.



Why Should a Developer Care?

Easy to Get Up and Running

Stratos PaaS is easy to get it up and running in quick time. A developer will be able to run and test PaaS framework on a single machine to try out. A developer can leverage the existing set of pre-built cartridges such as PHP, MySQL, Tomcat, .NET, Node.js, WordPress and a set of WSO2 middleware products to build SaaS applications.

Able to Add New Cartridges in Quick Time

If the programming language framework, application server or the database you are looking for if not available, the Straots platform is able to support those frameworks/languages in quick time, with cartridge plugin model. The implementation model for new cartridges is well defined and simple to use.


Easy to Develop Multi-Tenant SaaS Applications

Easy to develop and test multi-tenant enabled SaaS applications on top of Stratos. The programming model is natural, and the developer does not have to change anything that he/she would do developing an on-premise application. Just develop the application and deploy onto Stratos, and you will have a multi-tenant enabled SaaS application.

Why should an Enterprise Care?

For enterprises, Stratos PaaS framework would yield the least Total Cost of Ownership (TCO). The key here is the in-container multi-tenancy model, where the resource utilization is maximized across tenants. Also the setup, maintenance and DevOps cost are minimal with Stratos, thanks to the unique architecture that makes DevOps effortless. An enterprise can  run and maintain the PaaS to suite and cater for multiple audiences using the polyglot cartridges model, where it can support multiple databases, programming languages, frameworks, operating systems and even legacy systems.
An enterprise can start small when they initially start with cloud projects with Stratos PaaS. Then, as the cloud usage and need increases, the platform can be expanded based on the ROI that the PaaS brings in. This ensures the optimum and transparent utilization of resources allocated for the cloud projects.

Who else Should Care?

Independent software vendors (ISV) looking to build vertical SaaS offerings can leverage Stratos PaaS as the platform of choice for delivering multi-tenanted SaaS applications with low cost and effort. Given the loosely coupled component architecture and also the extension and plug-in points, it is very easy to use Stratos PaaS in an OEM model. Given the wide variety of cartridges and infrastructure as a service (IaaS) layers that Stratos supports, it is ready to be re-deployed in multiple setups with heterogenous systems. So the ISVs can leverage the build once and deploy anywhere model with Stratos.

Comments