Optimizing costs on the cloud

There are broadly three areas for cost optimizations on the cloud: operational, infrastructural, and architectural optimizations. It is important to note that costs should not focus on infrastructure alone. You should include code changes in your deliberations because sometimes, it makes sense to focus on improving the code rather than infrastructure alone. There are many architectural decisions and trade-offs to be made to achieve the best results from a cost saving's perspective. The good part is that on cloud, you can test these decisions and trade-offs immediately to decide, if your decisions make sense.

Costs are a big motivation to use cloud infrastructure, and AWS provides many different ways of saving on your AWS bills. However, it is up to you to take advantage of all the saving opportunities available. As a simple guideline start with minimal infrastructure and iterate from there to optimize your infrastructure costs.

Aside from architecting for scale, availability, security, and functionality—in the cloud you also need to architect for economy or costs. Cloud enables making infrastructural and AWS service usage changes more easily toward achieving lower transactional and/or operational costs. Most often pursuing these cost-cutting measures can lead to a leaner, more robust architecture. 

The infrastructure setup process in the pre-cloud era consisted of plan-build-run steps where mistakes were often expensive and hard to correct. With the advent of cloud computing, this process has become cyclical where we iterate quickly through architect-build-monitor steps. Cloud infrastructure is dynamically allocated and de-allocated, so we do not have to be 100% right, in all our infrastructure design decisions, the first time. We can iteratively improve our architecture while meeting our infrastructure cost objectives.

The typical stages you would go through to manage your costs per transaction starts with calculating the costs by hand (using the Cost Explorer). In the next stage, you instrument your application to collect the data with respect to your transaction volumes and calculate the transactional costs from the corresponding billing data, periodically. Finally, you would do real-time transaction volumes monitoring and corresponding costs to drive further optimizations.

Typically, a substantial part of your bill comprises costs of EC2 compute instances, database instances (especially, if you are using Provisioned IOPS), and the usage of any specialized application services (Amazon EMR, Amazon Redshift, and so on). However, storage costs can also be significant for big data and machine learning applications that operate on vast amounts data. There are several strategies that can result in substantial savings, and most of these are relatively easy to implement. 

In this section, we will focus on several strategies that will help you cut your cloud bills. We will expose areas of opportunity where significant savings can be achieved over the next few sections. These savings can vary anywhere from 30 to 80% of your current costs. These optimizations also include some quick wins that can be achieved with no changes to your application code.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
52.14.86.218