Learn cloud computing basics | Cloud Computing Beginner





A simple introduction

What is cloud computing? Guru Vishwa introduces cloud computing to the absolute beginner

Tap here start

Do you think there are really some computers up there in the clouds?? Then, why is it called "cloud computing"? Is cloud computing just an "illusion"? Let's find out if there is really such a thing as "cloud" computing.

To understand cloud computing we need to understand what a computer is and what computing is. "A computer" is something that can do calculations by taking inputs.
After it is done it will produce an output.

Take a calculator for example. You input some numbers and perform some arithmetic operations. Once the calculator has done the operations it will produce an output.

Your mobile phone is a more sophisticated computer. A laptop is an even more sophisticated computer.

Usually in a company you have a group of such computers. They're connected to each other using wires which enable them to communicate with each other.

This is similar to making a phone call. In fact you can think of computers like phones connected via network cables as if they are making calls to each other and talking.

When a company keeps all it's computers in a dedicated building you could call it a data center. But there are companies which also purely manages computers in specific locations.

Of course they are buildings which have computers but they have other features built into them. This could be called Data center providers.

Now that we know what a computer is, and how they are connected, and what they are called when stored in special locations, we could go ahead and define cloud computing.

"Cloud Computing is actually a bunch of computers managed by a company in various data centers across the world which are made available to you through the internet".

Remember we talked about computers talking to each other similar to us talking over phone? The internet is the same.

It is like millions and millions of phones connected and talking to each other. In the case of cloud computing, they are just computers; and similar to phone calls they make network connections.

Therefore you can use your computer to connect to a computer provided by a cloud computing provider.

Another way to think about it is like this. Let's say you are good in math. For simplicity let's call you a math teaching resource.

That's right! In this example you're a resource that can be used to teach math. Now, your friend needs some help in simple math problems.

How do you teach her? You can ask her to walk over to your house so that you can teach her. But, you can also ask her to just call you and then you can teach her over the phone.

So if you were considered a resource she can use to learn mathematics she just decided to use the phone to use you rather than walking over.

"Who invented cloud computing?"
"Where did the term come from?"
Well, nobody knows for certain! But it sure sounds cool! The term cloud in the technology world goes way back to when the Internet was formed in the 1950's.

However, cloud computing actually started much later... in the earliest years of this millennium. That's right, somewhere in the early 2000's Google and a few other companies started something revolutionary. What was this revolution?.. Can we truly call it one?.. Let's find out!

What was this revolution?..
Can we truly call it one?..
Let's find out!

A cautionary message

Where does cloud computing fail? Guru Vishwa explains in his simple language style.

Tap here start

Should every company consider using cloud computing?

Cloud computing might sound very appealing when it comes to managing "I.T." infrastructure in an organization. However, there are many instances where using cloud computing might not be practical.

To understand different circumstances in which cloud computing may or may not be used we need to understand what actually cloud computing offers.

On a high level cloud computing offers automation and scaling of hardware and software, off premise; that is, remotely.

Why is it offered remotely?

It is because it's far easier to automate and scale a cloud computing environment when setup in certain locations owned by those specific cloud providers.

It is also because once you manage many millions of computers in one location instead of individual client organizations, it saves cost and increases automation capabilities.

It is also because once you manage many millions of computers in one location instead of individual client organizations, it saves cost and increases automation capabilities.

What does this mean for a business?

Any business where the hardware used can't be scaled automatically will require a non-cloud-based solution.

Also, any business where the hardware to be deployed is geographically placed, can't be supported by a cloud computing vendor that can't support it and this is quite common.

Take a telecommunication company for example.

One of their main functions is to connect phones so that they can make calls.

They do this using Cell Towers.

They setup cell towers in several geographical locations through which mobile phones communicate.

Could a cloud computing organization help automate creation of cell towers?

Then it is unlikely that they will be able to offer telecommunication services from a cloud computing standpoint.

What would happen if cloud computing is proposed to be used in the transport industry?

If ships need to connect to their cloud computing environment while in deep sea they will require internet.

This is extremely hard to facilitate with a high degree of reliability. Similarly if planes used cloud computing they will need Internet to connect to cloud computing environment.

This too is hard to achieve with a high degree of reliability.

