So far I've read some blog articles about cloud computing and services for hosting applications in the grid.

If I'd wanted to have a web application running in the cloud for as little cost as possible, what would be the best solution?

Let's assume the following configuration:

  • J2EE web application
  • Any free database (MySQL, PostgreSQL)
  • Any web container to deploy the web application to

What application stack would you suggest to be the best combination of services to

  1. host
  2. deploy
  3. run

web applications?

As an additional requirement, the services chosen shouldn't require a lot about server management like firewall settings etc.

Accepted Answer

This space is changing very quickly right now so I think you will find a lot of different good answers. If I where to do something on the cheap right now I would probably pick the following stack:

  • Web server: apache
  • App server: tomcat - use the clustering support if you need to grow or split at the apache level or even introduce a load balancer box at the very front
  • DB server: MySql - mainly because it is easy to cluster
  • Platform: scalr - The cloud setup is simple and cheap. It uses Amazon's cloud on the backend and that gets you a lot of extras like putting servers in different datacenters for redundancy.

Now you can add in or remove parts of this. You may not need a web tier out there and can just expose tomcat directly. You may need EJBs and in that case you can just fire up more nodes for that and create another tier. You may want to add a tier for load balancing in front of apache. You may want to use the Amazon cloudfront service to push static files to their edge network.

Written by carson
This page was build to provide you fast access to the question and the direct accepted answer.
The content is written by members of the stackoverflow.com community.
It is licensed under cc-wiki