Easy Webapp On AWS
AWS (Amazon Web Services) is very elaborate. Being very feature rich has its share of disadvantage – hard to use, difficult to find what you need. This doesn’t mean you cant build anything easy on AWS.
The easy (probably easiest) way to launch a web application on AWS is to use Elastic Beanstalk (this should be the competition to Heroku)
-
This is a “canned” service. You just choose your language of programming and most other things get setup for you automatically. This includes load balancer (ELB), Servers (EC2), Software Stack (Python, Php, Ruby, Java etc – your choice), Auto scaling (add/remove servers automatically based on load).
-
Support for deploying build, rolling it back to any version.
-
Multiple environments – You can use this to propagate a build from dev to qa to staging to production easily. Configuration for these stages can be externalized from the code.
-
Bundled Database (RDS) if you need one. On the other-hand, if you need a no-sql DB, DynamoDB is also equally easy to use.
-
Cache. Most applications would need a cache between the Database and web-servers. AWS Elasticache (memcache or redis) is a fully managed cache cluster, you can use here. This can come between your RDS/Dynamo and Beanstalk and speed up those reads !
Though this is a canned service, it gives enough flexibility where-ever you need. You can add custom configuration files, if needed. All the individual services packaged by this is also individually controllable.