Why to use Amazon AWS
Recently everyone has started talking about moving application to cloud. Here are few reasons why someone should move to cloud, what services Amazon is providing and why to use Amazon offering.
Amazon Web Services (AWS for short) 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.
For transient events like this, AWS makes a lot of sense. The traffic is high for about a week, and then will dwindle off, allowing me to manage the amount of server power needed to host the backend without being tied into a yearlong contract, or paying for power I don't necessarily need.
Here are 5 reasons for choosing AWS and taken the top five and explained them here. So let's dive in and see why AWS is better than the competition, for big and small users.
5. A La Carte 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. Working at a bank made this painfully obvious, where we got concerned if the CPU on the mail server got over 10%. I never actually got an answer why we got concerned, as usually the server just kept chugging away, but that was the mentality. AWS helps deal with this problem by keeping it cheap during the slow times.
4. 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 associted 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 LoadBalancer 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.
3. 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 datacenters in the world, and if there is a problem, you're usually still online ,but with reduced capacity.
A great example of this is the recent "outage" that happened in the Northern Virginia cluster of AWS, one of Amazon's primary server farms in the US. It affected Reddit, Wordpress.com, and several other major sites. These sites were still online though, with many in a "read-only" mode, as Amazon had to shut down writing to their backend storage until they could resolve the problem.
In a traditional hosting environment, this probably would have meant downtime and 404 errors as the websites would have just gone dark. But in a truely 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. I personally host my sites out of the Northern Virginia 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%.
2. Deployment Speed If you've ever had to provision a hosted web service, you know this pain very well. Traditional providers take anywhere from 48-96 hours to provision a server. Then you have to spend a few hours tweaking it and getting everything tested.
AWS shrinks that deployment time to minutes. If you utilize their Amazon Machine Images, you can have a machine deployed and ready to acceptconnections 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.
1. 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.
Combined with the fantastic API and the Amazon Machine Images you create, you can have a completely customized solution that provisions a server instance in under 10 minutes, and is ready to to accept connections once it comes online. Then you can quickly shut down instances when they are no longer needed, making server management a thing of the past.
Here are list of services provided by Amazon:
1) Elastic Cloud Computing (EC2) We use EC2 in different ways and parts of our system. First off, it’s a really convenient way to run tests.
You can set up and bundled several EC2 test machines. Whenever needed,you can start an EC2 server using those bundles and have your test machines running in several seconds. It costs almost nothing, and you only pay for storing those bundles on Amazon’s S3, and for having those EC2 servers running during the test, which rounds up to a couple of cents during each test run.
Moreover, EC2 is perfect for scaling out your systems. Whenever there is any load on the servers, some magic scripts automatically start up additional work servers. Of course, the perfect way to handle it would be to take use of Amazon’s Auto Scaling solutions.
2) Simple Storage Service (S3) Amazon has proven its S3 as a reliable service to store whatever data you want on the cloud. S3 also stands behind some other AWS services, like storing your EC2 bundles, EBS instances, snapshots, etc. Other than that, we use S3 for storing various kinds of data files that we want available at any time we need.
3) Elastic Block Storage (EBS) Elastic Block Storage is used for more critical parts of our services. You can customize automatic snapshotting scripts for the EBS instances you run, taking daily/weekly snapshots for availability reasons. Unlike EC2 instances, EBS is more reliable and offers extended functionality, like backups, surviving service interruptions, etc. for a little extra cost :)
There is a really cool snapshotting tool by Eric Hammond called ec2-consistent-snapshot.
4) Elastic Load Balancer (ELB) In order to easily scale out and down, take use of Amazon’s Elastic Load Balancers. All you have to do is register an extra worker server with your load balancer, and it’s transparently added into the group of working servers behind the load balancers and your users won’t even notice a glitch.
Besides, load balancers are a perfect way of handling Amazon availability-zone blackouts. Furthermore, it can automatically detect unhealthy instances and route its traffic to other healthy ones, until the damaged server comes back online or replaced.
5) Route 53 Amazon Route 53. Once you get familiar with its API, Route 53 is a really easy and simple way of handling DNS routings in the cloud. Plus, the changes you make take effect almost instantly.
6) CloudWatch Amazon CloudWatch offers great monitoring options for all the instances within Amazon. It’s used for monitoring servers from a single location, sending alert emails and even sms messages, automatically taking critical measures, etc. It can automatically start a new instance, or replace unhealthy instances whenever necessary
Amazon Web Services (AWS for short) 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.
For transient events like this, AWS makes a lot of sense. The traffic is high for about a week, and then will dwindle off, allowing me to manage the amount of server power needed to host the backend without being tied into a yearlong contract, or paying for power I don't necessarily need.
Here are 5 reasons for choosing AWS and taken the top five and explained them here. So let's dive in and see why AWS is better than the competition, for big and small users.
5. A La Carte 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. Working at a bank made this painfully obvious, where we got concerned if the CPU on the mail server got over 10%. I never actually got an answer why we got concerned, as usually the server just kept chugging away, but that was the mentality. AWS helps deal with this problem by keeping it cheap during the slow times.
4. 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 associted 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 LoadBalancer 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.
3. 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 datacenters in the world, and if there is a problem, you're usually still online ,but with reduced capacity.
A great example of this is the recent "outage" that happened in the Northern Virginia cluster of AWS, one of Amazon's primary server farms in the US. It affected Reddit, Wordpress.com, and several other major sites. These sites were still online though, with many in a "read-only" mode, as Amazon had to shut down writing to their backend storage until they could resolve the problem.
In a traditional hosting environment, this probably would have meant downtime and 404 errors as the websites would have just gone dark. But in a truely 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. I personally host my sites out of the Northern Virginia 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%.
2. Deployment Speed If you've ever had to provision a hosted web service, you know this pain very well. Traditional providers take anywhere from 48-96 hours to provision a server. Then you have to spend a few hours tweaking it and getting everything tested.
AWS shrinks that deployment time to minutes. If you utilize their Amazon Machine Images, you can have a machine deployed and ready to acceptconnections 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.
1. 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.
Combined with the fantastic API and the Amazon Machine Images you create, you can have a completely customized solution that provisions a server instance in under 10 minutes, and is ready to to accept connections once it comes online. Then you can quickly shut down instances when they are no longer needed, making server management a thing of the past.
Here are list of services provided by Amazon:
1) Elastic Cloud Computing (EC2) We use EC2 in different ways and parts of our system. First off, it’s a really convenient way to run tests.
You can set up and bundled several EC2 test machines. Whenever needed,you can start an EC2 server using those bundles and have your test machines running in several seconds. It costs almost nothing, and you only pay for storing those bundles on Amazon’s S3, and for having those EC2 servers running during the test, which rounds up to a couple of cents during each test run.
Moreover, EC2 is perfect for scaling out your systems. Whenever there is any load on the servers, some magic scripts automatically start up additional work servers. Of course, the perfect way to handle it would be to take use of Amazon’s Auto Scaling solutions.
2) Simple Storage Service (S3) Amazon has proven its S3 as a reliable service to store whatever data you want on the cloud. S3 also stands behind some other AWS services, like storing your EC2 bundles, EBS instances, snapshots, etc. Other than that, we use S3 for storing various kinds of data files that we want available at any time we need.
3) Elastic Block Storage (EBS) Elastic Block Storage is used for more critical parts of our services. You can customize automatic snapshotting scripts for the EBS instances you run, taking daily/weekly snapshots for availability reasons. Unlike EC2 instances, EBS is more reliable and offers extended functionality, like backups, surviving service interruptions, etc. for a little extra cost :)
There is a really cool snapshotting tool by Eric Hammond called ec2-consistent-snapshot.
4) Elastic Load Balancer (ELB) In order to easily scale out and down, take use of Amazon’s Elastic Load Balancers. All you have to do is register an extra worker server with your load balancer, and it’s transparently added into the group of working servers behind the load balancers and your users won’t even notice a glitch.
Besides, load balancers are a perfect way of handling Amazon availability-zone blackouts. Furthermore, it can automatically detect unhealthy instances and route its traffic to other healthy ones, until the damaged server comes back online or replaced.
5) Route 53 Amazon Route 53. Once you get familiar with its API, Route 53 is a really easy and simple way of handling DNS routings in the cloud. Plus, the changes you make take effect almost instantly.
6) CloudWatch Amazon CloudWatch offers great monitoring options for all the instances within Amazon. It’s used for monitoring servers from a single location, sending alert emails and even sms messages, automatically taking critical measures, etc. It can automatically start a new instance, or replace unhealthy instances whenever necessary