In the first part I presented some basic concepts and an overview of cloud capacity management. cloud capacity discussion has two main aspects:
- Infrastructure capacity management by the IaaS vendor to plan capacity of the cloud data-center to optimize utilization and decrease operations costs.
- Cloud resources consumption by the cloud consumers (any IT organization such as a SaaS vendor) including planning capacity demand in order to achieve efficient consumption of the purchased cloud resources. In this part I will discuss this aspect.
The traditional data center contains dedicated machines for each application, making it (IT) easier to predict which services are reaching their maximum capacity and prepare a project based plan accordingly. Provisioning of additional computing resources is faster resulting in a faster sprawl of cloud resources including servers and storage in the organization. Due to the intensive virtualization moving into the cloud brings an additional level of complexity. Additional complexity is brought by the multi-tenant, SaaS application with its deployment architecture consisting of shared resources (to achieve a low cloud operation costs) and a dynamic environment generated by an auto-scaling (of resources provisioning).
IT managers must make sure they think and plan a head, before letting their guys push the “start button” to initiate a new computing resource. A Strict resources provisioning policy together with smart utilization of the cloud features, such as taking advantage of the spot and reserved instances, will fit usage based on planned IT budgets.
Let’s take Amazon AWS cloud as an example: Purchasing a large Linux instance on-demand will cost $248 per month or a combined total of $2976 a year. Reserving the same instance for the whole year will cost one time fee of $910 and 87.84 for each month, hence total of 1964.08. The savings ($1022.48) are almost 35%!
So how do you predict, allocate and plan resources and capacity for a given workload?
If you have used the public cloud application you probably found starting a new resource to be an appealing and easy task, however trying to shut it down is not so simple. Sometimes it can take so much more time for the responsible IT team, that they will compromise and leave it running so as “not to harm anybody”. The lack of control can be more worse in case the IT team is not involved and the provisioning is made by the business unit which also consume the resources. From our experience with software companies which use the cloud, lack of resources provisioning rules leads to uncontrolled sprawl of cloud resources in the organization. If you have just started to work with the cloud you will find the following tips useful to control your cloud capacity and costs:
1 – Record your cloud inventory in detail.
2 – Make sure you know, understand and record the purpose of each new resource. Some may say this is trivial but the easy provisioning in the cloud might make it easy to forget.
4 – Use reserved capacity.
5 – Use the cloud resource on-demand, if you don’t need it shut it down.
6 – Make sure that your cloud resource fit the expected SLA, no more than that. If needed consider horizontal scaling as it can cost less.
7 – Use a cloud governance and cloud management tools.
A better answer for the above questions can be provided only through smart integration of your applications to the cloud API and automation of the standard work flow of your cloud needs. Monitoring and analyzing cloud utilization efficiency is an emerging market with a few new vendors developing smart products to automate cloud use and help predictably, efficiently, and dependably deliver good business outcomes, productivity and growth.