What is Cloud Computing?

Welcome back aliens, my name is Avin Reddy and in this video, we’ll talk about cloud computing. And we know about cloud, right? Oh, not that one. But the cloud basically means the group of computers on a network.

And that sounds simple now, right? Now, basically, why we have this concept of cloud computing. Now, think about this. If you go back in the earlier days of software development and web application, what we do is example, let’s say if you want to make a website, what you do is you use certain technologies like HTML, CSS, JavaScript, using which you can make a static website.

Of course, you can use JavaScript to build back end as well. But just to keep it simple, let’s say if you want to make a static website, you can build that with the help of HTML, CSS and JavaScript. And then you can run that on your machine.

And that’s why when you run it, you will see a URL on the top, right? Now, basically, if you want to make a dynamic website, let’s say if you want to add a back end to it, it can be done with the help of JavaScript, PHP, Java, C sharp, there are multiple options there. But let’s say when you build a back end as well, you need to run a server, which we call a web server. Now, this web server is running on your machine.

Of course, it also needs an IP address. And by default, if you are running on your own machine, you use something called a local host, that’s your own machine, right? And then it works on your machine. But then when you’re building an application or a website, you want the world to use it.

You’re not doing it for yourself, right? Now, in this case, if you want the entire world to use your machine, that’s not possible because the website is hosted on your machine and you don’t have a public IP address. What you get from your router is a private address. And if you want the world to access your website, you need to get a public address.

And let’s say you bought a public address. And now you can basically use a public IP address for your machine. So let’s say I have this machine here.

And in this machine, I’ll be having the web server installed. And then I also have a public address. Now you can give this public address to the world and they can use it.

Oh, you’ll be saying, OK, they cannot remember your public IP address. That’s fine. You can get a domain name.

Let’s say you got a domain name as Telisco.com. So instead of using a public address, now you also have a domain name. But the thing is, the application or the web application is hosted on your laptop. And of course, you want this website to be accessed 24 by 7 into 365 days.

You don’t want this website to go down. But unfortunately, this is a laptop. And let’s say if I forgot to put a charger, which normally people do, the laptop will shut down.

And then people will not be able to access your website. Maybe I’m using a charger and then Windows says, I want to update myself. And then, you know, you can’t stop it.

So basically, your website is down. Maybe your laptop is not working anymore. Maybe you spilled water on your keyboard and now it is damaged.

Now basically, laptop is not a good option, right? And also there is one more problem with laptop is the computing power. Let’s say you got millions of users and they are hitting your website. And now, this laptop is not capable to service all the customers.

And that’s why you need to get a good hardware. Now, in the earlier days, we used to go to the market, the hardware shop or the hardware market where you can get all the devices to build a good server. Basically, you need a good CPU, you need a good RAM.

Okay, I’m not talking about the CPUs which you use in a normal laptop. I’m talking about a server CPU, a good amount of RAM, your 16GB or 8GB RAM will not be enough. You also need a good storage.

Maybe you want users to create an account, right? And they want to update their details on the website. So of course, it will consume a lot of memory. And then you have to build a big server.

And let’s say you invested around 1 million, that’s a big amount. So let’s say you invested around $100,000 to build a big server which can cater to the millions of users. And now everything is working.

Now, since that’s not a laptop, so it will have a good computing power and you have to make sure that you install a good OS which will not go on update frequently. And also you have to provide security. Now, in the earlier days, you have to do everything by yourself.

Get a room, set up the machines and make sure that it is up and running. You need a good internet speed. You need electricity power continuously.

You need a cooling system to cool the entire environment because I’m talking about a server, not a laptop. Even if you play a small game on your laptop, you know what I’m talking about, right? It will create a lot of heat. So you have to manage everything.

And also you need an admin to manage that machine. That’s right. A human is also involved to maintain the entire server.

And that particular human needs to be properly skilled in terms of configuration, in terms of security as well, because your user data is there in that machine. So that’s one thing. This is a huge investment to start with.

Imagine you’re a startup now. And then to start a company, you need to invest a lot of money just to set up the system. And you don’t want to do that, right? Now, what’s a solution here? In fact, before going for solution, we have a few more problems.

Let’s say you have this system ready and you have your e-commerce website. And now everything is working well because you’re getting around 1,000, 2,000 or 10,000 users every day. But let’s say tomorrow there’s a sale.

