Noobie to deploying any kind of web app. I have a Java (Play Framework) and MySQL server app running locally. I know that I can deploy it to EC2 (have once as a test), and that I can download some kind of module to get it to run on Google App Engine. But my question is -- do I need to?

I suppose I don't understand what my other options are -- are there other options besides these typical cloud offerings where I get my own server VM, get SSH access and run a Java application / install MySQL with admin access? If so, why would I choose EC2 / GAE over these other options?

I know that they are robust (mainly Amazon) and that's one reason. But I am fairly certain I do not need hardly anything that Amazon offers with their cloud packages other than the ability to run an EC2 instance. But then, I do need some level of customization, as I'm running a custom Java application and will need root level admin access, so from what I'e heard of GAE I probably would not use it.

  • You can run Play apps at Heroku, but last I checked they supported Postgres but not MySQL. Heroku is generally an option for web apps that use a framework (Play, Rails, Django, Flask, etc.) – Eric Wilson Feb 11 '15 at 13:46

Do you expect a situation where you would need to scale your application, and do it fast?

If yes, that's the point of cloud computing in general and Amazon's Elastic Compute Cloud in particular. You start small and you pay a small fee. But if your service is successful and you need to increase its capacity per ten, or hundred, or thousand in a matter of minutes, you can do it, eventually relatively easily.

If no, you may use an ordinary hosting, or host the service yourself¹. However, make sure to compare carefully the prices of ordinary hosting companies with the prices of Amazon or Azure: cloud hosting is quite competitive nowadays.

¹ Don't. If you love playing with hardware and have enough money for up-front costs and have a reliable ISP and can afford paying higher electricity bills and have place for noisy servers in your garage and understand the risks of hosting something yourself (including the risk of having all servers with all your data stolen one day), then feel free to do it.


The main alternative to AWS EC2 would be a dedicated server. Having dedicated hardware can be beneficial if the following are true:

  • You have a good sense of your capacity requirements.
  • Performance is important for your application.
  • You expect that the resource needs of your application will be fairly constant over time.
  • You expect that traffic will be non-trivial from the start.

With all of this in mind, a cloud provider will be best for most situations, for different reasons.

If the site is a startup, or new line of business for an existing company, you want the freedom to adjust your expenses as the site grows.

If the site is a hobby project, you will not be able to get a dedicated server for the amount that a low-end EC2 instance costs ($10/month, after 1 year free trial.)

But if a key part of your site's value is performance, and you don't care about the easy of changing capacity, then you would want to do some testing to determine if dedicated machines will perform better than cloud instances.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.