In the most recent episode of Buffer Overflow, we talked about the biggest tech trends for the 2010s. I thought I would expand on my thoughts a little bit with this post. Check out the full episode below.
In the 2010s public cloud computing exploded and enabled massive technological innovation, particularly in the realm of Software as a Service (SaaS). In addition to providing a common platform for startups and enterprises alike to build on, it also served as a example to existing datacenter providers and in-house IT operations teams on how to effectively run a cloud service at scale using automation and standardization. We are now seeing the impact of cloud-native operations infiltrate the on-premises datacenter, a trend I think will further drive innovation in the 2020s.
Public cloud didn’t just come out of nowhere, it began its life as a relatively simple set of services offered by companies like Amazon and Google. Here’s a few representative data points leading up to the 2010 explosion.
At the start of 2010 the three major cloud providers had started their roll. AWS was launched in 2006, Google made their foray in 2008 with App Engine, and Microsoft launched Azure with the Cloud Services offering in 2010. The primary focus for all of these clouds was providing a web application hosting platform on which to build applications.
Each of the public clouds realized that customers wanted a lower level offering in the stack, specifically Infrastructure as a Service (IaaS), which would provide the datacenter components people were used to - network, compute, and storage. There can be no doubt that AWS was first to the party and still holds the lion’s share of customers in 2019. Microsoft has been making significant headway, driven by the strategy adopted by Satya Nadella when he took the throne in 2014 with a cloud and services first attitude. GCP is a distant third, in large part due to the immaturity of their platform, their poor track record working with enterprises, and a general uncertainty that GCP will exist in five years time and not be unexpectedly cancelled during a Google Developers Keynote.
With the big three ready to go in 2010, public cloud computing was still only a $15B industry. In 2019 it is expected to hit $228B. That’s 15x growth over ten years. And that doesn’t account for all of the the SaaS applications that are hosted using Platform as a Service (PaaS) and IaaS.
It’s interesting to look at the most recent yearly financial reports from Microsoft and Amazon to get a sense of just how big things have become with cloud. Microsoft is touting $38B in revenue for their Intelligent Cloud division for FY2019, and Amazon posted $25.66B for AWS in FY2018 with a projected total of $34B for 2019.
Please don’t email me about how Microsoft’s number is bigger than AWS. I know it is. And I also know that Microsoft includes more than just Azure in their Intelligent Cloud BD. I also don’t care. Any way you slice it, it’s a lot of money!
It’s more than just money though. The public cloud made it trivial for startups to consume technology in a non-capital intensive way. And it gave growing companies a global reach without them having to build out datacenters across the world or negotiate with ISPs in far flung geographies. You need a presence in South Korea, boom you got it. This, along with mobile devices, changed the landscape of software consumption in the world.
I just can’t stress this enough. Without AWS, there is no Netflix, no Dropbox, no Uber. Thousands of SaaS companies, gaming companies, and websites would not and could not exist. I can run chrisistheworst.com out of S3 for basically nothing. The most expensive thing is not the storage or the web hosting. It was the $2 I paid for the domain. And that dumb website could easily serve hundreds of thousands of requests per minute without me having to do anything. That is immense power at my fingertips for essentially no capital investment.
Public cloud has become the platform on which other businesses can be built, and just like any good platform or utility, we only notice it when something goes wrong. When your power goes out, your plumbing fails, or the WiFi acts up then you notice. Otherwise, all of these services fade into the background and allow us to live our normal modern lives. While public cloud computing is not quite as pervasive and utilitarian as those other services, it is also not far off.
There is one thing the public cloud doesn’t have today, and that’s standardization. Each public cloud does things in a slightly different way when it comes to IaaS. When it comes to PaaS and SaaS, the differences increase dramatically. The upside is that it enables incredible innovation and application development. The downside is that users are locked to that provider. OpenStack was intended to prevent this type of lock-in by creating a set of open standards for cloud providers. That, um, didn’t work out as planned.
Even though public cloud hasn’t standardized on a single open standard, the providers made the consumption of computing services friendly and simple. So simple that a whole new class of IT rose called shadow IT. People in your organization using cloud services without IT approval, and this problem will only grow. I would consider it the iPhone problem for the datacenter.
There was a time when we all had ugly Blackberries that were locked down by corporate policy and could barely browse the internet or install a useful app aside from Brickbreaker. Then the CEO got an iPhone and realized how pleasant and simple mobile computing could be. Then they got an iPad and the problem was further exacerbated. Consumer tech became the driving factor behind innovation, and enterprises lagged behind. Cloud computing is the same problem. And the solution is for the IT department to adopt a cloud-native operations philosophy or risk becoming irrelevant. The on-premises IT department and datacenter need to become consumer friendly, agile, and streamlined. That is going to require serious changes in culture and technology which are well beyond the scope of this simple essay.
The modern datacenter will need a cloud-native platform to support what consumers are demanding. In the second half of the 2010s, Kubernetes started to rise to prominence as a potential platform to provide a common abstraction layer across all the public cloud providers. One of the K8s luminaries, Kelsey Hightower, made the argument to me - rather convincingly - that Kubernetes will become that common platform and API for cloud, edge, and on-prem.
The 2020s are going to see the advent of Edge applications, which will cause an explosion of computing power that will make our current cloud computing efforts seem quaint. The lessons learned through cloud-native adoption will serve us well as we move to a massive, distributed computing model with thousands of mini-datacenters sprinkled across the globe. The big three public cloud providers are already making their bid to be the big three edge providers, for good or ill. If public cloud computing was one of the biggest technology shifts of the 2010s, edge computing will be its equivalent in the 2020s.