Understanding the Basics of Cloud Computing
This article was published as a part of the Data Science Blogathon.
Table of contents
- What is Cloud Computing?
- Service Models
- Deployment Models
- On-Premise vs Cloud Computing
In this article, we will learn about the basics of cloud computing. We will see what are different service models, what are different deployment models and finally we will understand the difference between on-premise architecture and cloud computing.
Cloud Computing refers to the delivery of computing services including storage, servers, databases, networking, software over the internet. To offer faster innovation flexible resources. Here you have to pay only for those cloud services which you use. So that you can help with your operator cost.
Nowadays many leading companies like Amazon are investing billion dollars in cloud services.
What is Cloud Computing?
First, we will understand the situation that existed before cloud computing came into existence.
In order to host a website, people used to face these problems.
1. Buying a stack of servers which are very costly.
2. With more number of servers usually there is high traffic.
3. Troubleshooting problems.
4. Monitoring and Maintaining servers is also very difficult.
In those days the data that is being generated is not an issue to store. But nowadays data is very huge. Everything is online these days. To play music, to watch movies, Business matters, to shop online, e-books, Applications for everything data is being generated and to store this is a huge task.
All these problems which I have mentioned so far are taken care of by the cloud.
Now let’s understand the cloud in detail.
Think of the cloud as a huge space that is available online. Cloud is like a collection of data centers where u host your websites and store your files. To understand better, there were a group of organizations that went and bought these servers, these compute services, storage places, and all. And all these have their own network. What you have to do is just go and rent these services. That too the amount of it you want and to what extent you need it. You have to rent and use what you want. So you ended up paying for what you used.
Cloud Computing is storing data on remote servers, processing data from servers, and Accessing data via the internet. You can actually access it from anywhere in the world.
Service Models in Cloud Computing
Basically, there were different types of people like there were some people who just uses the cloud to use only one particular resource and there were some who will create their own applications, create infrastructure, and all those things. So Cloud service providers came up with some models which can satisfy different people’s needs.
Let us try to understand these models.
There were three types of service models.
Let us start with SaaS.
SaaS(Software as a Service)
What happens here is you just use the software that is already being created and maintained by someone else. To understand it, think of Gmail where you can actually send and receive emails. But you neither created nor being maintained. Google will take care of everything. Similarly here also you just consume the service.
Example: salesforce.com provides CRM which is Customer Relation Manager on cloud infrastructure to its client and charges for it but the software is owned by salesforce company only.
PaaS(Platform as a Service)
Here cloud provider gives the ability to deploy customer-created apps using programming languages, tools, etc that are provided by the Cloud Provider. To give an example, we have a Google App engine where you can create your own applications. Here you are using the Platform. Similarly, PaaS also provides a platform for creating your own applications.
IaaS(Infrastructure as a Service)
IaaS provides the whole infrastructure to you so that you can create your own application. The whole underlying infrastructure is provided to you so that you can choose whatever Operating system you want to use, technologies you want to use, and application you want to build.
With this, I think you can understand better. Here you can see in SaaS only Data is being managed by you. Everything else like applications, runtime, middleware, operating system, virtualization, servers, storage, and networking are being managed by the vendor. Coming to Paas, Data and applications are managed by you and everything else is managed by the vendor. Now finally for IaaS, Data, applications, runtime, middleware, operating system are managed by you and basic things like virtualization, servers, storage, and networking are managed by the vendor.
Deployment Models in Cloud Computing
Cloud deployment models are divided based on the security control, who has access to data, and also based on whether the resources are shared or not. It represents the particular category of the cloud environment.
Basically, there are three main types of deployment models.
1. Public Cloud
2. private Cloud
3. Hybrid Cloud
Let us understand one by one.
Public Cloud: As the name suggests it is available to the general public over the internet. Here provider makes all resources and makes them available publicly. It is very easy and inexpensive because all the hardware, application, and bandwidth costs are covered by the provider. Resources are also not being wasted because you will pay for what you use.
Private Cloud: Here actually you can create your own applications and you are protected by a firewall so that security issues are being minimized.
For example, HP data centers, Ubuntu, Elastra-private cloud, Microsoft.
Hybrid Cloud: Hybrid cloud is the combination of both private cloud and public cloud. You can build your own application and access it. And whenever you feel like there is traffic you can move it to the public cloud and use it.
The top 5 Hybrid Cloud Providers are Amazon, Microsoft, Google, Cisco, Netapp.
On-Premise vs Cloud Computing
To understand it first, we will see what is on-premise architecture.
This is like the traditional approach. You will write your own piece of code and you will own your own server. As a company, employees are maintaining them and making sure the software is deployed properly. Remaining everything like monitoring these applications, having servers, maintaining them all those you should take care of. There is a high up-front cost and maintenance cost. Here owner manages security. When it comes to on-premise, you have more control.
Cloud Computing Approach
It is a huge space available online with a stack of servers that are orchestrated to provide you with various services like databases, storage, computation, security, and many more. There is a cheaper up-front cost. When it comes to security, it is vendor dependence. Owners are expected to give up control. Here you have less control over it. You have to be a little bit dependent on your vendor.
In this article, we have learned the basics of Cloud Computing like what exactly cloud computing means, how this actually helps us, different service models, different Deployment models, and comparing On-Premise and Cloud computing.
Hope you guys found it useful.
Connect with me on LinkedIn: https://www.linkedin.com/in/amrutha-k-6335231a6vl/
The media shown in this article is not owned by Analytics Vidhya and are used at the Author’s discretion.