So a lot of new products will be going on sale. Maybe you are selling an iPhone for 50% discount. Okay, I want to buy that.

But the thing is, a lot of users will be coming to that website. Imagine, let’s say you’re selling a pen drive at 8 a.m. for 1 rupee. Imagine the number of users coming to their website.

At this point, your server will go down. So before going down, what you will do is you will go to the market. You will buy a new server with the same cost.

And the thing is, everything is working now. And then the sale is over. Now, you don’t have that much of users.

And we have extra server lying there doing nothing. So you wasted your money there, right? Now, to solve this problem, what you can do is you can, instead of doing everything by yourself, buying a computer, maintaining it, getting a person who can manage everything, basically an admin and also a person for the security, you can say, okay, I don’t want to do this. Let me just hand these things to some experts.

Now, this is where there are companies who provide you this service. They say, okay, you don’t have to buy server by yourself. You don’t have to manage.

You give us the money. We will buy the servers. We will buy everything and we will manage it.

Still, you have to do the initial investment. You have to buy those servers, which is not with you. They are managing it.

So that was one solution. But then again, that was not optimized. In fact, these people, they buy the server and they create multiple virtual machines on the same server and they cater to different clients.

Maybe you can say multi-tenant type of stuff, where we don’t have one customer. We have multiple customers on the same server. But still, you are investing.

And still, they still have only one machine. What if something goes wrong? What if there is a network issue? What if there’s a power failure? The entire website goes down. And this is where we thought, okay, let’s not use one machine.

Let’s use multiple machines at multiple locations because your users are not from one region. They are from India, US, Europe, Middle East. They are coming from everywhere.

And if you want to cater to all the customers, you need servers in each location. That will reduce the latency, right? Now, this is where we are, instead of going for one server, what if you can go for multiple servers? They are connected and provide you the solution. Example, let’s say even if you want to add, let’s say, five numbers.

So you can send that request to one server. Hey, I want to add five numbers. One server can do it.

Or multiple servers come together to solve that problem. And that’s what happens when you search something on Google. When you search, it’s not like only one server is involved.

There are multiple servers working together to give you that result instantly. So basically, you need multiple servers. And when you connect multiple servers, that’s where the new term arrives, which is cloud.

So cloud, what is cloud, basically? Cloud is a combination of multiple servers which are there, which you’re not handling. Someone else is doing it for you. Now, who is doing it? We have multiple service providers.

You might have heard about Amazon, AWS. We got Microsoft, Azure. We got Google Cloud.

We have Red Hat also in this market. We also have IBM. Everyone is now in the cloud market.

And they say, you don’t have to buy the servers. We have servers. You just pay per use.

That’s right. You don’t have to do any investment. Let’s say you’re a startup, and you don’t have that much money.

You don’t even have customers now. And every day you get new customers, what you can do is, you can say, hey, Amazon, I have, let’s say, 1000 users per day. Give me a computing power only for those users.

And the moment I get more users, just scale it. Give me two instances. Give me a bigger instance.

That is elastic scaling, which we call. In fact, they also have something called elastic cloud computing, which is the resources expands on your requirement. That’s the power of cloud.

One of the best thing is, you’re not managing it. And they give you uptime, which is almost 100%, not exactly 100%. But they give you almost 100% uptime, and you’re not managing anything.

Now the question arises, have we used any cloud service yet? If you are using internet, you are basically using cloud by default. If you use Gmail, that’s a cloud service. If you use Google Docs, that’s a cloud service.

If you play game online, that’s a cloud service. Everything nowadays is a cloud service. And by default, we are using them.

Now in the cloud as well, depending upon different users, we have different types. We have different service models. Example, let’s say, initially, you had everything with you.

That’s on premise, where you have the hardware. So basically, you have to get the hardware. Basically, you have to get the networking.

You have to get the storage. You have to also install some OS. You have to also install the runtimes and containers.

Let’s say if you talk about software development, we use something called containers now. So you have to install the runtime. You have to install the containers.

And on top of that, you have to install your application, which will have certain methods, certain classes. You have to manage everything. That’s on premise.

Now let’s say you want to use some cloud service where you say, I am okay to manage the software layers and OS, but I don’t want to manage the hardware. Now, this is where IaaS comes into picture, in which basically they give you the hardware, networking and storage. Everything else is yours.

