Clouds that Compute...
Cloud Computing, the word seems confusing often. Don’t worry, you are at the right place. I will describe you in the simplest form as possible.
Cloud, in kid’s thought, is something that is in the sky and it showers water in Rainy season. Now, Cloud Computing, here, means using someone else’s resources over the internet. Resources mean almost anything like Computing power, Memory, Storage, Bandwidth, Software, tools and what not! You just need to pay for what you use.
Let’s say, I want to use some 40 GB RAM and 2 CPU then just go to one of the providers’ site and have one. Then use it from your browser. Too simple enough!
Why should I use someone else’s Computer? I have mine!
Why?
Suppose, you are working in a small company and you wanted to test something which requires large computing power. And obviously, you are not going to purchase that(except if you have that much budget! ) . So you can just use one of Cloud Provider’s resource and pay for the time you used. On the client side, you should have one browser to access that resources. That’s it! You don’t need to manage security, patching of OS, Hardware failure, etc. Just use what you need at a minimal cost.
“You don’t generate your own electricity. Why generate your own computing?” -Jeff Bezos, C.E.O. Amazon.
Some of the key benefits:
- Go Global in minutes
- Simple to use
- Cost saving
- Elasticity
- High availability
- And what not…
Types:
Now let’s move on to different models for Cloud Computing.
Public Cloud, Cloud service providers allow the accessibility of system and services to its customers. These customers can be any from the individual person to a big company.
Private Cloud is like Internal cloud. It allows accessibility of their resources to that specific organization only. It is maintained by that organization according to their needs.
If we combine both the scenario then it leads to Hybrid Computing. In this, a company uses a public cloud for non-critical use cases. For critical use cases, private cloud is preferred.
Cloud Services:
This far, as we know some basics, we can move further. Cloud Services.
- Software as a Service (SaaS)
- Platform as a Service (PaaS)
- Infrastructure as a Service (IaaS)
Before understanding these terms first let’s understand On-premise Infrastructure. On-premise means having your own! You have your own servers and you are using it for production purpose then it is on-premise Infrastructure.
I will take the CAR analogy for understanding our terms.
On-premise infrastructure means owning your own car. You are responsible for driving, buying, and maintenance.
SaaS (Software as a service):
Suppose you have to build software you wanted to provide clients as per hour basis. Then it can be called SaaS.
In our CAR analogy, it is like using public transport. Cheap, less flexible and someone else takes care of maintenance.
In technical terms, “A provider delivers its applications through internet which clients can use directly using the web. Most of them don’t require you to download and install in your local devices.” Just subscribe and use, no need to install.
Features:
- The highest level of abstraction.
- The software can be accessed from anywhere from almost any devices connected to the internet
- Data is secure in the cloud.
PaaS (Platform as a service):
Have you ever booked a cab? It is like that, choose your destination and path other things are up to the owner.
Want more flexibility than using a provider’s pre-built software?
If you have ever used a computer for building something then you should have used tools for that. Tools help you to build and run that. E.g. You have built even a basic C code then for creating and running code you should have used a compiler. That’s it, you’ve got the right thing. It is PaaS.
In technical, A provider offers developer- a platform to develop and build things. A developer can build, manage and deliver applications. You just need to build the code and tell where to sit, Don’t need to think about the internal working of virtual machines.
Features:
- Gives a platform with tools for testing, development, and host
- The focus on building an application without worrying about the environment
- Security, backup, maintenance is the provider’s responsibility
Iaas (Infrastructure as a service):
Now, it is like leasing a car. You need to choose a destination, how to reach there, fuel filling is your responsibility. Core things like maintenance are owner’s.
You want even more flexible resources than above two as you want to create something that others can’t provide. Then it is Iaas. It will give you complete access to, for example, CPU and Networking. You can do anything you want!
Again a technical terms, A provider gives you access to cloud resources like storage, servers, networking on a pay-as-you-go basis. You need to manage what servers are doing, build and install software, etc. Hardware is on up to the vendor. Amazon, Google, and Microsoft are the main providers of it. It is like you are using server residing on someone else’s data center.
Features:
- Saves the cost of buying large hardware
- Scalable infrastructure
- No single point of failure
Every option has it’s own plus and minus. You need to choose according to your own requirements.
By this, you can say that days are not far away when people will say,
Did you like what you read? Recommend this post to others!
Want to share something? I would Love to hear from you!