Introduction
The number of Platform as a Service (PaaS) offerings is constantly increasing. Therefore, an understanding of the key strengths of each is vital in selecting the right PaaS for an enterprise’s business model and requirements. This article is a good place to start your analysis.
WSO2 StratosLive is the public PaaS offered by WSO2, which is powered by WSO2 Stratos, the complete, low foot-print, 100% open source, multi-tenented PaaS for public, private and hybrid cloud deployments. StratosLive offers a complete stack of middleware products as a Service. It has capability for service management, mediation, security, governance, monitoring, process and rules management, gadgets, mash-ups and more. Built on top of the the award-winning, OSGi-compliant, component-based WSO2 Carbon platform, WSO2 StratosLive has the same programming model of any of its stand-alone middleware products. This offers remarkable deployment flexibility and is also a factor enabling freedom from vendor cloud lockin in addition to its open source model.
Without further elaboration, let’s do a factual analysis of the features of WSO2 StratosLive with three leading PaaS providers available today: Google AppEngine, Amazon Elastic Beanstalk, and CloudBees RUN@Cloud.
Applies To:
1.5.1 |
The Comprison
The following table provides a summarization of the article "Java PaaS shootout" by Michael J. Yuan1 while adding WSO2 StratosLive to the comparison.App Engine | Amazon Beanstalk | CloudBee's Run@Cloud | WSO2 StratosLive | |
---|---|---|---|---|
What is it? | Users can upload servlets. AppEngine hosts them and manages them. | Managed Tomcat. Expensive. | Tomcat, load balancer. Integrated with SVN. Can change source code and update all deployment aspects. | SOA middleware platform as a service. Fully multi-tenant. Support both Java Web apps and Web services. |
Java support | Yes, but does not support some I/O and network operations | Full Java | Full Java | Yes, but File access is limited |
Outbound connections | Time out in 10 seconds | OK | OK | OK |
Support for standard Java Libs | Have problems when they use unsupported APIs | Yes | Yes | Yes (Java security manager limits file accesses) |
Performance and scalability | Auto scale, High scalability, but have bit high latency. Swapping the app out might slow down first request. | Auto scale by creating EC2 instances. | Can swap unused processes out of JVM. Can load-balance multiple tomcats in the same EC2 instance. | Auto scales (up & down) by monitoring the load and creating/shutting down new nodes. Load Balancer routes the requests. Can lazy-load services and other artifacts. |
Storage | Supports Big Table and Hosted MySQL. However, search support in BigTable case is limited. e.g. Each query can only have 100 results. | Supports RDS (relational) , SimpleDB (NoSQL) or can run with your own DB. | Has managed MySQL databases and provides a console to manage them. | Supports Cassandra as a Service, managed MySQL, and HDFS. Cassandra and HDFS support native multi-tenancy. |
Import/ export data | No (It is difficult due to 30 second time limit). | Can write code to automate. | Can write code to automate. | Can write code to automate. |
Integration with others | Integrates well with other Google services. | SQS, SES (email service), payment APIs | S3, SQS, SES etc. | Integrates with Google auth model and other WSO2 services. Also S3, SQS, SES etc. |
Session handling | Stores sessions to storage and handles them seamlessly. | Only sticky sessions. | Transparent session management. | Only sticky sessions. |
Multi-tenancy | Yes | No | No | Yes |
Here are few more key differentiators of WSO2 StratosLive:
- All these offerings support Web App Hosting as a Service. WSO2 StratosLive supports this and more. In addition to Web App Hosting, it also supports hosting Axis2-based services, Mediation, and Workflow hosting as a Service. WSO2 StratosLive is a real SOA platform as a Service and the only one that is.
- WSO2 StratosLive lets you move Axis2-based Web Services (.aar files) and workflows to the Cloud (to WSO2 StratosLive) without any changes to them. If you have some Axis2-based services, you can upload them to WSO2 StratosLive and it will just work. More importantly, deployments on StratosLive can be seamlessly migrated to an on-premise deployment environment or to a private cloud with minimum configuration effort, offering full freedom from cloud lock-in and remarkable deployment flexibility.
- WSO2 Stratos provides real multi-tenancy support. That is, different tenants think that they have their own servers, while they are actually served from one Java Server. In other words, tenant isolation is done at Java level, not at Virtualization level. That means, Stratos provides greater sharing capability and "Pay as you go" and "Pay for what you use" better than a VM-based model. WSO2 Stratos is the only AppEngine that does this out of other three PaaS offerings discussed here. For more details, please refer the papers 3, 4 and 5 in the references section.
Reference:
1. Java PaaS shootout - a technical comparison, Michael J. Yuan, Chief Scientist, Ringful Health, 2011
1. Java PaaS shootout - a technical comparison, Michael J. Yuan, Chief Scientist, Ringful Health, 2011
3. Multi-tenant SOA Middleware for Cloud Computing - 458–465, A. Azeez, S. Perera, D. Gamage, In 2010 IEEE 3rd International Conference on Cloud Computing
4. WSO2 Stratos: An Industrial Stack to Support Cloud Computing, IT: Methods and Applications of Informatics and Information Technology Journal, the special Issue on Cloud Computing, A. Azeez and S. Perera, 2011
5. A Multi-tenant Architecture for Business Process Execution - 9th International Conference on Web Services (ICWS), Milinda Pathirage, Srinath Perera, Sanjiva Weerawarana, Indika Kumara, 2011
Author
Srinath Perera, Software Architect, WSO2 Inc.
No comments:
Post a Comment