You can argue over when cloud computing really began, but one good starting point is 2006 when then Google CEO Eric Schmidt said at a conference: “I don’t think people have really understood how big this opportunity really is. It starts with the premise that the data services and architecture should be on servers. We call it cloud computing—they should be in a ‘cloud’ somewhere. And, that if you have the right kind of browser or the right kind of access, it doesn’t matter whether you have a PC or a Mac or a mobile phone or a BlackBerry or what have you – or new devices still to be developed – you can get access to the cloud.”

At about the same time, Amazon realized that to empower its core competencies in supply chain management and retail, it had gotten quite good at easily deployable infrastructure IT services such as compute, storage and database. So, Amazon’s top brass reasoned, why not profit by leasing out these services to business customers? Thus began Amazon Elastic Compute Cloud, the forerunner of Amazon Web Services (AWS).

For the next few years, AWS had the public cloud market largely to itself, shared only with a host of smaller companies. But, by 2010, the other major IT powers realized that they needed to fly into the cloud or be left grounded.

Despite Google’s early grasp of the concept, Microsoft would be the second major company to offer a major public cloud when Ray Ozzie, Microsoft’s chief software architect, announced Windows Azure in 2008. It wasn’t until February 2010 that Azure was rolled out. That year also saw the first release of the most important pure open-source Infrastructure-as-a-Service (IaaS) cloud play, OpenStack.

And Google? After an extended beta, Google App Engine, the first building block of the Google Cloud, finally arrived in November 2011.

All these clouds were built on virtual machines (VMs), and managing VMs using traditional sysadmin tools was still a bottleneck. The answer to that was the rise of DevOps. This marriage of Agile concepts with infrastructure deployment transformed system management. With the first DevOps programs, and their close relations — continuous integration, continuous delivery and continuous deployment (CI/CD) in the late 2000s and early 2010s — clouds were given the flexibility they needed to be a commercial success.

Another approach to virtualization – containers — took the stage in 2013 and would revolutionize Software-as-a-Service (SaaS) and Platform-as-a-Service (PaaS) clouds. While containers per se weren’t new, in 2013 Docker made it easy to deploy applications and servers in containers.

The next step was how to manage those containers. Kubernetes, which was released in 2015, proved to be the answer. By the decade’s end, Kubernetes had become the default container orchestration standard.

Kubernetes’s popularity has, in turn, led to the rise of hybrid clouds. Before, hybrid clouds relied on one-off middleware services to bridge public and private clouds. This wasn’t easy. Kubernetes has made building hybrid clouds easy.

While this was going on, AWS introduced the concept of serverless computing in 2014 with Lambda. In this model, application functionality is delivered not in VMs or containers, but as at-scale services within the cloud. This approach has led to the growth of cloud-native computing.

This brings us up to today. At the beginning of the last decade, the cloud was still largely misunderstood and more of a promise than a reality for most businesses. If you’d asked a CIO in 2010 if they planned to move to the cloud, they would have scoffed at the idea.

Today, as we enter the 2020s, it’s a different story. The cloud is our present. . . and our future. The question today isn’t, “Are you moving to the cloud?” It’s, “What are you going to do with your cloud?”