Posts Tagged 'Java PaaS'

Selecting a Cloud Java Platform

I recently posted about a project I am working on that will use cloud computing, and in particular a Java-based Platform as a Service (PaaS). The choice of platform came down to three providers:

  • Google App Engine
  • Amazon ElasticBeanstalk
  • CloudFoundry

Based on our requirements, each of the above platforms can be summarised as follows:
Google App Engine
This platform has many nice features, but does not support full Java. The lack of relational database support is also not ideal, but support for JPA is provided. Spring Framework applications can be deployed seamlessly. For our applications, where we wish to connect to Web services, the restricted I/O library support, coupled with the fact the outbound connections are forced to close after 10 seconds is not acceptable. The cost model is clear and attractive with a high free CPU and storage quota. Another factor for our application is the fact that SSL on customer domains is not supported.
Elastic Beanstalk
Amazon’s offering is attractive in that it offers the elegance of PaaS, but also the control of IaaS if required with support for full Java. Whilst still in beta, this service offers everything we require. The usage cost is clearly defined. A downside maybe is that the service is still in beta.
CloudFoundry
This service from VMWare, is very similar to Elastic Beanstalk without the lower level (IaaS type) control. The toolset is elegant and simple. The feature set is not quiet as rich as Beanstalk, for instance there is no email service as is available from Amazon AWS. However, the downside for this service is that it is in beta and currently free to use, but there is no indication as yet as to what the pricing model maybe.
In summary
We have decided to use Amazon Elastic Beanstalk, as it offers all the features we require with a clearly defined cost model. In addition, it offers the control at the level of IaaS if required. CloudFoundry is elegant too but with no pricing model available, and we cannot launch a live system on this. Google App Engine is elegant but suffers because of the lack of full Java support required for out application. We have in the background also began examining CloudBees. I will let you know about that in a future post. I will also keep you updated with out progress using Elastic Beanstalk. What is nice for Java developers is that there are many excellent choices available for PaaS.

Chris Czarnecki

Choosing a Java Cloud Platform: Defining Requirements

Over the last few months I have been working on a development project for a client. The system is a Web application with a store front that sells corporate hospitality packages and tickets for large sporting and cultural events. The kind of events offered include Formula One grand prix’s, Wimbledon Tennis, the Rugby world cup, music concerts amongst many others. The software has been developed in Java using the Spring framework. This application appears to be perfect for deploying to the cloud. Whilst the traffic to the store will hopefully be steady, if all goes to plan there will be large spikes as new events are announced and ticket demand is high. Capacity planning can be difficult for this type of traffic and if not undertaken correctly results in loss of business and damage to an organisations reputation.

For this application, using a Java Platform as a Service (PaaS) is an ideal solution as it will provide the elasticity required to grow and shrink resources according to demand as well as being payable on a per use basis. In addition, the significantly reduced administration involving configuration of servers is also a major benefit. With the decision to use PaaS made, which vendor would be the most appropriate is the next question to be addressed. Any PaaS solution needs to meet a number of requirements for us, including:

  • Support full Java
  • Support frameworks such as MVC and JPA
  • Enable access to relational database
  • Enable naked domain mapping to application
  • Enable SSL on naked domain
  • Handle different media including video efficiently
  • Host Web service clients
  • Host Web services

This is not a particularly demanding list of requirements and I set out to evaluate the available commercial platforms. I will report my findings in the next post to follow soon.

Chris Czarnecki


Learning Tree Logo

Cloud Computing Training

Learning Tree offers over 210 IT training and Management courses, including Cloud Computing training.

Enter your e-mail address to follow this blog and receive notifications of new posts by e-mail.

Join 53 other followers

Follow Learning Tree on Twitter

Archives

Do you need a customized Cloud training solution delivered at your facility?

Last year Learning Tree held nearly 2,500 on-site training events worldwide. To find out more about hosting one at your location, click here for a free consultation.
Live, online training
.NET Blog

%d bloggers like this: