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:
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.