Amazon Web Services (abbreviated AWS) is a collection of remote computing services (also called web services) that together make up a cloud computing platform, offered over the Internet by Amazon.com. The most central and well-known of these services are Amazon EC2 and Amazon S3.
AWS is a suite of hosting products that aims to take the headache out of traditional hosting solutions. Services like Dropbox and websites such as Reddit all use AWS. In Fact we feel that we are in a good neighbourhood by being on AWS.
For transient events like this, AWS makes a lot of sense. The traffic is high during the day, and then will dwindle off, allowing us to manage the amount of server computation needed to host the backend without being tied into a yearlong contract, or paying for power we don't necessarily need.
I've compiled a few of our reasons for choosing AWS and explained them here. So let's dive in and see why AWS is better than the competition, for big and small users.
On the Go Pricing
Amazon took a refreshing approach to pricing its hosting when launching AWS. Every service is "a la carte", meaning you pay for what you use. This makes a lot of sense for server infrastructure, as traffic tends to be very bursty, especially the larger the site is.
Traditional hardware, for the most part, goes unutilized for 90% of its lifecycle. AWS helps deal with this problem by keeping it cheap during the slow times.
The Free Tier
The biggest reason many people do not use AWS is lack of knowledge. EC2 is not like a traditional hosted solution, as it's designed to bring servers online and offline very quickly as needed. Because of this, many IT professionals were leery of using EC2 (or the rest of the AWS suite) because of the cost associated with "playing around" to figure it out.
The free tier, which provides enough credit to run an EC2 micro instance 24/7 all month, resolves this. It comes with S3 storage, EC2 compute hours, Elastic Load Balancer time, and much more. This gives developers a chance to try out AWS's API in their software, which not only enhances their software, but also ties them to AWS, which benefits Amazon in the long run
Performance
There's no denying the speed of AWS. The Elastic Block Storage is nearly as fast as S3, but provides different features. EC2 Compute Units give Xeon-class performance on an hourly rate. The reliability is better than most private data centers in the world, and if there is a problem, you're usually still online , but with reduced capacity.
In a traditional traditional hosting environments, this probably would have meant downtime and 404 errors as the websites would have just gone dark. But in a truly cloud-hosted environment like AWS, there's enough separation between processing and storage that sites can remain online and continue generating revenue even with reduced functionality. We host our sites out of the Northern Virginia cluster and Oregon cluster, and experienced no problems.
But the performance power of AWS is in the storage. The distributed nature of EBS and S3 yields millions of input/output operations per second to all instances. Think of it like having a raid array of SSDs attached to a particular computer. Add in incredible bandwidth, and you have a storage system that is capable of vast scaling, with the reliability of 99.999999999%.
Deployment Speed
AWS shrinks that deployment time to minutes. If you utilize their Amazon Machine Images, you can have a machine deployed and ready to accept connections in that short amount of time. This is important when, for example, you are running a promotion that generates tons of traffic at specific intervals, or just need the flexibility to handle the demand when a new product launches.
Security
Access to the AWS resources can be restricted using the I AM(Identity and Access Management), using the roles in IAM we can define the privileges for user actions which greatly reduces any malpractices.
AWS also provides VPC, which can be used to host our services on a private network which is not accessible from the internet, but can communicate with the resources in the same network. This restricts the access to the resources such that any ill intentioned user from the internet.
Flexibility
The most important feature in AWS is its flexibility. All the services work and communicate together with your application to automatically judge demand and handle it accordingly.