4/16/21
Is the Cloud a Utility or a Supermarket?
by Anders Lisdorf
We are well into the hype cycle of cloud computing. It is a an established technology. Still, if we step back and think about it, it is not immediately clear what it is and how we should relate to it.
The term cloud has a prehistory from engineers drawings, where a cloud was used to denote a cluster of nodes that were connected. It made more sense to draw an indistinguishable cloud when the details of the network and its individual nodes were not important.
The first documented public mention of the term came in a 1994 Wired article by the esteemed tech author Steven Levy in an article about the company General Magic. The company was started by none other than the creators of the MacIntosh computer: Bill Atkinson and Andy Herzfeld. The quote goes like this:
“Now, instead of just having a device to program, we now have the entire Cloud out there, where a single program can go and travel to many different sources of information and create sort of a virtual service”.
—Bill and Andy’s Excellent Adventure II, Wired 1994
But it wasn't until the mid 2000s that the cloud succeeded commercially. Eric Schmidt, then CEO of Google, brought it up as an emerging new model of computing at a conference in 2006. After that point the rest is history as they say. The cloud took of as a commercial concept but also as a real technical alternative to traditional on premise computing.
The most common conceptualization is the NIST definition that is mentioned in virtually all treatments of cloud computing. This definition was developed in order for the US government to adopt the cloud. To achieve this they needed a precise definition. This definition is what gave us the concepts Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS). While it is helpful to have precise terms, it does not help us much in understanding the deeper concept of the cloud, how or why it works, or why we need the cloud and so on and so forth.
Is the cloud a utility?
Frequently the cloud is thought of as a utility. This harkens back to the dream of utility computing of the 1960s, where the telephone was seen as an analogy to what computing could be. While there are certain cases where the cloud does seem to superficially resemble a utility a closer inspection shows us that it is really nothing of the sort. Let us look at a couple of examples.
A utility like gas or water offers one undifferentiated product across vendors, the cloud does not. Even the most similar product, a virtual machine, comes in multiple different variants. Many cloud products are unique to the vendor. This is never the case for a utility.
Consumption of a utility does not depend on any previous history of usage, the cloud does. All your data and configurations are tied to whatever cloud service you are using. You can't just switch the provider of your ERP system from one minute to the other like you can with electricity. It will take months or years to make the switch.
Using a utility does not depend on you actively taking any action, the cloud does. For some services you have to upgrade or if it is done automatically you need to make sure that your applications still work. Sometimes products are discontinued and you have to switch. That never happens to a uitlity.
Utilities are heavily regulated almost anywhere in the world, the cloud is not. No government or municipaility requires an SLA or standards to be delivered by cloud vendors. All standardization in the cloud is based on voluntary compliance by vendors, which is rarely the case for utilities.
These examples show that actually the cloud is quite far from being a utility and we may get the wrong idea if we assume that it is.
Or a supermarket?
Rather the cloud resembles a supermarket. When you think about it, It is actually no wonder since the development of the cloud was driven in no small degree to its current shape by exactly, a retailer. It wasn't a diversified software company like Microsoft or Oracle Nor was iit hardware/software/consulting behemoth like IBM, although all of them in their own way came close to many principles that are crucial to the cloud to day, such as internet based services, metered usage and outsourced management of applications.
It was Amazon that brought the retail mindset to computing and created the template for what the cloud would be. Let us dive into that in order to really appreciate how different that is from a typical tech company mindset. In the tech industry especially in software, the drive is to maximize margins. Products are developed to be special and non standaradized in order to protect profits. Large sales forces roam enterprises to sell, upsell and work on ever bigger contracts with commitments far into the future. The more can be lumped together and get the customer locked in to the vendor the better.
Contrast this with the retailer constantly focused on volume with small margins of standard commodity products, many customers, with multiple small transactions that bear no commitment in any way towards future business and most importantly no Salesforce because it is all self-service. Customers only return if they were happy not because they have to.
This was the approach Amazon brought to cloud computing with AWS. You could buy a database or a VM for a couple of hours if you wanted, you didn't need any extended contractual process and multi year commitment. If you liked it you would return.
This explains a lot about the nature and dynamics of cloud computing today. The big cloud vendors like retailers (Wal-mart, Tesco and Carrefour) all have the same consumer stables: milk, eggs, juice, bacon, bread. They may carry their own private brand name and have subtle differences but milk is milk and eggs are eggs regardless of the store. These all cost more or less the same across competitors. In retail this is what drives people to the store. Retailers make little or no money on this type of product, sometimes they even sell them at a loss to get customers to the store. We see this in cloud computing too: everybody needs a VM or storage. Price competition only pushes the price downwards for these types of things and this is not where the cloud vendors make their money.
But when the customer is in the store she discovers cool stuff like chocolate/vinegar marmalade, bacon ice cream and romantic "dinner for two" kits that just need to be put in the oven. These things are not consumer stables and may not be strictly necessary. They are also more difficult to compare prices across stores since they may not have exactly the same offer. This is where the retailers make their money.
Something similar is the case in the cloud. Data management products, such as databases or integration tools, such as API management are examples of where cloud vendors make their money. When you have built your application on a commodity virtual machine, it would be so nice just to grab a premade MS SQL server database rather than install and manage a free PostgresSQL.Oh and rather than manage every consumer of the API configuring their Oauth authentication, it would be so nice just to spin up an API management tool that takes care of all that. These are equivalents of dinner kits and bacon ice cream: stuff you don't absolutely need but that are convenient.
Cloud shopping guide
The cloud is not a utility but one big supermarket. The retail business model has infiltrated the cloud model of computing to a point where we never really noticed it. We compare prices between AWS, Azure and GCP the same way we compare prices between Walmart, Target and Wegmans. We have our favorite store but will sometimes go to the competitor. We will grab expensive impulse buys on our way to the register (and regret it later).
This insight also alerts us to how to use and not use the cloud. If we want to spend less money on groceries we are advised to make a shopping list of exactly what we need. We can easily scout the different stores to compare prices and choose the best one. When we enter the store we should stick to our list and only buy what we need. In my experience this is not always what happens. Often organizations that are new to the cloud make the same mistakes that the casual shopper does. A lot of the surprises that cloud is expensive can be attributed to that. Similarly different family members may end up buying the same things if they do not coordinate their shopping. Therefore organizations need to introduce some more coordination and governance in order for multiple departments not buying the same things.
About the Author
Anders Lisdorf has worked with bridging on-premise and cloud technologies for more than a decade in many different types of companies and industries. Over the last few years he has been working as a consultant helping customers transition to the cloud. He is also an experienced entrepreneur building cloud-native Software as a Service products.
This article was contributed by Anders Lisdorf, author of Cloud Computing Basics.