AWS: The System Architecture of the Web

In the same way that JavaScript developers don’t worry about the memory addresses of the functions they write, future cloud developers in a serverless world will never have to worry about the physical locations, geography, VMs or containers in which their code executes. They will build services that just work. Period. Scale will cease to be a concern. Some of these services will be shared within an organization, others with the world as a whole.

In a sense, you can consider providers like AWS as system architectures of the web. Software-configurable infrastructure provides us with a wide array of options to accomplish a specific task. The breadth of these infrastructure offerings presents a large opportunity for opinionated software to help create an abstraction layer on top that drastically simplifies large, at-scale software development.

Parallels to Early System Development

Viewing cloud infrastructure from this perspective, we can draw parallels to the evolution of IBM and Microsoft for a guideline as to how creating abstraction layers (such as an operating system) on top of a compute layer impacts the progression of technology within the industry. I would argue that the future of cloud computation is not rooted in offering more and more specialized infrastructure services and not about the configuration of cloud-based systems in any combination you desire. The future is reductive, in a sense— it’s about enabling developers to forget about the underlying infrastructure implementation details altogether. No hardware, no metaphor for hardware like containers, just code.

Over the next decade, cloud compute volume (and competition between AWS, Azure, and other players) will continue to increase dramatically, but spending on cloud services will shift up the value chain to the application layer, in the same way we previously observed with Microsoft on top of IBM — focus moved towards user-friendly operating systems that enabled businesses to move faster instead of the computer layer itself. Margins and profits on infrastructure as a service will trend towards zero as computation becomes commoditized, with industry spend rewarding players focused on enabling usability over raw system configuration.

The Maturing Cloud Market

The shift in focus towards user experience on standalone systems in the past can be used as a map to help us predict how the cloud compute market will change. Infrastructure providers simply do not have the vision and maneuverability to execute on building the next layer of abstraction. It is a challenging task for larger players to shift up the value chain alone, because the design-by-committee mantra that dominates established corporations is not a suitable environment to foster the growth of the first iterations of these “operating system of the cloud” abstractions.

As the serverless space matures, we will see startups, driven by talented teams focused on building simple developer products, dominate the field. This has been, and will continue to be, the status quo of the emerging technology market. Think of the successes of Dropbox or Stripe, but applied to cloud computation as a whole instead of a specific business vertical.

The infrastructure providers that pave the way for these startups to flourish will ultimately set themselves the best for success in the future. Providers that spread themselves too thin trying to dominate both the commodity and usability layers are in for a rude awakening — a death by a thousand needles, built atop their competitors. AWS, though more than capable of outspending startups, has historically shown an awareness of this, with a certain willingness to “play ball” and encourage innovation on top of their platform — Heroku being one of the largest successes.