Many organizations either have, or are in the process of incorporating cloud services as a strategic component of their overall IT vision. There are many factors why cloud services make sense for each organization, but the big advantages are resiliency, scalability, and predictability. It also doesn’t hurt that organizations are tired of the 5-year hardware refresh cycles and the $100k virtual machine, that requires more compute and storage infrastructure to be purchased in order to run a new server/application.
For this discussion I want to focus on predictability. This term is used not only in reference to performance but also for costs. Public cloud providers have calculators that anyone can use to plug in compute and storage numbers and get a cost of running that virtual machine in the cloud. Multiple companies use these calculators to make decisions on what workloads they will migrate to a cloud service and what storage tier(s) their data will live on.
Countless time is spent testing and migrating these workloads and then, the first monthly bill roles in. Bam! They see that first bill and jaws hit the floor. After reviewing the bill line by line trying to figure out why their calculations were so off they see a line item labeled “data transfers” that is 25% of the overall bill.
What they failed to realize and take into account with initial cost calculations is that there are ancillary resource costs outside of compute and storage such as network usage that they failed to account for. Public clouds will charge for outbound data transfers and data transfers between regions or even different network segments. Users accessing servers and applications in the cloud and even data traffic between a cloud hosted and on premise server can drive up the monthly cost leaving the organization perplexed as to why the cost was much higher than predicted.
This exact scenario is why an understanding of the applications are so important. One doesn’t just need to know how users interact with the applications, but also how data flows between the components of the application. Leaving that server on premise resulted in a $1,000/per month data transfer cost, when migrating an ancillary component of an application would have cost $50/ month to run in the cloud.
One also needs to understand what other services and systems are needed to support the applications such as authentication and security so they can be factored into the overall design at the onset to ensure that organizations are capturing, planning, and more importantly, limiting those costs with proper design.
There are several other “hidden” costs, however, having the understanding and knowledge of the applications will aid you greatly in being able to find that predictability in costs. We used to be able to get by without the knowledge of the ins and outs of our applications, unfortunately, that time is long gone.
Reading time: 75 seconds