What Exactly Is Cloud Computing?

I first heard about cloud computing in 2013 during a non-tech event. It wasn’t such a big deal then so I didn’t take it as seriously as I should have, all I learnt was that “it’s something like Dropbox”. Well Dropbox is actually cloud computing but we’ll get to that later.

If you’re a newbie dev or tech enthusiast, you’ve heard a lot about cloud computing but you just don’t quite get it. In this article, I’ll share what it’s about, why it’s so important and the different forms in comes in.

Source: information-age.com

Why Cloud Computing

Think of that external hard disk or personal computer you once had, you stored a lot of important stuff on it like your school project and books. Nothing must happen to it. Now what if one day, it just stopped working without any prior notice. You tried every trick in the book, put it in the freezer (like I did) but to no avial.

Now imagine you weren’t just one person but some company and instead of a personal computer, it was some other hardware with large volumes of storage containing really important data. Most times, this isn’t just data like your school project, but applications or websites running on these hardwares and accessed via the internet by users all over the world.

Think of how much storage a company like Facebook would require.

What if one day, these large storage devices just stopped?

Data Centers

The hardwares I mentioned above storing large volumes of data are usually stored in rooms or buildings called data centers. They would look something like this:

Source: cisco.com

Now ofcourse, any company knows that these hardwares could fail at different points, so in order to prevent this from happening a lot of finances go into maintenance. The rooms have to be kept at a certain low temperature, system administrators would be hired to constantly maintain them and then several softwares would be installed for testing and running the applications non-stop.

The problem

I’ve already mentioned the problem a single user like yourself can have with their hardware. Just like files are stored on your computer, a developer can also store and run their application from their computer. But they would have to keep the computer on 24/7 and ensure internet is always in perfect condition in order to have users access this application without failures. This isn’t a very wise choice.

So imagine the millions of startups all over the world that can’t yet afford a data center, and even if they could, wouldn’t be able to simply focus on developing their product but also have to worry about keeping it running constantly.

What is Cloud Computing

Cloud computing is the on-demand availability of computer system resources, especially data storage and computing power, without direct active management by the user. 

Wikipedia

Think of cloud computing as instead of you having to buy land, build your own home from scratch and then constaly deal with several repairs, you could just rent an apartment or lease a building for a certain period of time. Someone else with enough resources has done the job of building and now decides to make some profit off it while also giving everyone the opportunity to own a home.

That’s it. That’s simply what cloud computing is about. Someone else with enough resources has built data centers around the world and giving people access to these resources over the internet (the cloud). So you simply pay for what you need.

Service Delivery

Now in the case of getting a home, different people have different needs and space requirements. You might simply need a one-room apartment for about a year, a church or school would need to lease a whole building and each comes with different plans and responsibilities. The same goes for cloud – just as it’s important for developers to store and run their applications, it’s also important for you to backup your school project or your favorite picture from a trip.

Cloud providers understand this and so provide several options for different people with different needs.

SaaS – Software as a Service

This is ready-made software you can have on your phone or computer that gives you access to the cloud. Such as Google Drive, Dropbox, Microsoft Onedrive and so on.

PaaS – Platform as a Service

In this case, you are the software developer and you have to develop and manage the software yourself. You need a development environment that allows you debug, test and run your applications constantly. Every application or website has different needs and there are several PaaS products to choose from to satisfy each needs. Products such as Netlify, Heroku, GoDaddy, Whogohost, Azure and many more belong to this category.

IaaS – Infrastructure as a Service

Now a development envrironment consists of operating systems, servers, runtime environments and many more. Some organizations have to manage these by themselves and so cannot simply rely on the envrionments provided by PaaS products. So we have IaaS products which provide virtualization and networking resources in order to allow engineers manage their environments. Products include Openstack, AWS, Azure, Google Cloud Platform

Note that some organizations such as Google Cloud Platform or Azure could offer more than one kind of service.

To better understand all these, let’s imagine you want pizza:

Source: medium.com/@pkerrison

Note that on-premises refers to what I first mentioned where an organization owns and manages its own data centers.

Now that you understand it as pizza, here’s a diagram to understand it technically:

Source: alibabacloud.com

Virtualized Cloud

Hopefully, you’re not too tired from all this yet and you’re still interested in learning a little more. Now a virtualized cloud is something you can always read up about later, but I’d just give a brief introduction to what it is about. Sometimes, a cloud provider might not actually have data centers in a physical building somewhere but rather have virtual resources for storage, networking etc pulled from various vendors. So it’s like a cloud built from pieces of several clouds. This removes the cost of building and maintaining physical hardware. An example is Openstack.


Comments

One response to “What Exactly Is Cloud Computing?”

Leave a comment