Introduction to Cloud Computing
Updated: Feb 11
You must have heard about the term "Cloud Computing" multiple times in today's day and age. But, have you ever wondered about what the term means? Also, what are things involved in cloud computing? In this post, I will tell you everything about cloud computing!
What is Cloud Computing?
Before going in-depth about cloud computing, let me tell you more about the term "Cloud Computing". Cloud computing is a general term used for anything that involves the on-demand delivery of IT resources over the internet. This helps you to get access to very powerful systems without spending a lot of money. Usually, these services have a pay-as-you-go pricing model (which usually charges you a few cents to a few dollars every hour when you use a particular service).
They are usually divided into 3 main service categories:-
IaaS - Infrastructure as a Service
PaaS - Platform as a Service
SaaS - Software as a Service
Now, let's dive a little deeper into these 3 categories.
IaaS - Infrastructure as a Service
In this model, the company supplies the user with virtual servers, storage, APIs. Users can use the APIs to control everything programmatically. The servers can be configured according to the need of the user, by the user. AWS provides EC2 for VM instances and multiple different services (for different use cases) for storage and they also provide API access. Similar things exist in Azure and Google Cloud.
PaaS - Platform as a Service
In this model, cloud companies provide users with development tools which are hosted on their infrastructure. Users can access these things via the multiple channels like APIs, gateways etc. These things are mostly used for general software/webapp development. Some of the common PaaS products are - AWS Elastic Beanstalk, Google App Engine etc.
SaaS - Software as a Service
In this model, companies deliver softwares/webapps over the internet (a.k.a web services). Users only have access to the software/webapp and NOT the underlying infrastructure that is hosting them. Some of the common SaaS products are - Google Workspace, Office 365 etc.
Here are the different types of deployment models of cloud computing:-
Now, let us take an in-depth look at them.
In this model, services are delivered from the organization's data center to it's internal users. The organization maintains its own cloud infrastructure. This offers all the benefits of cloud and also helps them to have control of the physical data center. Commonly used technologies are VMWare and OpenStack.
In this model, another company provides an organization with cloud services. They usually operate on a pay-per-use model, typically by the minute or by the hour. Heavy discounts are available with long time commitments. Customers also get charged for bandwidth consumption and storage space used and for many more things. Some of the popular public cloud companies are AWS, Azure, GCP, IBM Cloud, Oracle Cloud etc.
As the name suggests, a hybrid cloud setup is a combination of public and on premise (private) cloud setup. Organizations can use the private cloud to run sensitive stuff on their private cloud and can use the public cloud infrastructure to provide access to their services. Hybrid cloud provides the best of the both worlds.
Other than these models, organizations are increasingly shifting towards multi-cloud options. This ensures that their infrastructure is redundant and in case of an attack of some failure, their services stay up.
History of Cloud Computing
The roots of cloud computing comes from the mainframe systems of the early 1960s. During that time, computers were extremely expensive. So, to enable multiple users to use a single mainframe simultaneously, a process called 'time sharing' was developed.
Time sharing is a really simple process where a user's activity is given a slice of the processor's processing time. This helped to maximize processor efficiency and helped to reduce infrastructure cost. This was the foundation of cloud computing.
In the 1970s, cloud computing (that we know and use now) started taking shape with the introduction of VMs (Virtual Machines). This enabled users to run more than one OS in one system on a single set of resources. This helped drastically to accelerate the development of cloud computing.
Further developments kept on occurring and then in 1999, Salesforce became the first company which delivered applications via a website.
Cloud computing became mainstream from 2006 with the launch of AWS. Soon after this, the other big tech companies followed suit, mainly Google, Microsoft and IBM.
Advantages of Cloud Computing
There are multiple advantages due to which many businesses and organizations (both big and small) are switching to public cloud. Some of them are listed and explained below:-
Pay per use - Companies usually charge users by the minute or by the hour. This saves a lot of money for the users as they pay for only the amount they use a particular resource.
Quick resource provisioning - Computing resources can be provisioned very quickly and easily.
Redundancy - As the cloud companies have multi-layer redundancy and failsafe protection, its highly unlikely that your workload will ever have any downtime.
Elasticity - Resources can be scaled up or down depending on the workload. This helps save cost and also helps to quickly provision resources in case of a spike in workload which ensures that the web service doesn't go offline.
Ease of use - Cloud computing platforms are very easy to use as they don't need any setup as such. Also, multiple easy to understand tutorials are available on the internet.
Security - The datacenters are pretty well secured. Also, there are a host of different security offerings by these companies which will help you to secure your workloads.
Disadvantages of Cloud Computing
Just like with everything, even cloud computing has got some disadvantages. Some of them are explained below:-
Cost unpredictability - Although cloud companies usually charge you by the minute or by the hour, monthly cost can be a bit unpredictable due to a lot of factors such as bandwidth use, network requests used etc. Cost prediction services are offered by the companies but often times they underestimate a bit.
Vendor lock-in - Vendor lock-in is a real issue which is increasing every day. Once a company is accustomed to a particular cloud provider and their services, it becomes very difficult for the company to switch cloud providers due to technical and regulatory reasons.
Difficulty in management - A multi-cloud system is good but managing it is a nightmare as different companies provide different services and often times, the services are not inter compatible with each other.
Lack of expertise - Cloud technology is progressing at a rapid pace. So, its becoming difficult for companies to keep up and train their IT staff according to the changes.
Use cases of Cloud Computing
Some of the popular use cases of cloud computing are mentioned below:-
Gmail, Outlook etc. - Any email service which provides their own client, they run on the cloud. This helps an user to access their email anytime, anywhere (where there is internet access) on any device.
Google Meet, Skype etc. - All of the video conferencing softwares use the cloud. This helps them to enable real time communication, meeting recording etc.
Serverless computing - A recent trend has come in computing known as serverless computing. This helps users to run code without provisioning servers. This helps to reduce costs further. Some of the popular examples are - AWS Lambda, Google Cloud Functions and Azure Functions.
Cloud Computing vs Traditional Computing
Now, let's take a look at the differences between cloud and traditional computing.
The resources can be scaled based on the workload.
Users pay by the minute or by the hour (a.k.a pay per use)
Fully managed by the cloud providers.
Cloud Computing Providers
Let's take a look at some of the other lesser known cloud providers.
Future of Cloud Computing
Cloud computing has a pretty bright future for the foreseeable future. Covid-19 has made cloud as one of the top priorities for companies. Due to Covid restrictions and WFH, on-premise to cloud migration will continue for months to come.
Businesses are becoming more aware about the advantages of cloud. So they are trying to migrate to the cloud as quickly as possible. This also helps them to reduce their operation costs.
Cloud providers are also giving multiple incentives to migrate to their platforms. For example - AWS gives startups thousands of dollars in credits for a few years and they also provide long term commitment discounts.
Cloud providers are also bringing new innovations to the market as they want to capture more market share. This has opened new possibilities like running VR applications on the cloud (which was previously impossible to do so) and also serverless computing.
Another emerging field where cloud is heavily used is in the field of AI and data analytics. Cloud has helped organizations to shift through petabytes of data at lightning fast speeds (which was previously impossible for them to do so on their on premise infrastructure). AWS Polly, Google ML Engine and Google Cloud Speech APIs are some of the examples where cloud is extensively used in the field of ML.
So, it is safe to say that the demand for cloud computing will increase with every passing day.
Stay tuned for more interesting content like this! Make sure to subscribe so that you won't miss out on the future posts!