Cloud Computing for Beginners
Introduction to Cloud
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 Captain America: Civil War.
Server: Here are the available seats for the movie {P1, P2, P4, A3 …}
Client: I am booking P1, P2
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 Civil War 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.
What are IaaS, PaaS and SaaS?
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. Ex: Amazon Web Services, Microsoft Azure, Google Compute Engine, etc.
In PaaS (Platform as a Service) the house is built for you, you only need to furnish it. Similarly, here you are provided preconfigured hardware. So it can only run applications it supports. You don’t get the flexibility when compared with IAAS. Ex: Heroku, Google App Engine, etc.
SaaS (Software as a Service) all you need to occupy. Here you are offered software on a subscription basis. Ex: Gmail, Yahoo, etc.
Cloud computing has made the development of any software or application a much easier process, which saves both developers time and effort. Due to this, any development projects can be completed much earlier. However, these days, many developers are still not aware of the fact that you can use containers in cloud computing, which will make development even easier task. If you've never heard of it, you should take a look at this article on What is a container. Here you'll learn all the information you need to know about containers in cloud computing, and you'll definitely find it useful.