If you take one thing away from this book, it should be that I'm very bad at drawing fish and trains.
But if you have a second takeaway, I hope it's that the cloud isn't just some inscrutable thing for you to passively consume.
The cloud is meant for you to build on. Yes, you.
There's a reason essentially every startup company for the last few years—no matter the field—has built its IT infrastructure in the cloud, often disrupting competitors with decades of established advantage. Many reasons, in fact.
We've covered most of the reasons in one chapter or another, but let's recap them:
These reasons, and more, have helped cloud adoption explode over the past decade. As 2020 dawned, 91 percent of companies were building at least some portion of their software in the public cloud, spending more than $400 billion to do it. And there is plenty of innovation still to come.
As cloud providers continue to refine their offerings, they're selling more high-level services that are simple and easy to use. You might not know what to do with a virtual machine, no matter how easy it is to rent. But you probably can think of a use for Amazon's Polly service, which turns written text into speech—an automated way to create audiobooks and phone greetings. These days, you can stitch an entire software application together using mostly cloud services and writing very little new code.
“Serverless,” a movement that has gained much prominence (and a bit of controversy) in the cloud engineering community over the past few years, tries to use cloud services whenever possible, writing new code only when absolutely necessary. Despite what the name implies, a serverless software application still runs on servers. (I'm not aware that there's any other way to run code!) But from the developer's perspective, the underlying servers are irrelevant: all they see is the cloud interface, so for them the experience appears seamless…and serverless. Whether the name catches on or not, the principles of cloud-first engineering developed by the serverless community are sure to play a big role in the next decade.
That's because analysts believe that the world will have jobs for 100 million software developers by 2030—and they will need simple tools that let them build quickly. Imagine writing code by giving conversational instructions to a virtual assistant (“Alexa, make me an inventory database”), which sends commands to a “serverless” software system in the cloud, which runs on virtual machines automated on physical servers mounted in three redundant data centers spread halfway across the country, each with their own security staff, maintenance crews, and disaster recovery protections. That's the future of abstraction, and it's closer than you think.
Will all software eventually run in the cloud? Certainly not. Packets can only travel through the cables of the Internet at the speed of light, and so when you are talking to a cloud server halfway around the world, you'll experience some amount of lag time, known as latency. So some applications will always need to run on hardware that is physically close to the end user, not connected over the Internet. For example, algorithmic stockbrokers rely on nanoseconds of advantage to be first with a big trade, so they put their servers right in the same data center as the stock exchange—in the very next server rack if possible. (This is called colocation.)
Many industrial machines do not have reliable Internet connectivity, or they produce too much data to send it all to the cloud cost-effectively. These machines often process some of their data locally, right on the factory floor, before sending some or all of it to the cloud. We increasingly refer to local IoT devices that send some of their data to the cloud as edge computing. Edge devices are notoriously difficult to keep track of and keep updated, for reasons we've covered in the IoT chapter. But they're not going anywhere, so we just have to learn how to deal with them.
Even if you don't want to start a business, you're still living in the cloud—whether you like it or not, you don't have much choice at this point. It's up to you to be a responsible citizen.
And maybe, once in a while, step back to appreciate this thing that exists at the intersection of the Internet and our imaginations. This great big, magical, dangerous, colorful thing called the cloud.
Happy building,
Forrest
18.188.252.23