What is cloud computing?

W

Hello, Folks!

Cloud computing means storing and accessing data and programs in the ‘cloud‘. When I say “cloud” it doesn’t mean the visible mass of condensed watery vapour floating in the atmosphere you see outside your window right now. Cloud computing means the hardware and software you are using sitting on your desktop is provided for you as a service by another company and which can be access over the internet.

Let’s look at some examples..

Example 1 : Suppose, you are a start-up company planned to launch an E-Commerce website for which you will require huge corpus of money to set up a complete Infrastructure which includes Power Backup setup, Server Installations, Big Storage, Software Licenses, Development Environment, and Service Engineers for support.

But through the Cloud, you will spend considerable amount of money and gain access to great computing power at incredibly low cost. This will allow you to own something as far as IT infrastructure is concerned. Through virtualization, startups like yours can do great things with less physical server hardware. You can increase or reduce your storage consumption and pay for what you are utilizing using cloud’s “Pay as you Go” model.

Example 2: You are a die-hard gamer and want to play the latest released game title “Call of Duty” and “PUBG” on your desktop computer. Call of Duty require huge RAM Memory and Storage to run on computers with High-End Graphic Cards, Processors etc. but you found that your desktop computer is not powerful enough to enable all the visual effects and achieve high frame rate to play the game.

Here come the Cloud Computing services as life saver. Instead of installing the game on your computer, you’d only have to load one application. This application will connect you to remote machines owned by Cloud Computing Services over the internet. These remote machines are equipped with powerful cloud server, High-End Graphic Cards, Data Servers, Processor, and Unlimited RAM that will run your game smoothly usually in a completely seamless way. It doesn’t matter to you where the remote machine’s hardware and software is located, it’s just somewhere in the cloud that the internet represents.

Consider you wanted to host a movie booking service. Before cloud, you had to buy a physical server and host it. So whenever a customer wants to book a ticket, he sends a request from his computer to your server. The server processes the request and sends data back to the client (customer’s computer). If the server and the client were having a conversation, it would look like this.

Client: I need tickets for the Joker movie.

Server: Here are the available seats for the movie {C1, C2, P4, A3,…}

Client: I am booking C1, C2

Server: Blocking the seats, awaiting payment.

Client: Here are my payment details { CardNo: XXXXXX, CVV..}

Server: Congrats, they are booked.

The customer’s computer and the server communicate with packets of data.

Your server would be able to handle 1000’s of such requests based on its configuration.

However, what happens when the demands exceed the server’s limit? Say 10k-20k requests? It is the same case when ten to twenty people are pinging you on Whatsapp. You will attempt to answer them all one by one. However, you would take a lot of time. However, on the internet this delay is unacceptable.

Why can’t we add more servers?

Yes, that’s a solution. Say you buy or rent ten more servers. Now they can work as a team and share the load. That works well. However, your service won’t have such requests all the time. Compare the first day of the Joker Movie to the fiftieth day. The number of requests drops down. The additional servers you bought are now jobless. You will be still paying for their electricity and bandwidth. In some situations, you can never predict when requests are at peak. So it’s necessary for the servers to be ready. When the next peak time arrives, your servers may be outdated. Hosting it physically has a lot of other problems like power outages, maintenance cost, etc. Since this involves wastage of resources, this isn’t an effective solution. The cloud was developed to tackle this.

How can the cloud help?

In the cloud, we have a shared pool of computer resources (servers, storage, applications, etc.) at our disposal. When you need more resources, all you need is to ask. Provisioning resources immediately is a piece of cake for the cloud. You can free resources when they are not needed. In this way, you only pay for what you use. Your cloud provider will take care of all the maintenance.

Where is the cloud?

The shared pool of computer resources exists in a physical location called data centers. Your cloud providers have multiple data centers around the world. So your data is replicated at multiple sites. Even if a data center goes down because of a natural calamity, it’s still safe in another location.

Types of Cloud

  • Infrastructure as a Service (IaaS)

IaaS is a form of cloud computing where you are provided the hardware. You have got the flexibility to make it the way you want. IaaS provides computing infrastructure physical or (quite often) virtual machines. It also provides other resources such as virtual machine disc image library, block,and file-based storage, firewalls, load balancers, IP addresses, virtual local area networks etc. It also known as Hardware as a service.

An IaaS provider provides policy-based services and the operations and maintenance of the equipment it provides is the responsibility of the provider.

OR

In IaaS (Infrastructure as a Service) you are given materials like cement, bricks, sheets, etc. to build a house. Similarly, here you get to choose the hardware you want to make the cloud service. You have got the flexibility to make it in the way you want.

eg. Amazon Web Services, Microsoft Azure, Google Compute Engine, etc.

  • Platform as a Service (PaaS)

In PaaS, the provider provides the platform, where the customer can develop, run, and manage their applications. Customers are given hardware and software tools. Users don’t have to worry about installing the software or constructing and maintaining the underlying infrastructure and services. They usually charge on the basis of usage. Some providers charge a flat monthly fee. Thus it helps to reduce the expense for the purchase and maintenance of servers and other infrastructure.

One of the major disadvantages of PaaS is, it can only run applications it supports. And if a PaaS provider stops supporting a particular programming language, there will be a greater impact on the user.

Once a user starts with one PaaS product, it is difficult to migrate the services and data produced to another competing PaaS product. eg Heroku, Google App Engine, etc.

  • Software as a Service (SaaS)

Here you are offered software on a subscription basis. SaaS provider hosts the applications and will be available to the users over the internet. It eliminates the expenses on hardware and maintenance cost as well as software licensing, installation and supports. Also, the payment is as per the usage It offers high scalability. Provider automatically updates the software and hence the user doesn’t have to worry.

Eg: Gmail, Yahoo, etc.

Hope this helps.

Thank you & Keep Learning.. 😊

About the author

iamsparkler

Add comment

Leave a Reply

Most common tags

%d bloggers like this: