For those interested in deploying their Java applications on the cloud, lets take a look at some popular options available to developers
- Oracle Java Cloud Service
- Amazon Elastic Beanstalk
- Google App Engine
Oracle Java Cloud Service positions itself as a PaaS solution.
- OJCS doesn’t expose the underlying infrastructure
- OJCS uses the Oracle stack which includes Weblogic 11 running on the Exalogic Platorm.
- This Exalogic platform uses optimised Sun Microsystems hardware plus Oracle stack, and shows high processing speeds and throughput.
- Supports a larger number of Java standards as compared to the other two.
- Good Eclipse/JDeveloper support.
- Of the three options, has the most focus on providing maximum Java API support.
- There could be more Fine grained control of the underlying infrastructure.
Amazon Elastic Beanstalk
- EB also can integrate with other Amazon services. e.g. – AWS exposes the features such as
- EC2 machine instances, Elastic Load Balancer and Security Groups.
- Allows for more fine grained control of the infrastructure
- An Eclipse plugin provides ease of use.
- Java support is via a Tomcat instance that supports JSP/Servlet but does not include Enterprise Java Beans.
Google App Engine
- Doesn’t expose the underlying infrastructure
- Supports JSP/Servlets but not the entire Java API.
- Basic Eclipse support is available.
- Limits access and control of the underlying infrastructure
- No EJB support
Having, as I do, a slight tilt to AWS, AWS offers the following Java support, in case you decide to go with it:
•The JDK (Java Development Kit)
•The Tomcat Web Container
•Downloaded Libraries. Elastic Beanstalk platform configurations include few libraries by default. Other that are required can be downloaded and included in your project. e.g. – JUnit, Google Guava, Apache Commons.
•AWS SDK for Java – for Java access to AWS resources
•IDE support – Eclipse and IntelliJ
•AWS Toolkit for Eclipse – open source plug-in for the Eclipse Java IDE