WTF is cloud computing?

After more than a decade of being in the popular tech lexicon, people kind of get the idea of “the cloud,” but most probably only understand a bit of it.

That’s because the cloud isn’t a single concrete thing so much as a concept that encompasses many technologies. Understanding those pieces and how they intertwine is the secret to fully grasping the ideas behind it.

At its most basic, the cloud is simply about taking all of the tech you used to have on your computer and letting someone else take care of it for you. The easiest way to understand this is to think of renting these resources (servers, hard drives, networking gear) from companies like Dropbox, Google, Amazon and Microsoft that maintain them in their own data centers, instead of owning them. In a way, this is akin to renting an apartment instead of owning your own home. In this case, however, you are renting computer resources instead of a roof over your head — and just like with the apartment you’re renting, your landlord is in charge of taking care of maintenance.

So instead of having to worry about dealing with all of the hardware and software that runs on it, you can just do your job and run your business.

Software at your service

Before smartphones, tablets, laptops and the cloud, we had a big beige box under our desks (or lots of them sitting in a data center). We bought software and installed it onto the hard drive, and often lived with the old version for years because upgrading was expensive, time-consuming and could cause compatibility issues. The cloud changed all that.

software

Photo: Ron Miller

Software as a Service — or SaaS — is the official name for software you access in the cloud. Salesforce. com (which launched in January, 1999) is perhaps the best-known example of this type of software because it came first. Just about every piece of software you touch these days has a cloud version. Pure cloud companies include Zendesk, Box, Slack, DocuSign, AppDynamics (which was acquired by Cisco) — and the list goes on and on. For consumers, cloud service examples include Gmail (and indeed Google Calendar, Drive, etc.), Dropbox, Spotify and Apple iCloud (which backs up all of your Apple devices to the cloud automatically.

The beauty of software as a service, whether for the consumer or business, is that you never have to manually update it because the cloud vendor is managing all of that for you. And instead of waiting years for the next update, the cloud company updates it on a regular (often daily) basis for you automatically.

What’s more, instead of paying for an expensive, one-version license, you buy a subscription — a monthly or yearly fee (or it’s free in some cases). The seller deals with all of the maintenance and upkeep for you. It’s available anywhere, anytime, from any computer or device — always with the latest version.

That does compute

Suppose you don’t just want to rent software but want to write and run your own programs in the cloud? In fact, many businesses, especially startups, want to do just that but they need computer/CPU power, storage and memory — the guts of that old beige box — to run that software. That’s where Infrastructure as a Service or IaaS comes in. It enables you to dial up as much compute power as you need, only pay for what you use and shut it off when you’re done using it.

On an individual level, that infrastructure could be as basic as using Dropbox or Google Drive to store your files. In this case, those companies are acting as an online hard drive. When files are stored in the cloud, you can access them from any device, as opposed to back in the day, when you needed to email yourself files or use a USB drive to move your files around. Now your files are always available from any computer, phone or tablet because the storage is online, not on your device.

Perhaps the best-known vendor for business in this space and the first to market the idea of cloud infrastructure for the masses is Amazon Web Services. Today, Google, Microsoft, IBM and many others have joined the fray in a fiercely competitive market, but AWS still dominates it, at least for now.

View of computer case and monitor of the 90s

Photo: Sephirot17/Getty Images

Before the cloud, if businesses needed to gear up for a big usage surge like Black Friday and knew it was going to require more servers than they owned, they were limited by those resources. There was no way IT was investing in new servers for a short-term need, then boxing them up and putting them into storage until the next time. The cloud lets you buy as many computer resources as you require and shut them down when you’re done.

That allows companies to take a much more flexible approach to their compute requirements (though they do pay a bit of a premium for this flexibility). This helps them handle short-term spikes but also drives experimentation and innovation because there are basically no upfront costs. If you had to go through a formal procurement process every time you wanted to try something, chances are it wouldn’t happen, or it would take months. IaaS gives developers inside even the largest enterprises more freedom to experiment without incurring a significant cost.

What’s more, having infrastructure available as a cloud service gives startups the ability to launch a new business without having to make an enormous investment in hardware and building a data center to make it happen. That has enabled many of today’s startups to get off the ground.

Build me a platform

The final piece, and perhaps the least understood of the three components, is the notion of platform or — wait for it — Platform as a Service (PaaS).

Say you’re a programmer and you want to build something without having to delve into the details of how to manage your database or how to add more or fewer servers as demand scales up and down. If you use an infrastructure service like AWS, you aren’t responsible for managing the individual servers, but you still have to set them up and make sure they all work together. With a Platform as a Service, you can tap into a slew of existing components, such as security, storage, database, networking and so forth.

modern workplace: female professional computer programmer working at her desk

Photo: track5/Getty Images

Before this approach, programmers had to program each part manually, a process that could take weeks or months. Platforms lower the barrier to entry, level the programming playing field and give programmers access to a broad set of tools that would be difficult or impossible to develop themselves.

This type gets tricky to understand because sometimes infrastructure and software vendors also offer platform services. Salesforce is a great example of that. It’s first and foremost a SaaS vendor, yet it’s also a platform. Lots of independent and successful companies have been built on top of Salesforce, including Apttus, FinancialForce, Veeva and ServiceMax. They can take advantage of all of Salesforce’s programming know-how and simply tap into the software services they have created. IaaS vendors like Google, Microsoft, IBM and AWS have also built these types of services for their customers. There are also open source offerings like OpenStack and Cloud Foundry.

Overall, it’s important to understand that these tools, whether built on a software service, stand-alone, open source or part of an infrastructure service, are designed to help programmers build software faster and more efficiently.

Driving the startup ecosystem

Today’s startup ecosystem, consumers and businesses of all kinds owe a big debt to the cloud. If you think about today’s most popular apps and services, such as Uber, Waze, Spotify or even Pokémon GO, they each require the cloud to make them work.

Take Uber as an example. It uses geolocation, maps, SMS messaging and payments, all of which require a cloud connection to function properly and allow the user to request a ride, the driver to find the person, for the two parties to communicate if needed and facilitate payment. Without the cloud, it would have been prohibitively expensive for a startup to build an app with this mix of complex functions, and have the computing resources to pull it off.

The cloud provides an unprecedented level of access that we take for granted today, but simply wasn’t financially or logistically realistic before it came along. Today, with the swipe of a credit card (or even for free in many cases), we have access to virtually any type of software, endless compute resources and a vast array of programming tools — and we owe it all to cloud technologies.