What Is 'The Cloud' (Part 1 - The Absolute Basics)

When I first decided to write up a description of 'The Cloud', it was to fulfil one purpose only and that was to explain to my parents what I actually do.  They've always known I've done something 'in computers', but since getting a job as a 'Cloud Engineer', I thought i'd put something together which would explain it all for them.  Unfortunately, it didn't quite work out the way I wanted because, as it turns out, there are some concepts which can't be explained in such a basic way without using analogies which are as complicated as the thing you're trying to explain!  Anyway, I've continued on with what I think is a reasonably easy explanation of 'The Cloud' in the hope it will help someone, somewhere and I'll keep editing it when I think of better explanations...

When I started my first job in IT in 1996, we did have the Internet, amazing but it is true.  We also had Desktop Computers (PCs) and bigger non-Desktop Computers (Servers) and they were all connected to the Internet, 24 hours a day, 7 days a week, 365 days a year.  This was the first prerequisite to having 'The Cloud', we just didn't know it yet.

We often collected these Servers together in rooms, and some us may have even thought about cooling these rooms and/or providing some sort of battery backup and generator power if the mains should fail.  These rooms would eventually become the big Datacentres we see today and these ended up being prerequisite number two of 'The Cloud'.

Now at this time, if you wanted to host some Web based applications, the only real option was to purchase some big, expensive servers and rent an area of one of these Datacentres to put those servers in or, if you were a big enough company and had plenty of money, you could build your own Datacentre.  If you wanted to introduce some element of emergency planning to your set up, just in case your servers failed, you would probably buy an identical set of servers and put them in another Datacentre in another area, (or another country) but if you did this, you would have had to pay for double the amount of servers (or Datacentres if you were rich) and half of these systems would be doing nothing for most of the time, just waiting for a the main servers to be offline due to an issue, so they could take over... meanwhile, you would be paying for both sets of servers (or if you were lucky/unlucky both Datacentres) but only using one at a time.

Then towards the back end of the noughties, (the first decade of the 21st century for those of you who didn't know what they were called) prerequisite number three of 'The Cloud' came into being, and that was a technology called Virtualisation.  Actually, I prefer to call it 'Modern Virtualisation' to distinguish it from the original concept that ran on the big mainframe computers in the 1960s, but the principle is the same and equally hard to explain without using some technical terminology, but i'm going to try.  However, before explaining that, there is one other phrase you will need understand before continuing and that is 'Operating System'.  You'll already use one, you just might not know the terminology... Windows is an Operating System, as is OSX (macOS), Linux and Android and they all perform the role of converting your mouse clicks, letter writing and Web surfing into something the physical parts of a computer can understand.  That is all you need to know about Operating Systems, now on to the next part.

If I went down to my local shop to purchase a computer, I would get a plastic or metal box with a load of electronics (processor, memory, hard drive) in it.  This is a physical computer.  There would then be an Operating System installed and it would be communicating to all of the complicated stuff to allow you to log on to that machine and run software like a Word Processor or surf the Web.  You may well be using this type of system to read this blog post now, A desktop, laptop or tablet are all different physical computers.  Now, if I wanted a new physical computer, i'd go to the same shop and ask for the same thing again, another box with a load of electronics in it and Windows or some other type of Operating System running on it... essentially I've just reiterated what I described in the previous paragraph with Servers and Datacentres, but all of this is to explain that essentially using conventional computing means having a 1:1 relationship for things i.e. box of stuff running Windows with another box of stuff running Windows and each box of stuff doesn't really know what state the other box of stuff is in, each of these physical computers doesn't really talk to any of the other computers... Yes, you can pass files around between them, but they don't really know what each other is up to.

This is where Virtualisation now enters the scene. This is the thing that allows each of these computing boxes to break the 1:1 relationship and run many different versions of Windows or Linux or Android on one physical computer at the same time.  So now we have one computer, running multiple Operating Systems, we now have at least a 2:1 relationship (or perhaps a 3, 4 or 5:1 relationship.)  We're already in a better place than we were, because now we're running many different Operating Systems (we can call them virtual computers or virtual machines) on one physical computer and therefore we're making sure that the hardware isn't waiting around for something to happen before it springs into life, it's being productive all of the time.  So, in a nutshell, that is the first useful part of Virtualisation in practice... many virtual computers running on one physical computer.  The second useful part of Virtualisation provides us with more reliability and disaster planning capabilities and uses that second physical computer you bought at the shop in the previous paragraph (don't tell me you've already forgotten.)  Now, with this additional physical computer, we can move the virtual computers from the original physical box to the new physical box without having to turn them off, so people can still write letters, create spreadsheets and surf the Web on these virtual computers, as they move from one physical box to the next.  If you then expand this out to hundreds of physical computers in different Datacentres, and that you can move your virtual computer around from one physical computer to the next without anyone using it noticing, I hope you will be able to see how it all works.

In essence, 'The Cloud' requires the following to exist;
  • An always on, very reliable, very fast Internet connection connecting...
  • Multiple, large Datacentres around the world full of lots of physical computer boxes with...
  • Virtualisation in place to move the virtual computer you are using from one physical machine to the next even if the physical box exists in a different Datacentre in a different country.
All of the services offered in 'The Cloud' (Facebook, YouTube, Twitter, LinkedIn Gmail, Outlook.com etc.) are based around these three things being at the heart of each service.

Finally, I have to tell you that there is no such thing as 'The Cloud'.  Each of the big players; Amazon, Microsoft and Google and the even the smaller companies all have their own Clouds and you can't easily move between them.  So, if you the think of National Grid distributing power around the country, 'The Cloud' is more like many National Grids operating in parallel, but as you wouldn't be able to transfer electricity from one National Grid to the other competing National Grid, you can't move data from the Amazon Cloud to the Google or Microsoft Clouds.

If you understand all of that, you understand the basics of Cloud based technology.

No comments: