The Ultimate Guide to Cloud Computing: A Simplified Overview
There is something common amongst all of us, we all have heard the term ‘cloud’, at least somewhere.
But have you ever wondered what exactly is the ‘cloud’? What do people mean when they say that your data is stored in the cloud? Is it stored somewhere in the air? xD
In this article, besides answering the above questions, we are gonna dive deeper into the fundamentals of cloud computing and try getting an overview of what Cloud Computing is all about. After going through this article, you would have a good understanding of:
- What is Cloud?
- What is Cloud Computing?
- Benefits of Cloud Computing.
- Types of Cloud Deployment Models.
- Types of Cloud Computing Services.
- Cloud Architecture Terminologies.
…and would be able to participate in discussions involving the cloud computing buzz out there. Excited? Let’s jump in.
What The Heck is Cloud?
So coming back, what exactly is the ‘cloud’?
In simple words, ‘cloud’ refers to nothing but the servers (not the fluffy cloud in the air), which can be accessed using the Internet. Those servers are present in the form of racks in ‘data centers’. Data centers are physical locations that are present all across the world.
Made sense? If yes, then continue reading further. If not, then also I’d encourage you to read further. It would eventually start making sense, trust me!
So next time when someone says that your data is stored in the cloud, you would know that the data isn’t stored in the air :p (you knew that anyway right?), but in some servers that are present at some physical location somewhere in the world.
Cloud Computing
Now let’s demystify the term ‘cloud computing’.
Definition: The practice of using a network of remote servers to store, manage, and process data, rather than a local server or personal computer.
Now you might be wondering,
Aviral, this definition and all are fine, but why do we need all of this in the first place?
Oh boy, you’re a tough one. Let me explain.
You might be knowing that the websites you visit (including this blog post), they all live on some servers. We need to ‘host’ a website on a server for people to have access to it (via the Internet).
So let’s consider a company ‘X’. This company can have its own data centers and host its websites onto their servers. Such data centers are called ‘on-premise’ data centers.
Having your own data center might sound cool, but that comes with a heavy cost associated with it. You need to pay up-front for the servers (computers), storage (hard-drives), network (routers, cables, switches), rent, cooling, physical security, etc.
Instead of having its own data center, ‘X’ can decide to host its applications on the data centers provided by some other organization (Cloud Service Provider) and pay only for the time it uses their services (pay-as-you-go), that will save the costs (physical) associated with having an on-premise data center.
So ‘X’ now uses a Cloud Service Provider, let’s say Microsoft, to host and manage its web applications on their servers. Microsoft calls its cloud service as ‘Microsoft Azure’.
Azure means bright blue colour of the cloudless sky.
Cloud Computing comprises a lot of services such as compute, storage, networking, databases, analytics, Natural Language Processing, Artificial Intelligence, etc.
Benefits of Cloud Computing
There are several benefits associated with cloud computing, some of them are: Cost-effective, global, secure, reliable, scalable, elastic, etc.
The benefits are kinda self-explanatory, so let’s not spend much time there. Let’s move forward.
Types of Cloud Deployment Models
There are three different ways to deploy cloud services. They can be deployed on a:
- Public Cloud: data centers that are owned and managed by Cloud Service Providers.
- Private Cloud: a company’s own data center.
- Hybrid Cloud: a combination of public and private clouds.
There is also a 4th way, i.e. Multi-Cloud. In this type of cloud deployment model, organizations leverage cloud services from multiple providers.
Types of Cloud Computing Services
There are mainly 3 (now 4 with a recent addition) types of Cloud Computing models.
- Saas: Software-as-a-Service. E.g. Gmail, Office 365, Salesforce, etc.
- PaaS: Platform-as-a-Service. E.g. Heroku, Google App Engine, etc.
- IaaS: Infrastructure-as-a-Service. E.g. Microsoft Azure, AWS, etc.
- FaaS: Function-as-a-Service. E.g. Microsoft Functions, Amazon Lambda.
SaaS is the dominant cloud computing model and most people are used to it on a day to day basis. You daily check your mails that you receive on Gmail, well that is a SaaS model at its play.
Cloud Architecture Terminologies
There are various Cloud Architecture terminologies that you can learn right now in just a few minutes, and that will allow you to participate in any discussions pertaining to Cloud Computing once you finish reading this article.
Ready? Let’s get started.
- Availability: The ability to ensure that a service remains available. You would very often come across terms like ‘High Availability’, which basically means the same i.e. the ability of a service to remain available by ensuring there is no single point of failure and/or ensure a certain level of performance.
- Scalability: The ability to grow rapidly or unimpeded. You would very often come across terms like ‘High Scalability’, which basically means the same i.e. the ability to increase your capacity based on the increasing demand of traffic, memory, and computing power. Two types: 1. Vertical Scaling (Scaling Up) — scaling to a bigger server, 2. Horizontal Scaling (Scaling Out) — adding more servers of the same size.
- Elasticity: The ability to shrink and grow to meet the demand. You would come across terms like ‘High Elasticity’, which basically means the same i.e. the ability to automatically increase or decrease the capacity based on the current demand of traffic, memory, and computing power.
- Fault Tolerance: The ability to prevent a failure (of servers, data centers, etc.)
- Disaster Recovery: The ability to recover from a failure (high durability).
- Load Balancer: It allows you to evenly distribute traffic to multiple servers in one or more data centers. If a data center or server becomes unavailable (unhealthy), the load balancer will route the traffic to only available data centers with servers.
Hope you enjoyed and learned enough to comfortably participate in discussions involving terms like cloud, cloud computing, and various related terminologies.