Just where is the cloud, as an element of IT? We hear a lot of stuff about it, but it’s hard these days to rely much on what we hear. Is the cloud really dominating IT, is it really going to eat the data center? What can we expect from cloud providers? All this stuff is intermeshed, so let’s try to un-mesh and understand it.
First, Wall Street data shows pretty clearly that public cloud spending growth peaked in 2020 and has declined ever since, despite the expectations/predictions that COVID and WFH would drive it up. Yes, it is “up” but not as a percentage of total spending.
Second, enterprises have told me from the first that the statements that they’re spending more and more on the cloud are often misinterpreted. Yes, cloud spending has been up, but not because the cloud is replacing data center IT. What’s happening is that the focus of IT investment shifted in 2018, toward enhancing the user experience associated with data center applications and information. This shift was supported by the creation of cloud front-ends for legacy applications. The number of enterprises who tell me that they have reduced spending on those legacy applications and their data center hosting of them is squeaking along at the edge of statistical significance.
Third, a decent portion of cloud spending growth can be attributed to startups and social-media or content players rather than enterprises. This is particularly true for Amazon, who tends to get the majority of that business. This means that the fact that Microsoft and Google are not closing the gap with Amazon is less due to Amazon’s broad success with their cloud, and more to the fact that Amazon’s gains in the startup/social/content space has tended to balance Microsoft’s growth in the enterprise, and some gradual improvement in Google’s cloud position overall.
What we can take away from all of this is interesting, in part because it seems to fly in the face of the broad vision of the cloud’s direction.
First, the cloud is almost mature as a target of enterprise investment. It offered a very different model of application hosting, one well-suited to the front-end mission I’ve described. That prompted enterprise investment growth, but the need for front-ends is finite, and it’s being exhausted. Any new capability tends to open new opportunities, ones held back by the facilities and tools that existed before that new thing came along. But all opportunities tend to get addressed, and when that happens, the business case for spending more is hard to make.
Second, cloud providers know what’s happening. Why would we be reading about how Amazon is working to help users migrate mainframe workloads to the cloud? Does anyone really believe that 1) there’s a lot of money to be made there given the limited population of mainframes, 2) that even those with mainframes are eager to get rid of them given that they’ve kept them through the whole of the server-pool revolution, and 3) that those who are eager would go to somebody other than IBM? Cloud providers have been telling us, the media, and Wall Street that “everything is moving to the cloud.” Facing some quantitative indicators of slowing growth, they need to make some noise about new targets to be moved.
Third, our perception of the cloud is shaped by what’s being done even if we don’t really understand what that is. Application development trends are shaped by the applications being developed, which as I’ve noted are front-ends to legacy data center apps. The requirements for a user front-end are very different from those of a mission-critical app, and we’re hearing things like “serverless”, “microservice”, and “cloud-native” from the perspective of what’s being developed. The stuff that frames the core business applications of today, in almost any vertical, are underrepresented in the dialog because this stuff isn’t being changed much in comparison. Thus, we’re left with the view that all of software design and development is changing to match the cloud. The cloud is influencing development overall, but not transforming the way all software is done.
Finally, we are misunderstanding and mishandling the application of cloud technology to things like networking, because we believe in that universal, systemic, shift in application technology. Containers, or cloud-native, or virtual machines, or even server-hosted virtual functions, are not the universal future of networking. The majority of network traffic will be pushed by specialized devices in the future, just as it has been in the past and is today. Because all of this isn’t widely understood/accepted, efforts to create a harmony between hosted and appliance-based elements of a network. We are underthinking the real problems because we’ve overestimated the extent to which “everything is moving to the cloud”.
The core value of almost every vertical market is tied up in traditional transaction processing and database analysis that is largely the same as it’s been for a very long time. We are tweaking how the relationship between workers, customers, suppliers, and partners interact with that traditional core. The core value of networking is still the packet-pushing at the data plane. We are now able to tweak the way that data plane relates to the community of network users and the information they’re seeking. That mission is trivial in one sense; it doesn’t alter the basic core value proposition. In another it’s profound, because how applications and services relate to their users is not only valuable, it’s been one of the fundamental drivers of computing and networking change.
We’ve missed something important here, which is that the cloud is a symptom of the fundamental change to information and network technology, not the change itself. The change is virtualization. Virtualization is all about disconnecting software from hardware, through the use of a representational abstraction. This disconnect lets us pool resources, move functionality around without rewiring things, scale up and down with load/demand, and so forth. The fact that it’s a high-value concept is demonstrated in both the scope and speed of its acceptance.
Abstractions are hard to deal with, and we live in an age of instant gratification. Forget understanding the problem, just tell me the right answer. That’s understandable in one sense, but in another sense it’s the problem itself. We can only optimize the cloud, the edge, the network, if we address what’s transforming it and stop mouthing platitudes. I think that starts by considering the notion of a “service”, the thing that users, people, are trying to interact with. I’ll start a short series on that topic with the next blog.