This is part 1 of a ten part series, "Top 10 Strategies to Manage Cost and Continuously Optimize AWS," which is excerpt from an eBook by the same name, produced in cooperation from AWS by HyperGrid Cloud Management Platform. A link to download the entire eBook with all 10 strategies is located at the bottom of this post.
Cloud Strategy #5 Model Applications, Not Instances
Cloud app planning is a much broader discipline than just instance selection; it requires taking a look at the “whole application”—that is, the application itself and the components that make up the deployment (e.g., load balancers, proxy servers, cache, database servers, log management, performance management, and so forth).
Cloud app planning means mapping the data transfer between these and choosing an optimal resource placement that takes into account such factors as network and data transfer costs and data durability.
Lack of a holistic view of costs before deploying the “whole application” can often lead to pricing surprises. For example, before you deploy an application in an HA configuration, you should be able to quantify the network characteristics of the application before the deployment and understand their effect on pricing. An application that generates a lot of traffic could generate more in cross-AZ and cross-region transfer costs than the business benefit of High Availability.
Applications need to be modeled in their entirety, not just the individual instances. Their interactions and network traffic between components need to be captured and analyzed before making recommendations on placement.
When planning your application, make sure that you treat your application as a collection of services that communicate with each other, and not just as a collection of individual instances. For example, before deploying an HA architecture across regions, factor in the cost of having your application communicate across regions. Similarly, before deciding on S3 as a storage mechanism, factor in not just your storage costs, but also your retrieval costs.
Our solution, HyperCloud, has a Cloud App Planning service that allows you to model an entire application, with all its dependencies. The service will recommend a placement for the application (along with costs) that factors in such details as data and network transfer costs and storage tiers. It also allows for easy what-if scenarios that help with optimal placement of test, dev, production and DR instances of the application.
By modeling applications in their entirety and factoring the bigger picture into not just instance choice but also placement, you can ensure that you have a durable deployment architecture without pricing surprises.
"Top 10 Strategies to Manage Cost and Continuously Optimize AWS"
Read all ten tips now.