More organizations are taking advantage of the increased agility, flexibility and innovation offered by moving business services to cloud providers such as Microsoft Azure, Amazon Web Services and many others. But too often, the benefits of migrating to the public cloud are tempered by an inability to manage the costs incurred though using those services.
Apptio has developed close partnerships with the majority of leading cloud providers. In most cases, our partnerships with cloud providers like Microsoft Azure and Amazon Web Services (AWS), CenturyLink and IBM SoftLayer have enabled us to help customers take the first step in understanding their cloud costs by automatically adding their recurring bills from these providers into Apptio for analysis. This helps customers understand what they’re spending overall on their cloud infrastructure, as well as enabling comparisons of costs by provider, service and other factors.
However, most customers want to not only understand what they’re spending on cloud services, but also how to allocate that cost among the applications and services they support, and the business units that consume them.
Cloud resources initially came with two types of data that describe them to customers:
- Configuration data: This data describes the resource itself, and includes the type of resource (compute), region, unit pricing, and even the stock-keeping unit (SKU) name that can dictate the size or capability offered by the resource.
- Usage and consumption data: This data describes how the resource is being used and changes over time. Information such as average central processing unit utilization, usage quantity, or amount of storage in use on a volume all get classified as this.
This information, while useful, isn’t always sufficient. Cloud consumers want the ability to add their own information to cloud resource configurations to add context to their specific usage of the resource. One of the most common ways this information gets added is as metadata, adding the information needed for cost allocation of cloud resources.
This metadata, often known as tags, is now supported by Microsoft Azure and other cloud providers. We’re pleased to support the use of these tags to help accurately allocate the cost of cloud services for our customers.
While tags are used in much the same way across all cloud providers, the examples in this article will focus on Microsoft Azure. (You can read about how to use tags with AWS here; for tagging strategies with other providers, feel free to contact me directly for more information.)
What’s a resource tag?
Resource tags help customers classify their cloud resources in different ways. On Azure, each tag is created using a key and a value. For example, a resource tag key could be set as “Business Unit,” and the value set as “Marketing.” These tags should be applied consistently; all resources having a common tag key for business unit, and the values changing based on which business unit is responsible for that cloud resource.
Azure makes these tags available as part of your organization’s bill. This means that when Microsoft bills you for using a service (like a virtual machine), your bill not only contains the configuration and usage data that we talked about earlier, but also tag information. Generally, tags are grouped together by resource, and then added to a new field on the bill.
Tagging for allocation of spend
Tags can be used to solve the allocation challenge described in the first section. Since the tags now show up in the bill along with other key information like cost, usage and more, Apptio can use the tagging information to help you do very fine grained allocation of your company’s cloud spend.
Tags can help you do allocation in a couple of different models:
- Creating specific tags to link every billing line item with key parts of the TBM cost model. Most customers using this model will create five-to-six tags per resource, and it will enable data-based mappings between those line items and other parts of the model.
- Linking the cloud bill with configuration items in your organization’s configuration management database (CMDB). In this mode, rather than create tags for each resource (as in the previous example), the main goal is to simply link each resource with the CMDB. The CMDB then contains the information necessary to perform the applications, service and business unit mapping. This typically only requires a single tag, but depends on a well-structured and maintained CMDB.
Either model will accomplish the goal – understanding how cloud spend should be allocated among key consumers. However, given the inherent inaccuracy and challenges most organizations seem to have with common CMDB deployments, many of our customers have seen more success using the first option. They then either bypass the CMDB altogether, or use it as a complementary data source without relying on its accuracy for allocations.
Where do tags come from?
Before you can use the tags from the provider bills, they need to be created. Resource tags are typically configured as a property of the object itself. As an example, when a new virtual machine is created on the Azure cloud, resource tags can be added like any other property.
An important point to consider is that tags should be created when the resource itself is created. Otherwise, resources will be running (for which you’re being billed) without the necessary information to allocate their cost. This means that the processes used to create new cloud resources need to be aware of TBM, and vice-versa. Creating new resources may be done via automation tools or homegrown solutions. Your organization may even be creating these new resources by hand using the Azure Portal, or the Azure CLI and/or PowerShell cmdlets. Regardless of what method is used, working with your operations team to ensure everyone understands how the tags are used is critical. Then, applying them consistently is the next hurdle – but necessary to use them efficiently.
This integration, between operations and business management functions, isn’t without precedent. Over the last five years, companies of all sizes have recognized the value and co-dependence of connecting developers with the operations and infrastructure their code depends on. This movement even carries a name – DevOps. Recognizing how tightly they’re linked, companies began re-organizing around the products delivered, rather than atomic teams made up of those people with similar skills.
While a similar level of integration between practitioners of TBM and application developers may not be immediate, there’s certainly value to be gained in understanding each other’s goals and drivers. Doing so will likely improve the overall quality of the applications and services delivered, and maintaining their value to the business.
If your organization wants to learn more about integrating TBM into your IT operational and application development processes or if you just want to understand how to work with your operations team on integrating cloud resource tagging for TBM, contact the experts at Apptio. We’re here to help.
How to use tags in Apptio
The best method may for tagging (directly creating tags or creating a single tag for connection via CMDB) may depend on your organizational standards, CMDB readiness and other factors. But if you don’t have an obvious choice based on that, Apptio recommends the first option – applying all tags directly to the cloud resource, rather than depending on a CMDB to “glue” things together.
Apptio currently has the ability to automatically download billing usage information directly from the most popular cloud providers – including Microsoft Azure. For Azure (as well as other cloud providers), tagging information is included on each billing line item. Apptio will include that tagging information when the bill is downloaded. Once part of a data set within Apptio, the tagging column (remember, all tags will show up in a single column) can be made usable with Apptio’s data transformation technology – splitting each tag up into a column, plus value arrangement. This is why it is so critical that tags are applied consistently.
Once all the tagging data is mapped correctly, tags will enable customers to correctly allocate cloud cost to the correct application, cost center, business unit and more. These tags also allow for detailed analysis of cloud usage not available with provider billing data alone.
If your organization uses cloud services, explore tagging and how your organization may benefit from it. If you’re like most of our customers, the significant benefits offered by adopting cloud solutions is diminished somewhat by the challenges incurred in managing those solutions, particularly by IT’s senior leadership looking to truly understand the value these new service delivery options offer to the business
Like this article? Sign up for our blog daily digest.