We’ve had a steady stream of posts related to cloud computing for some years now. Most all of our cloud posts assume that readers are familiar with the cloud, which is probably a safe assumption. But I’m still surprised on occasion when people ask “What is the cloud anyway?” Yes, even some IT people still ask. So this post will answer that question directly, as well as provide additional details like some historical context and terminology.
What is the Cloud?
“The cloud” simply refers to the internet. When someone says “it’s in the cloud” they’re referring to the internet. But what we’re focusing on here is cloud computing. Put as simply as I can manage, cloud computing refers to a business model where computing resources are made available for public consumption by various providers over the internet. At their core, the “computing resources” include computer processing, disk storage, and network communications. The providers also offer many other higher level services constructed from those core computing resources, such as databases.
Various cloud providers, such as Amazon, Microsoft and Google, have constructed many massive data centers around the globe that each house tens of thousands, if not hundreds of thousands, of server machines. Because these providers purchase such vast quantities of servers, they can buy them far more cheaply than anyone else. Their business model is to provide a wide array of computing resources as cheaply as possible, while still making a profit. Their goal is to become like electric companies and water utilities. Just as the vast majority of us no longer dig wells for water, or build windmills for power, the cloud providers hope that one day soon companies will no longer invest in building their own data centers, but will instead purchase their computing needs from the cloud.
At present it looks like the cloud computing model is working quite well. The major cloud providers all report solid profits and continued growth, while there is an impressively strong trend of companies moving their computing needs to the cloud. As the cloud continues to grow, competition between the cloud providers has led them to trim their margins and lower their cloud computing prices, which benefits cloud consumers and increases demand further still.
A Brief History
The term “cloud computing” is generally credited to Ramnath Chellappa in a lecture in 1997, referring to the cloud symbol that many of us have seen in presentations to show communication between two providers (see Figure 1). In 1999 Salesforce.com became the first cloud provider, with its eponymous CRM service. Amazon played a key role in developing the modern cloud, starting around 2002 as it began modernizing and automating its data centers to allow computing resources to be deployed more efficiently to internal teams. Amazon formally announced Amazon Web Services (AWS) in 2006, including its S3 and EC2 services. Subsequently, Google’s App Engine was announced in 2008, and Windows Azure in 2009. There are many other cloud providers such as IBM, Rackspace, Oracle, VMWare, CenturyLink, and others, but in terms of cloud computing scale, AWS, Microsoft Azure, and Google Cloud Platform fill out the top 3, respectively.
Figure 1: The frequently used graphic showing providers communicating through "the cloud"
For more detail refer to Wikipedia’s history of cloud computing.
Here are some cloud-related terms that are mentioned frequently in cloud computing posts. I’ve included direct definitions and/or links to other sites.
- Cloud providers
These are the companies who provide cloud computing resources. The big three players are Amazon, Microsoft and Google, although there are many others as well. Their respective cloud offerings are Amazon Web Services, Microsoft Azure, and Google Cloud.
- Virtual machine
This refers to the cloud providing such vast computing capacity that you are able scale your own computing capacity well beyond what you could easily achieve on your own, on-prem. For example, if you hosted your high-demand website with several on-prem servers, it would take significant effort to scale up your web server farm if the demand for your website doubled. If you hosted your website in the cloud, however, it would be extremely easy to scale it up to meet demand.
Elasticity is directly related to scale. It refers to the cloud providing consumers the ability to scale compute capacity up or down as needed. Following the website example above, if you hosted your website in the cloud you could scale it up to meet seasonal demand, and then scale it down when demand declines to save costs.
- Horizontal & vertical scaling
- IaaS, PaaS, and SaaS: here and here
- Public, private, and hybrid cloud
- Lift and shift
“Lift and shift” refers to moving on-prem infrastructure to the cloud with minimal design changes, if any. This is a fairly common approach for companies who are making their initial move to the cloud. But in almost all cases there are some changes required, because cloud hosting models don’t exactly match on-prem implementations.
- Service Level Agreements (SLAs): here and here
- Here’s an additional list of cloud computing-related terms
I hope this post has answered the “What is the cloud” question for you in an easy-to-understand way, and also provided some additional useful nuggets. If you’re a newbie to the cloud this post should make it easier for you to follow the many other cloud posts in this blog.