Cloud Cost Optimization Considerations for Azure Kubernetes Service

Let’s take a closer cloud cost look at Azure Kubernetes Service (AKS), Microsoft’s containerization product on Azure. It should be no surprise that the cost of running containers is cheaper than VMs, but there are a few cloud cost optimization concepts to cover to ensure you’re getting what you pay for.


AKS Overview

Azure Kubernetes Service (AKS) empowers engineers and developers with the ability to simply deploy and manage containerized applications. AKS features serverless Kubernetes, their integrated continuous integration and continuous delivery (CI/CD) tool, which includes enterprise-grade security and governance. AKS is an ideal option for enterprise IT teams wanting to utilize a single platform to rapidly build, deliver, and scale their applications.

For a thorough dive into the differences between VMs and containers, this guide by NetApp is very helpful.


AKS Costs

According to Azure pricing, the costs of cluster management are technically “free.” Instead, users pay for all of the nodes that the containers are built upon. Running AKS means only paying for the VMs that are provisioned, storage that your teams might use, and any data transfer costs involved.

Utilizing AKS opens the doors to other paid Azure services and tools, such as Azure DevOps, Azure Active Directory, and more to better monitor and manage your containerized infrastructure.

Comparing a few of the node VM offerings

VM Cluster management costs Cost per month, pay-as-you-go
D2 v3, general purpose $0 $85.41
E2 v3, memory-optimized $0 $108.04
F2, compute-optimized $0 $90.52


Note: Pricing is as of January 2020, subject to change. Also, pricing here is a cumulative of one month of per-second billing.

Other basic cost considerations

Using AKS means provisioning and managing lightweight services, but lowering fault tolerance since you’re running one OS to manage multiple services. However the costs of doing so are lower than running traditional VMs. Factoring in additional CI/CD and DevOps services can bring these costs up, however.

Adding additional features increases the costs of running a VM. While the VMs are billed per second, things like adding SSDs or services have different pricing methods and requirements. SSDs charge by transaction units, for example.


AKS – Reserved VM Instance pricing to consider

You can save on the cost of running your VM nodes while using AKS with Reserved VM Instances. Paying up-front in either a one-year or three-year term allows your teams to save significantly on cloud costs. However, some planning is required as your teams need to commit to a much longer timeframe of utilization (e.g. committing to a year is a whole lot different than working with per-second billing).

However, the savings are significant, with 1-year reserved yielding savings of around 32% for the D2 v3 and 3-year yielding about 57% of savings (note: AKS node pricing as of January 2020, subject to change).

To make the most of Reserved VM Instance pricing, sit down with your FinOps and engineering teams to determine how many nodes are required to meet containerization needs, since operating the cluster management tools is at no charge. Once your teams determine how many nodes are required, and get a sense of how much they need to be utilized, you can make a confident investment into either the one-year or three-year Reserved VM Instance and save significantly.


AKS – cloud cost management

While provisioning infrastructure for containers can be easy on Azure, managing their costs at enterprise scale over time gets complicated. Native cloud cost tools can come up short in providing visibility into which teams, applications, and services are utilizing which portions of your containerized infrastructure.

This shortcoming is compounded by the fact that teams have both used and idle container resources they are paying for and need to allocate these resources based on actual utilization. Not every cloud cost tool can provide the visibility to properly allocate resource usage to the right cost centers (business units, teams, apps, and/or services) for chargebacks.

So, what can provide correct tagging and cost visualization for containerized workloads?

Use a cloud cost optimization platform that allows your FinOps, DevOps, and Engineering teams to take on container costs with ease. We recommend a platform with a robust data engine that allows your teams to ingest containerization and node utilization costs over time.

Cloud cost management platforms, like Apptio Cloudability, help organizations accurately allocate costs by:

  • Tagging and tracking Kubernetes clusters, namespaces, services, and labels
  • Organizing idle resources (e.g. resources in a cluster that aren’t being utilized)
  • Providing a single pane of glass to report on and manage clusters that span multiple accounts and cloud providers.

These kinds of containerization cost management features aren’t necessarily available with native tools. If your teams want a deeper look at how they use AKS and its costs, try a proven cloud cost management platform like Apptio Cloudability for free today.