The latest updates from our team of experts. Find out what’s happening here at 6fusion and our take on the industry at large.
Metering Microservices on OpenShift
Containers have become an extremely popular technology and for good reason. They provide software owners a consistent way to package their software and dependencies, while infrastructure operators benefit from a standard way to deploy and run them. Many developers are using containers to build services in a microservice architectural style, which divides a single application into a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API.
With the upcoming release of Red Hat’s Openshift 3, infrastructure owners have a platform that can be used to orchestrate and manage microservices at scale. This shift, and the new technologies, give developers very powerful tools to take advantage of what the cloud provides – simpler provisioning, scale, flexibility, and agility (public, private, or hybrid). Containers, with their dynamic usage patterns and deployments platforms present a problem for the industry – how do software owners track the usage of their services for licensing and billing purposes?
Physical host based licensing, per core licensing, per instance licensing doesn’t make sense is a container world – application owners and developers will be able to completely abstract the software from the underlying hardware and operating systems. They also have the ability to scale up and down by the tens of thousands in seconds. Solving these issues will be core to the success of containers and PaaS in the enterprise, and doing so will require a radical departure from traditional models, to one that inherently applies utility theory.
One path to solving these issues is to “meter” consumption. Metering fills this gap by tracking the usage of the three major resources consumed by software services, compute, network and storage on a per container basis, and then providing a single metric that can be used for reporting consumption. Metering also provides a means to benchmark, compare and optimize software costs and by extension, profit. Further, if done right it can provide visibility into the consumption patterns and highlight the main contributors to operating costs.
Before containers, software services were wrapped in a virtual machine and usage data could only be collected at the machine level. Containers enable more granular metering by providing a wrapper around processes and enabling the collection of usage data at the container level.
Using the meter data collected at the container level, meters can then interrogate the inventory from OpenShift and match the usage data with pods and services thereby providing microservice metering. Given that each container can be uniquely defined, and each container only contains a single service, you can precise quantify overall consumption AND consumption by each particular microservice, regardless of the number of container instances of that microservice.
By building out a suitable metering architecture, a user can meter consumption of resources on a per container basis, allowing for unlimited agility and flexibility, and simply bill users on a per-unit-of-consumption basis. This model puts no flexibility limits on the user while still ensuring that there is economic alignment between user and supplier. The user can aggregate the costs into apps to provide cost transparency for the app. Taking this one step further, that information can be used by ISVs to bill for their software simply by providing a per unit cost of the software, thus using the metering system to drive commercial billing. The utility is again disrupting the economics of IT. What 6fusion is positing here is that the ability to provide granular metering will have a direct and profound impact on business and pricing models. We want software owners to create services that not only run efficiently, but can be monetized in a simple and convenient manner.
To learn more about Metering Microservices on OpenShift, check out my Red Hat briefing with OpenShift Director of Community Development, Diane Mueller: Here