Two months ago at DockerCon 17, IBM announced it was to make Docker Enterprise Edition (EE) available for Linux on IBM z Systems. This was an announcement that IBM had widely trailed having talking about multiple container technologies and the mainframe for some time. What was different this time was the detail around the announcement.
The z Series mainframe is already a highly utilised platform with few IBM customers running it at less than 90% of capacity. IBM has already delivered a high density of virtual machines (VMs) on the platform. When it launched the z13 it announced that customers would be able to deploy up to 8,000 VMs. That capability is one of the reasons why a number of third party vendors have purchased z Systems platforms as part of their cloud offering.
With the addition of Docker EE technology IBM is making a number of bold statements. The most aggressive and bold of these is the claim that a single z13 will run as many as 1,000,000 (1 million) containers. It is a statement that not only requires a rethink of what a container is, what it is running but also the cost of running software in a container on a z13.
What will be running in the containers?
The first challenge for IBM is defining what will be running in each container. The original discussion of containers was that they were an operating system (OS) lite version of a VM. That means that they would only hold the application without all the space required of an OS. This made a lot of sense to people as the more VMs were running, the more copies of an OS were also running. This meant that a lot of compute resources were being wasted.
However, taking the IBM numbers and jumping from 8,000 VMs to 1,000,000 containers by just removing the operating system makes no sense. It implies that for every VM, the OS is consuming at least 225 times more compute resources than an application. We queried this with IBM and were told:
“Containers will not necessarily run applications. IBM expects to see a lot of containers running just a microservice or even just a single process.”
That statement makes more sense but IBM needs to talk more about what a container workload on the z Systems platform really means.
How will this affect pricing?
This is a big question. Cloud computing has slashed the cost of computing. Companies are only paying for what they consume. This means that those who would have previously had large IT estates capable of dealing with peak load no longer have to have idle compute resources. In addition, cloud providers are capable of running their compute resources at a much higher density than an enterprise. This is because they have the staff, resources and technology to manage this.
However, costs for software usage have not come down in line with the use of compute resources eg, per hour/per minute/per user. The last few years have seen a significant shift in license costs. The big ticket software purchase has been replaced in many cases by subscription pricing. This means software can be licensed for as little as a month. However, if the software is needed for a just a few days in that period, customers are paying a lot of money for something they are not using.
Subscription has worked well for vendors. It has evened out their cash flow. Previously they would have a huge investment in a new version of their product. This would be offset at release time and for a period afterwards as customers flocked to buy or upgrade the software. Over time, however, that model became unsustainable. Firstly, customers no longer upgraded with each release. Secondly, there was often a point where outflows into the next version were greater than the income as the software aged.
With subscription pricing vendors get a highly predictable and steady income stream. This makes it easier to raise capital to invest in the next version of the software as they have a monthly income. It’s a little like having a salary compared to being self-employed. It is also a model that has appealed to the markets and reduced some of the volatility in the shares of larger software vendors.
Will containers bring software into line with hardware?
This is where IBM could take the software industry into a new world. Taking the IBM statement about what runs in a container at face value, it makes no sense to apply standard software subscription licensing. First, a microservice or a process are not comparable to a traditional piece of software. Secondly, the container is only consuming resources when it is running. Therefore there is no reason to charge for what “might” be running in a container when it doesn’t exist.
With a new generation of mainframes due this year, IBM has the opportunity to align software usage costs with hardware usage costs. Customers will only pay for the resources they are consuming when they are using the software irrespective of whether it is in a container, a VM or running on a platform. It has the ability to quickly align its own software products with this new model and that would make the rest of the software industry take notice.
As with the introduction of subscription licensing there would be a short-term impact on revenues that should quickly balance out. At the moment, interest rates are just starting to move up. The longer IBM takes to be brave, the more it will cost them to deal with the change in its revenue stream.
Can pricing by container usage increase revenues?
Looking at the revenues of software companies, who went to subscription pricing, and cloud operators the answer is a qualified yes. In both cases they saw an increase in customers, usage and licensing revenue. This is because customers changed how they saw computing. Instead of costing out new projects due to the capital costs, they allowed more projects to proceed due to the lower costs of compute resources.
When it comes to software there have been benefits from subscription models. Customers knowing that they are only on the hook month to month have allowed users to take on new software licenses. However, if there was a significant reduction in that cost per user, there is no reason to think that those same companies might relax software usage even more.
When considering microservices and processes running in a container, it is hard to see how companies will justify asking customers to pay a per month figure. Charging only when the container is live will appeal to many customers. They will be much more relaxed about taking on new microservices and this, in turn, has the ability to fuel a new era of software development. Developers able to see an immediate return on their development are more likely to build more microservices.
There is, of course, fine tuning to do on the model. Customers do not want bills with hundreds of lines on them. However, this is not insurmountable and can easily be resolved.
CIC Analysis: A Call to IBM
Be bold. Be brave. Show customers that software can be priced in the same way as the resources on which it runs. There is an opportunity to lead the software industry into new territory here. More importantly, as the usage of z Systems and cloud increases, this provides a new revenue stream to bring in more partners and developers.