CS Glossary Ep.1 | What is the Cloud?

The following content come from an answer I wrote at a private discussion forum for a CS class. Thinking the answer could be interesting to more people, I moved the content to here :-)

Here is my very informal understanding of the cloud:

TL;DR

Cloud is an artistic way of referring to managed computing infrastructures.

What is the Cloud?

In the early 2000s, the computer scientists were eager to build faster chips (in terms of instructions per second). However, soon enough, as Moore’s Law comes to an end, it is hard to keep improving single chip performance — a single chip can only be so fast and it is hard to get the performance to double, triple… But… they realized, if they give up on insisting on only using a single chip, it was a lot easier to get the desired performance (double, triple or even more) by connecting multiple machines/chips together (usually via some sort of computer networks) and make the connected machine act as one big server that handles user requests.

It turned out this ideas was brilliant! With many connected machines (not one, not two, but hundreds!), it is fairly easy to get the performance (in terms of number of user requests handled per second) to grow quickly. …and as you could imagine, many big companies did follow this route! A search-engine company that we all know, at the time, had difficulty in building servers that can handle its fast growing request load. They solved the problem by building a large amount of cheap commodity machines, and inter-connected the machines smartly to handle large amount of user request. (Of course, they weren’t the only company that did so, I am just using them as an example).

… and time soon moves to around ~2007ish, a company we all know, that sells goods online and ships the item to you, had another problem. They were overflowing with computing resources, i.e., they had too much connected machines and they probably didn’t need that much, and apparently it was a waste. So one day, someone from there company thought: “why don’t we simply rent to overflowing computing resource to users who wanted to use them? Why not? We can manage the machine physically, and the users who want to use the machines can simply submit their computation via the internet (maybe with SSH or other means). Wouldn’t that be nice? The users will be happy, because they don’t have to hire people to manage the physical machines and we can use our overflowing computing resource to make money, how wonderful!” So here you go, we have companies managing large clusters of machines, and sell computation as a service. Now it might be a good time to answer your question what is the cloud. The large cluster of machines can be referred as “THE CLOUD” and the companies who manage the machines physically and sells computation as service can be referred as cloud providers.

Management and distributed systems

Time fast forwards to 2021, the Cloud has become a very popular and competitive industry, many cloud provides are selling computation as a service. In order to be competitive, of course they want to do a good job. That requires smart and careful cloud management. Here is a simple but important example:

Fault-tolerance: the cloud is composed of many, many, many commodity machines, each of which has a good chance of breaking down. Cloud provides does not want the broken down of machines impact the service that they provide to users. So fault-tolerance is important. A key technique for fault-tolerance is replication: if you have some data, save it, say 11 times, on 11 different machines, then, unless all the 11 machines fail at the same time, you won’t lose the data (and … in reality, many cloud providers actually does save important data more than 11 times!). For obvious reason, if you have 11 copies of the same data on 11 different machines, you probably want the 11 machines to be at different geographic locations. If you put all these 11 machines in the same room, what if the room caught fire :-(

Of course, all of these are just some stories come to my mind before I go to bed, I could be wrong here and there about the history but the idea around the cloud should be mostly accurate.

Hope this helps in figuring out what the cloud is. If not, you may find this video <https://youtu.be/Cp10_PygJ4o> funny but making things more confusing :-P

p.s. This video was about Google Actual Cloud, which was the April 1st joke from Google in 2015.

--

--

--

In between the two big ears are ideas!

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Infinity Graph + Portals 2.0

Get rid of those annoying self-signed certificates with Microsoft Certificate Services, Part 2

Image by Mark König on Unsplash

What Is WebRTC?

Code Smell 06 — Too Clever Programmer

How to create your own virtual private cloud like Google Drive?

Learning PowerShell — Let’s Do It Together — Part 1

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Alan Tu

Alan Tu

In between the two big ears are ideas!

More from Medium

Difference Between RAM and ROM

Do not breathe and prioritise it

Improve Your Agents’ Information Literacy with Intelligent Term Detection

What is API Security and Why is It Important?