New Amazon Cloud features: Elastic Load Balancing, Auto Scaling, and CloudWatch
Last week, Amazon released some extremely interesting services that extend the functionality of Amazon Elastic Clouds (EC2): Elastic Load Balancing , Auto Scaling, and CloudWatch . If they were still free, it would be really cool! But first things first.
Imagine that you have several instances running in the Amazon cloud, performing the same task. Elastic Load Balancing allows you to automatically distribute incoming requests to specific instances. Moreover, it can detect fallen instances and automatically redirect traffic to workers until idle instances work again, which of course greatly increases the reliability of the entire system as a whole. The balancer can work both inside one zone (meaning the physical location of the servers) and between instances located in different zones, which further increases the reliability of your system as a whole.
The Amazon balancer is also integrated with CloudWatch (read below), so CloudWatch reports the number of requests and the delay of requests in its report. Looking a little ahead, it should also be noted that Elastic Load Balancing is quite friendly with Auto Scaling and can work together.
Of course, you can do the balancing yourself using, for example, nginx installed on one of the instances, but the reliability of such a solution will be lower, since when this instance crashes, your whole system will fall.
A delicious feature that allows you to automatically increase or decrease the number of running instances depending on the conditions you set. You can configure that with an increase in the load on each instance in the group of more than 70 percent, three more new instances are automatically launched, and when the load is less than 30 percent, the same number of instances will automatically stop. Moreover, a waiting interval can be set to prevent tripping in the event of accidental short-term drops or increases in load. All this is very convenient for servers experiencing an uneven load during the day, when at night and in the morning the load is very low, and in the evening it becomes the maximum.
You can also configure Auto Scaling to support a fixed number of instances in a group. When one of the instances fails, a new one will automatically start in its place. When working with the balancer described above, you can configure Auto Scaling, so that if the response from the instance is delayed by more than, for example, 4 seconds during the 15-minute interval, a new instance is automatically launched.
A service that supports monitoring and data collection from selected working instances. A few minutes after starting CloudWatch for a given instance, it begins to collect and save the necessary data. CloudWatch can collect the following information: processor load, read / write from disk and network traffic of the instance. Let me remind you that the use of CloudWatch automatically includes the use of Auto Scaling described above. The collected data is stored for two weeks, even if the observed instances have already been stopped.
Elastic Load Balancing will cost $ 0.025 per hour for one balancer and an additional $ 0.008 will be charged for 1 GB of external traffic passing through the balancer. For 10 working instances and 100 GB of incoming traffic per month, you get $ 18 + $ 0.8 = $ 18.8 per month.
Auto Scaling is free for those who use the CloudWatch service, that is, it only works with it. CloudWatch costs $ 0.015 per hour for each monitored instance. For one instance, this is $ 10.8 per month.
In short, I would also like to mention one more new Amazon service: AWS Import / Export , which allows you to accelerate the transfer of large amounts of data to and from Amazon Web Services. Import / Export transfers your data directly to or from storage devices using a high-speed internal network bypassing the Internet. At the moment, the service is in a limited beta stage. The main uses for its use:
So far, all new opportunities work only in the American zone, but they promise to add them to the European one soon.
Elastic Load Balancing
Imagine that you have several instances running in the Amazon cloud, performing the same task. Elastic Load Balancing allows you to automatically distribute incoming requests to specific instances. Moreover, it can detect fallen instances and automatically redirect traffic to workers until idle instances work again, which of course greatly increases the reliability of the entire system as a whole. The balancer can work both inside one zone (meaning the physical location of the servers) and between instances located in different zones, which further increases the reliability of your system as a whole.
The Amazon balancer is also integrated with CloudWatch (read below), so CloudWatch reports the number of requests and the delay of requests in its report. Looking a little ahead, it should also be noted that Elastic Load Balancing is quite friendly with Auto Scaling and can work together.
Of course, you can do the balancing yourself using, for example, nginx installed on one of the instances, but the reliability of such a solution will be lower, since when this instance crashes, your whole system will fall.
Auto scaling
A delicious feature that allows you to automatically increase or decrease the number of running instances depending on the conditions you set. You can configure that with an increase in the load on each instance in the group of more than 70 percent, three more new instances are automatically launched, and when the load is less than 30 percent, the same number of instances will automatically stop. Moreover, a waiting interval can be set to prevent tripping in the event of accidental short-term drops or increases in load. All this is very convenient for servers experiencing an uneven load during the day, when at night and in the morning the load is very low, and in the evening it becomes the maximum.
You can also configure Auto Scaling to support a fixed number of instances in a group. When one of the instances fails, a new one will automatically start in its place. When working with the balancer described above, you can configure Auto Scaling, so that if the response from the instance is delayed by more than, for example, 4 seconds during the 15-minute interval, a new instance is automatically launched.
Cloudwatch
A service that supports monitoring and data collection from selected working instances. A few minutes after starting CloudWatch for a given instance, it begins to collect and save the necessary data. CloudWatch can collect the following information: processor load, read / write from disk and network traffic of the instance. Let me remind you that the use of CloudWatch automatically includes the use of Auto Scaling described above. The collected data is stored for two weeks, even if the observed instances have already been stopped.
Issue price
Elastic Load Balancing will cost $ 0.025 per hour for one balancer and an additional $ 0.008 will be charged for 1 GB of external traffic passing through the balancer. For 10 working instances and 100 GB of incoming traffic per month, you get $ 18 + $ 0.8 = $ 18.8 per month.
Auto Scaling is free for those who use the CloudWatch service, that is, it only works with it. CloudWatch costs $ 0.015 per hour for each monitored instance. For one instance, this is $ 10.8 per month.
Conclusion
In short, I would also like to mention one more new Amazon service: AWS Import / Export , which allows you to accelerate the transfer of large amounts of data to and from Amazon Web Services. Import / Export transfers your data directly to or from storage devices using a high-speed internal network bypassing the Internet. At the moment, the service is in a limited beta stage. The main uses for its use:
- Data migration
- Backup data stored in S3
- Massive data exchange
- Crash Recovery
So far, all new opportunities work only in the American zone, but they promise to add them to the European one soon.