How about situations in which speed is important?

If a computer is supposed to compute at a high frequency while also taking inputs and outputs at a high frequency, then it will not be able to do this using cloud computing.

Why is that?

This is because cloud computing requires connecting to the cloud environment via the network.

When network communication is introduced during computation cycles the performance of that operation drops dramatically.

Imagine you had two friends, Mary and Simon.

Mary is good in mathematics and can answer your questions immediately.

But Simon, needs to ask his mom for the answer.

You start a game with both of them, where you ask math questions and see who answers first.

Whenever you ask a question Mary's starts solving the problem immediately.

Simon goes to look for his mom ask her the question.

And his mom solves it and tells him the answer.

Then he comes back and tells you the answer.

Who do you think will give you the answer to questions earlier in most cases?

It would be Mary because she only has to calculate the answer.

But Simon needs to relay the information to his mom

Then his mom has to calculate the answer where again Simon has to bring back the answer.

When cloud computers are introduced in situations where computations are done at a high frequency, and the inputs and outputs need to be communicated in each computation cycle, it isn't practical to use cloud computing.

But does this mean there is no cloud computing solution for the problem?

Well, cloud computing providers also talk about on-premise solutions.

Basically, what they mean is, they try to bring the scaling and automation capabilities into your organization's infrastructure, rather than retaining it remotely.

This can very well help solve some of these problems.

A security concern

How do you protect your cloud environment? Guru Vishwa introduces Identity and Access Management.

Tap here start

What if hackers gain access to your cloud computing environment and steal all your data?

This happens all the time. In fact it happens to both private companies and government agencies regardless of how big and powerful they are.

What would you do if they demand 100000 dollars to give it back? What if they say they'll share that data with everyone else, including other hackers, if you don't pay up immediately?

Because of this they lose millions of dollars. What is even more worrying is that hackers end up with important and confidential data of the users such as financial data and medical records.

Can you prevent such a thing from happening to you? How?

When someone or something with an unknown identity gains access to your cloud computing environment it's safety is at stake.

Therefore, we need to make sure only identities that are known to us, gain access to the system.

To manage access of these identities we use I.A.M. So what is I.A.M.: it stands for Identity and Access Management.

When a certain person or entity needs "access" to a system we need to "manage" this person or entity. Let's call this person or entity a "subject".

In order to manage this subject we need to identify it, him or her. While in the real world we use names to identify people and other entities, also known as subjects, we can't use names in the technology world because two people can have the same name.

Therefore we use their e-mail addresses or other identifiers such as government issued IDs.

When I.A.M. is used in a cloud computing environment we use such identifiers. These maybe as simple as email addresses or a bit more complex like a unique string.

Now that we know what identities are, we need to explore what access management is.

While the abbreviation I.A.M. has most of the keywords we need to discuss, we need to ask the question, "manage access to what?"

This is where the word "resource" comes into play. We want to control access to a "a resource" or " an object".

So, to put it all together we may state it like this.

Simply put, I.A.M. Manages access control by defining who has what access, for which resource.

That is, you manage access control; by defining "who".. "an identity".. has "what access".. "a role".. for which resource.. "an object".

"Who", is defined by identity attributes such as email address.

"What access", is defined by roles such as "administrator", "support agent", "developer" etc.

"Resources", are defined by their type or instance; such as "Database Management System" which gives access to databases or "Database X" which gives access to that specific database x.

So how do we manage identities, access and resources in the cloud.

Cloud computing providers allow you to add identities to their system. Then you can define and assign roles to those identities. These roles in turn grant access to certain resources.

By using I.A.M. you avoid using one username and password for everything you do. This is quite common and is a very bad practice.

When you create an I.A.M. identity, cloud providers allow you to get some credentials such that they can be used as a method of authentication.

This is sometimes called a key and secret pair. Sometimes it is a file which contains similar bit complex authentication information.

The idea is to reliably verify the identity of the subject using the credentials.

It is also noteworthy that sometimes the subject can be another resource. For example a resource such as the financial software in a company may need access to the finance database.

In summary, while the applications of Identity and Access Management can be vast, it is always about who has what access for what resource.

Can just having Identity and Access Management make your cloud environment secure?