So which operating system you have to install is dependent upon you. You can decide, I want to go with this OS. I want to go with this runtime.

I want to go with this containers. That’s my application. That’s my function.

Everything done by you, except the data centers or the network or the hardware or the networking stuff. But let’s say you don’t want to even manage the OS. What you want to manage is the containers.

Example, let’s say, if you want to work with Docker or Kubernetes. Now in this case, you can say, I have the application. I have the runtime.

I also have the containers. I want you to give me the operating systems which will support containers. That is your SaaS, which is container as a service.

But let’s say you want to go one level up. You don’t even want to manage the runtimes. In this case, they also offer you something called a PaaS, which is platform as a service.

What you can do is, you get everything basically. You get the hardware. You get the networking.

You get the OS. You also get the runtime. You just have to build the application and deploy it.

So it basically provides you a runtime where you can build the application. Now we can go one step forward. There’s a concept of serverless computing.

Now it sounds like serverless, but there is servers. Of course, we cannot achieve something without servers, right? So serverless, they have servers. It’s just that you don’t have to worry about any server.

You say, I have this function or I have this particular module. I just want to run it. Now, if you can get into a subset of it, there’s something called function as a service where you create a function and you say, I just want to run this function.

I don’t care where it is running. I just want to run this. Also, what if you want to scale your function? Let’s say you have 10 functions out of which you have two functions, which you think will need more computing power.

You can scale them, that particular two functions. That is function as a service. And then we have the next layer, which we use as a normal user, which is SaaS, which is software as a service.

Example, let’s say you want to store photos. You don’t have to build your own photo library on the cloud. You get Google photos.

What if you want to type on an editor or maybe you want to type code? You don’t have to install software on your machine or on the cloud service. You get online editors where you can build the application, right? So those are your SaaS platform, even Gmail, Google Docs, everything which you use on cloud is SaaS, which is software as a service. Now, as a developer, we normally focus more on the PaaS, which is platform as a service or KaaS, which is container as a service.

And it looks cool, right? The cloud services look cool and you will be thinking, okay, this is good. Every company should be using cloud. They are using clouds and most of the companies are actually moving from on-premise to cloud services.

But the problem is, if we talk about cloud, let’s say AWS. Now it’s a public cloud, which simply means if you host your application on a public cloud, Amazon is managing it, right? And they are basically sharing the hardware with the other tenants as well, other people as well. Now, in this case, there are some issues in terms of security.

Of course, in terms of cost, it is less because you’re using a public cloud and it is shared by different people. But what about security? The data which you get from your customers are getting stored on this service. Normal data, that’s fine.

But what if there’s some financial data? What if there’s a personal data? What if there are some data which no one should know? But let’s say as a company, you’re storing your customer data on a cloud service which is third party. There is a kind of risk here. Now, by default, all the servers are public clouds, right? So these are accessible for anyone.

It’s not like they can hack your data, but it is hackable, right? How can you trust it? Also, there are some regulations which you have to follow from the government. And that’s where we have some issues with the public clouds. What’s the solution? You can create something called a private cloud inside your company’s wall.

So basically, you have a cloud which is a private cloud for your own company. So you’ll be having multiple data centers. Someone will be managing it, but you have a control on your private cloud.

And all your customer data will be stored on private cloud. Advantage? Safety. Drawbacks? Cost.

Because now you have to manage everything. So what if you can get a solution between these two? And that’s where we have something called a hybrid cloud. So what you do here is every company will have data from the customer.

Some data is private. You have to maintain the privacy there. And some data is okay to shift to public clouds.

So you will be using some services of public cloud and some from private cloud. This is the hybrid cloud. And most of the companies are using it.

In fact, you might have seen this. Companies are moving from on-premise to the cloud. But there are a few companies they are coming back.

They’re coming from cloud to on-premise because they thought cloud is great. But looking at the cost now, sometimes if you don’t build your application properly or there are some cloud services which are not that optimal, you might get surprised by the billing they charge you for a particular for that particular service. So yeah, that’s about cloud computing.

So what simply means is instead of doing computing on your own machine or your own server, you can give this computing power to some third party, some cloud providers. You simply build an application, deploy on the cloud, and they will do the computing for you. You just have to pay on the go.

So that’s it from this video. I hope you enjoyed. Let me in the comment section and do subscribe for further videos.

Bye-bye.

Leave a Reply

Your email address will not be published. Required fields are marked *