In the article "Java PaaS shootout" Michael J. Yuan provides a pretty nice comparison of Google AppEngine, Amazon Elastic Beanstalk, and CloudBees RUN@Cloud. Following table provides a summary of that while adding WSO2 Stratos to the comparison.
Also let me listout couple of key differentiators of WSO2 Stratos.
App Engine
|
Amazon beanstalk
|
CloudBee's Run@Cloud
|
WSO2 Stratos
|
|
What is it?
|
Users can upload servlets. AppEngine hosts them and manage them.
|
Managed Tomcat
Expensive
|
Tomcat, load balancer. Integrated with SVN. Can change
source code and update all deployment aspects.
|
SOA platform as a service.
Fully multi-tenant.
|
Java support
|
Yes, 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
|
Can lazy load services and other artifacts.
Auto scale (up down) by monitoring the load and creating new nodes. LB route the requests. |
Storage
|
Support Big Table and Hosted MySQL.
However, search support in BigTable case is limited.
e.g. Each query
can only have 100 results.
|
Support RDS (relational) , SimpleDB (NoSQL) or can run with your
own DB
|
Has managed MySQL databases and provide a console to
manage them
|
Support Cassandra as a Service, managed MySQL, and HDFS.
Cassandra and HDFS
support native multi-tenancy
|
Import/ export data
|
No (hard due to 30 sec limit)
|
Can write code to automate
|
Can write code to automate
|
Can write code to automate
|
Integration with others
|
Integrate well with other Google services
|
SQS, SES (email service), payment APIs
|
S3, SQS, SES etc.
|
With Google auth model and other WSO2 services. Also S3, SQS, SES etc.
|
Session handling
|
Store sessions to storage and handles them seamlessly
|
Only sticky sessions
|
Transparent session management
|
Only sticky sessions
|
Multi-tenancy
|
Yes
|
No
|
No
|
Yes
|
Also let me listout couple of key differentiators of WSO2 Stratos.
- All these offerings support Web App Hosting as a Service. WSO2 Stratos supports that, but provides much more. In addition to Web App Hosting, it supports hosting Axis2 based services, Mediation, and Workflow hosting as a Service. It is real SOA platform as a Service, the only one to does that.
- It let you move your Axis2 based Web Services (.aar files) and workflows to the Cloud (to WSO2 Statos Live) without any change to them. If you have some Axis2 based services, chances are that you can upload them to WSO2 Stratos and it will just work.
- WSO2 Stratos provides real multi-tenancy support. That is different tenants will think that he has his own server, while actually all are served from one Java Server. In other words, Isolation is done at Java level, not at Virtualization level. That means it can provide greater sharing and provide "Pay as you go" and "Pay for what you use" better than VM based model. Only AppEngine does that out of other three PaaS offering. More details are in following papers.
- A. Azeez, S. Perera, D. Gamage et al. (2010) Multi-tenant SOA Middleware for Cloud Computing, 458–465. In 2010 IEEE 3rd International Conference on Cloud Computing.
- A. Azeez and S. Perera et al., 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, 2011.
- Milinda Pathirage, Srinath Perera, Sanjiva Weerawarana, Indika Kumara, A Multi-tenant Architecture for Business Process Execution, 9th International Conference on Web Services (ICWS), 2011
No comments:
Post a Comment