A Look Behind the Curtain (Cloud Computing Tutorial 2)
This is the second of an evolving multi-part tutorial series on cloud computing. To start at the beginning, click here.
In my last post I discussed what the cloud is in some pretty simple terms. You know, how I actually explained it to my Mom. Of course, this meant that I left out of lot of detail on what happens to make the cloud actually work. Today we’ll delve a little deeper and explore some of the terms and technologies behind the curtain.
As I’ve already written, the cloud can be broken into three pretty big areas: Software-as-a-Service (SaaS), Platform-as-a-Service (PaaS), and Infrastructure-as-a-Service (SaaS). Big words, easily understandable – if you don’t know what these mean, read my last post for a simple explanation.
Software becomes even softer
Let’s start with Software-as-a-Service. The programs that run on your computer are software – things like Microsoft Word, Quicken, even your browser. You’re probably used to installing software, generally by buying it on CD or downloading from a Web site. The cloud lets software become, well, softer - it no longer has to be on your computer.
How can this be? As it turns out, it’s pretty simple. I know you surf the web – after all, you’re reading this! The web is SaaS. It’s a collection of pages that you view using your browser, but those pages are stored on computers located anywhere in the world. For the record, these computers are called servers because they serve pages to you.
Chances are you already uses SaaS. Most people use Gmail or Hotmail or Yahoo! Mail. Many more people use Facebook or Twitter. These are great examples of SaaS – entire programs that you access using nothing more than your browser.
Great, but how does it really work?
You asked for it, you got it…so now let’s get technical (if you are already technical, stick with me – future posts will get progressively deeper; if you still wonder how your TV remote works, you’re only a few paragraphs away from impressing your friends).
So how does your browser get all that information from these servers? As it turns out, it just talks to them. Yep, that’s right – just like you talk to people around you, your browser and the server communicate with language. Again, because you’re reading this, I assume you speak English. Your browser speaks HyperText Markup Language, or HTML. So go ahead, win your next beer in a bar bet. You already know more than most people around you.
Another cool fact that you can throw around – in the same way that you can communicate in English using different methods such as writing, speaking, morse code, or smoke signals – you can transmit HTML in several ways. The browser uses HyperText Transfer Protocol (HTTP) – the same http:// that you see in so many web addresses.
In the same way that English is the language I’m using to write this article, HTML is the language your browser uses to speak to the server. HTML simply tells your browser how to display a page (ok, use the word render if you want to be oh-so-cool). Here’s an example:
<html> <body> Hi there! I'm a web page! </body> </html>
Everything that you see in your browser is there because the HTML sent from the server says so. Even cooler, the programs that used to run on your computer are now running on the server, so the HTML keeps changing – for example, when a new email arrives, or someone posts yet another Foursquare update to your Facebook wall.
So for SaaS, servers running in the cloud are using HTML to tell your browser what to display, but the program itself – whether it’s your email or Facebook or an entire Customer Relationship Management (CRM) program – is running on the server. That, my friends, is SaaS.
Don’t be so SaaS-y
By the way, please keep the comments coming. My goal is to educate and interact; I can’t do that without you!Nice job making it this far! If you’re technical, I’ve bored you. And I promise things will get incredibly deep. If you’re thrilled to have learned something new, strap in, we’re about to go to the next level. Yes, this means new buzzwords.
PaaS and IaaS can also use HTML, but they also generally introduce another technology that runs on the server – virtualization. Oooh, I just got shivers! We’ll go slow, and explore what virtualization is, because it’s the key to successful cloud computing.
Here’s a philosophical question – what is a computer? We generally think of our computer, maybe a Dell or an HP, sitting on the floor, connected to a screen, with a keyboard and a mouse, probably running Microsoft Windows or Mac OS X. It’s that last part that we need focus on: probably running Microsoft Windows or Mac OS X. You may know that those are called the operating system. That’s what we generally think of when we think computer – a piece of machinery, with an operating system. We log in, we log out, we boot up, we shut down.
Well, here’s a pretty cool fact – the operating system is just software, meaning it’s just a program, not very different from Microsoft Word or Excel. You’re used to using your operating system to run other programs – just select it from the Start menu, or double-click the icon. But what if the program you run is…another operating system? That is virtualization. It’s that simple. Windows running on the server computer can be running many copies of Windows.
To the outside world, each of those copies of Windows looks like a separate computer. These are called virtual computers. They act just like a complete and separate computer, but in reality, they are all sharing a single physical computer. One physical computer, many virtual computers.
A new understanding
If this concept makes no sense to you, trust me – stick with this series of articles. Everything will become clear. And if I’ve bored you to tears, stick with me anyhow – we’re going to journey together into the deepest crevices of this technology. For now, let’s recap what we’ve covered so far:
- Cloud computing consists of Software-as-a-Service, Platform-as-a-Service, and Infrastructure-as-a-Service.
- The basic language of cloud computing is usually HTML.
- PaaS and IaaS rely on virtualization, which allows one physical computer to look like many computers.
- You now know some words sure to impress even the most jaded of your friends.
Next time around we’ll dive into the details of virtualization, and learn new concepts like provisioning. Yeah, I’m excited too. Thanks for sticking around, send me comments or email, and can’t wait to hit you up with my next post in a day or two.
Click to go to the next tutorial article. For more on this series, see the whole tutorial:
- Introducing the Cloud
- A Look Behind the Curtain (this article)
- The Guts of the Cloud
- Stretching in the Cloud
Gerry Miller is a business and technology visionary, and is the Chief Technology Officer of cloudticity, a leading cloud consulting company.