If you are from a technical background or a beginner trying to enter the Information Technology world, then you would have heard about cloud computing or cloud hosting. The name itself is unique and creates a bit of confusion also. I will share my knowledge about What is cloud computing? How is it beneficial for you?
What is cloud computing?
Cloud computing is a set of various services offered to you by a cloud provider on remote servers. It means that you can store your data and applications or take various services with the help of the internet from a server far away from you. Cloud computing includes storage services, hosting services, computing services, software services, and so on.
When we talk about cloud computing, it doesn’t mean that the servers are in a cloud somewhere. It simply means that the servers are not located in your building or office premises. They are somewhere in the vendor’s datacenter with your data stored in them. You can access them whenever you want by using internet connectivity.
Some popular services that are part of cloud computing are Google Drive, Onedrive, Amazon lambda, etc. I will talk about these services later, on how these services are related to cloud computing.
Why is it called cloud computing?
The word ‘cloud’ is just another synonym/metaphor for ‘internet’. If you remember, in most of the diagrams and flowcharts related to the internet, the internet is shown using a cloud-like shape. Over a period of time, the word ‘cloud’ has gained popularity because of its connection with the internet, and it gave birth to ‘cloud computing.’ Hence, cloud computing means computing over the internet.
Why cloud computing is needed?
The traditional servers that get installed on the owner’s premise are very hard to manage. The owner has to manage its hardware, security issues, scalability issues, fault tolerance, and many more things. It’s a very big headache. But in cloud computing, you can just rent these servers and use them however you want. You don’t even have to create a data center near you. You need an internet connection. No tension about managing the servers.
The cloud providers manage their servers and let you use them for a fee. They give you a dedicated space on the server in which you can install softwares, like WordPress for website development, use it for storage like AWS S3, etc. These cloud services are easily scalable, i.e., you can easily scale-up or scale-down the resources you are using like storage space, ram size, etc.
Cloud computing is a combination of cloud storage, cloud hosting, cloud databases, cloud softwares, etc. These services come under different models of cloud computing.
Cloud Computing Resources
The cloud computing models are categorized into two types, Service models and Deployment models. These models are further categorized into more specific specialization. But before going through these models, you first need to know about different resources used in cloud computing. These include the Operating System you are going to use, the storage facilities, etc. Let’s see them briefly:
1. Network- When we talk about cloud computing, we are dealing with the internet. It means that a network has to be managed to provide services to the end-user successfully. Cloud computing networking deals with managing all network-related issues, like security, connection protocols, etc.
2. Storage- Storage as a resource deals with various storage devices, their capacity, etc. These storage devices are used to store the data of the user on the clouds.
3. Server- The servers are the real servers or the systems that will host the user’s application or data.
4. Virtualization- Virtualization in cloud computing is the creation of a virtual platform for the customer. It creates a virtual version of resources like storage, servers, Operating system, etc. It helps in serving various user from the same server. The whole cloud computing platform is based on the virtualization of resources on the internet.
5. Operating System- The Operating System to be used on virtual machines. It can be managed by users (IaaS) or by a service provider (PaaS and SaaS).
6. Middleware- Middleware is software that allows any application to run on an operating system. It is a translation layer that connects the application with OS. For example, Apache web server middleware helps in running PHP code on a system. There are various middleware types, like database middleware(ODBC, JDBC), message-oriented middleware(), etc.
7. Runtime- It is the runtime environment of the language used to build the application. This runtime environment helps in compiling languages like PHP, Python, Java, and so on.
8. Data and Application- The application that is to be deployed on the cloud and its data.
All these resources are divided between the user and the service provider to manage. This division results in various models of cloud computing.
Cloud Computing Models
As I said earlier, the two categories of cloud computing models are Cloud Service Models and Cloud Deployment Model.
Cloud Service Models
Cloud Service models describe the extent of management by the user and the vendor. These are divided on how many of the resources are handled by the user and how many by the vendor. The service models are categorized into three more categories these are:
- Infrastructure as a Service(Iaas)
- Platform as a Service(PaaS)
- Software as a Service(SaaS)
There is one more new model called Serverless computing or Function as a Service(FaaS). This model is comparatively new from the service-based models. It is based on Event-driven functions. Check out more about Serverless Computing: What is Serverless computing? – Serverless computing explained
Infrastructure as a Service – IaaS
In Infrastructure as a Service, the cloud computing vendors provide you only the infrastructure, i.e., the hardware in a virtual form. It includes servers, storage, and networking resources.
In IaaS, the service providers will manage cloud computing resource, like servers, storage, and networking resources. The users don’t have to worry about the servers or storage size. In IaaS, the end-users have the freedom to choose their operating system. User can install their middlewares, runtime environment over the OS and can develop applications.
IaaS is cheap as compared to other service models because it handles the least number of resources.
Popular Examples of IaaS:
- AWS EC2
- Google Compute Engine(GCE)
- Azure Virtual Machines
Platform as a Service – PaaS
Platform as a Service or PaaS manages all the resources included in IaaS along with Operating System, middleware, and runtime. It is most suitable for developers to develop applications on a ready-made platform.
Developers don’t have to worry about the runtime or the Operating system. They will get all the resources available to them, and they only write code for their application and deploy them into the platform. The developers are only responsible for writing code for the application.
PaaS, however, sets a limitation for the developers to only develop applications in the language supported by the platform. If the platform does not support the coding language, developers cannot develop their applications. It is because the vendors manage the runtime, and developers cannot install new runtime as IaaS.
Popular Examples of PaaS:
- AWS Elastic Beanstalk
- Google App Engine(GAE)
- Microsoft Azure App Services
Software as a Service – SaaS
Software as a Service or SaaS includes cloud-based web applications. These are ready-to-use applications on a subscription basis. Some of the popular examples are Netflix, Gmail, Semrush, and so on. So, all the online tools are Software as a Service because we are using ready-made softwares.
In SaaS, the end-user manages nothing and only uses the application. They only have to register themselves in these online services, pay a subscription fee if required, and are ready to go. They cannot make any changes to the design of these applications.
Popular Examples of SaaS:
- Google Workspace
Function as a Service – FaaS
Function as a Service or FaaS is a new service model which is similar to PaaS. The difference between PaaS and FaaS is that FaaS is an Event-Driven Service. In FaaS, the developers work on an event-based function triggered after a specified event occurs. It is a form of Serverless Computing. Learn more about Serverless Computing and FaaS.
In FaaS, the application is broken down into small functions that perform microservices when needed. It is a true cloud computing pay-as-you-go model. Serverless computing is different from other cloud computing because of its dynamic scalability. Normal clouds are also easily scalable, but they are not dynamically scalable. In FaaS or Serverless computing, there is no need to specify resources size; they will automatically get allocated and deallocated as required by the application.
Cloud Deployment Model
The Cloud Deployment Models describes the location of the infrastructure and who controls it. The cloud can be on-premise, off-premise(third party). These models are categorized into three categories:
- Private Cloud
- Public Cloud
- Hybrid Cloud
A Private Cloud is created for single organization use. These are different from traditional servers because these clouds can be accessed by the companies’ branches from different locations. If you want a server that only your employees can use worldwide, you should use Private Clouds.
The Private cloud can be on-premise or off-premise. It can be managed by the organization or any other 3rd party that is given authorization. Private clouds are expensive than public clouds because the organization itself manages all the resources.
Examples of Private Cloud Providers:
Public Cloud includes SaaS, PaaS, and IaaS services. These clouds are available for public use and not bound to any organization.
Public Clouds are shared with multiple general users and organizations. It is possible that more than one organization is storing its data on the same server without knowing about it.
The cost of using a public cloud is less than a private cloud because it is a shared space.
Examples of Public Cloud:
- Microsoft Azure
- Google Drive
- Google Cloud
- IBM Cloud
- Sun Cloud
Hybrid cloud combines private and public cloud. These two cloud types are interconnected and used according to the requirement. An organization can use a hybrid cloud to increase its IT Infrastructure. For example, they can use a public cloud to increase the capacity of their private cloud. It would be very cost-effective as compared to deploy a whole private cloud.
Organizations can also use different services on their public and private clouds. A public cloud can also be used as a backup for their private cloud. There are many uses of hybrid clouds, and it is getting popular day by day.
Examples of Hybrid Cloud:
- Microsoft Azure
- Google Cloud Services
- IBM Cloud
Benefits of Cloud Computing
- Easy scalability
- Low Infrastructure cost
- Easily accessible
- Ready to use software(SaaS)
- No Servers Overheads
- Easy backups and recovery
- Automatic software updates
- Quick Deployment
Disadvantages of Cloud Computing
- Internet Connectivity Issues.
- Vendor Lock-In.
- Performance can be an issue on shared servers.
- Migration from one vendor to another is difficult.
Popular Cloud computing Service Providers
- Amazon Web Services (AWS)
- Google Cloud Platform (GCP)
- Microsoft Azure
- IBM Cloud Functions
Cloud Computing is going to dominate the Web in the future, so start exploring it. It is very important to keep yourself up to date with the latest emerging technologies and trends.
Subscribe to The Web Seeker newsletters and follow it on social media platforms. Share this article if you like it, and if you have any questions and topics to discuss, please comment below.