An application hosted in the cloud will:
- easily scale (with instantly deployable & API controlled instances, unlimited diskspaces, etc..)
- serve files faster with content delivery network (CDN) support
- have a better availability (with strong SLAs)
With the increasing number of providers & tools created, cloud hosting is getting simpler & simpler everyday.
Getting in the cloud, in most cases, will save so much time & resources when running a growing web application. You won’t need to think of the hardware, better react to the system resources & bandwidth usage fluctuations, pay exactly for what you use & much more.
Here is a collection of popular options & tools that can help you in hosting your applications in the cloud:
Cloud Hosting & Storage Options
Amazon Web Services (AWS)
Amazon Elastic Compute Cloud (Amazon EC2) - (hosting)
Amazon EC2 is a web service that provides you the environment to instantly launch (or remove) new servers (instances) with the OS & configuration you need which makes scaling of a web application much easier.
This functionality can be controlled via the web service APIs or tools to be mentioned in this post.
You are charged with the resources consumed like hours your servers (instances) work or the bandwidth used.
Amazon Simple Storage Service (S3) (storage)
Amazon S3 is the cloud storage option of AWS where unlimited number of files can be stored & retrieved.
It can be used with the API provided or various tools (mentioned in this post).
Pricing of the service is calculated with the number of requests made, amount of data stored & bandwidth used (transfers between EC2 & S3 are free)
AWS also offers other services that power (or powered by) EC2 & S3:
- Amazon CloudFront: content delivery network which enables faster delivery of files hosted on S3 to end users by distributing the files to various locations.
- Amazon CloudWatch: monitoring for EC2 resources like CPU, RAM, disk read/writes & more.
- Amazon SimpleDB: a simple web based database which provides basic db functions.