In this Cloud Computing Tutorial we will learn about the Characteristics, Types, Models, Examples, Advantages, and Disadvantages of Cloud Computing:
In this tutorial, we will explore the concept of cloud and cloud computing in the software and networking field. We will learn about the various aspects, architecture, types, components, advantages, and disadvantages of cloud computing with the help of various examples and diagrams.
What You Will Learn:
- What Is Cloud?
What Is Cloud?
Before we start to understand the definition and other aspects of cloud computing, we need to first understand the meaning and significance of cloud networks.
The combination of the software and hardware units which are located at the centralized servers inclusive of data storage units and can be accessed through the Internet from anywhere by the customers is known as the Cloud Network.
These servers are located far apart from each other and are based on various organization’s data-centers. With access to cloud networks, the organizations neither have to manage the servers and machines physically nor need to run software on their clients separately.
The major requirement is a good speed and high bandwidth Internet connection.
The cloud permits the client desktop or end-user to access the data which can be in the form of text, voice, video, etc and software applications from any of the remote locations as the storage and computation take place at the servers which are located at the network operating centers, instead of saving them locally on the end-user system.
Example: With the use of cloud we can access our WhatsApp and Facebook account in the new phone with all the data (like all the photos, videos and chat history) intact in its place as was in the old phone.
The Google Drive and Dropbox are also the example of the cloud e-mail providers on which the user can save personal data, can share it with other users and access them anytime from any remote end device and location. Just an internet connection is required for accessing the data.
The use of cloud networks also minimizes the software organization infrastructure overall cost and overhead as they need not build up and manage their setup for running the various applications, they got the cloud platform.
The cloud also makes it easier for organizations to work in different cities and countries all together on the same platform and can share and access data from various parts of the organizations. This has increased the growth of software organizations rapidly all over the world with minimal use of assets and a huge margin of income.
Definition of Cloud Computing:
It is an internet-based method of computing, where the end-user can get access to the data servers on a paid basis and the virtual shared servers provision the infrastructure, software applications, platform, storage, and other resources to the user.
All types of services that a digital system can provide will be delivered in the cloud computing model. The consumers can avail of services on the “cloud” without even understanding how to manage the applications included in it. Thus the users can focus on the business development processes of their project without getting involved in the infrastructure management and installation of the project model.
The users using cloud computing don’t own the physical infrastructure of the unit, noticeably they only pay for the part of the cloud which they used to the third party or cloud service provider. Thus they pay only as per the usage and can rent the services of different kinds from more than one cloud service provider and. They can pay them accordingly as per the usage.
The image below shows the Cloud Computing Architecture:
Characteristics Of Cloud Computing
It offers several attractive features for both businesses and consumers.
Some of the features are listed below:
#1) Device and location independence: The users can connect to the cloud network from any location and any of the device, example, laptop or smartphones, as they are accessible through the Internet and servers that are centrally located (off-site, maintained by a service provider) regardless of any specific location-centric.
#2) Pay as per-use: The users need to pay only for the resources they have used out of the pool of applications and services available and need not pay for the overall infrastructure.
#3) Multi-tenancy: It offers sharing of services, software applications, platform and their costs among large scale users. The same physical infrastructure such as servers and hardware equipment is shared between many users but all of them retain information privacy and data security.
The resource pool is large enough to serve multiple organizations and customers at the same time without an interruption in services between one another. This feature also makes the effective utilization of the resources at the right time which usually has a trend of having less utilization such as 10% to 20% during peak hours by performing load-balancing and sharing activity.
#4) Reliability: The reliability of the system is improved by using multiple redundant servers for applications and data storage so that in case of failure the data can be restored easily.
#5) Productivity and Performance: The productivity of the projects using cloud networks for the application running increases as multiple users work on the same database and software simultaneously. Thus it will give better output by analyzing in their way at the same instance of time.
Types Of Cloud Models
The most common types of cloud models are discussed as below:
#1) Private Cloud: This kind of cloud infrastructure is built up to manage only a single peculiar organization. Here, the applications, data security, and control of the services are dedicated to one organization only and not shared by any other organization.
The private cloud can be managed internally by the internal host and also can be managed externally by the third party resources.
There are two kinds of private clouds, one is On-premise Private cloud, which is hosted internally by the organization members and IT team. They also bear all the infrastructure and operational costs of the cloud. But they have the overall control over the utilization of the applications of the cloud network.
The second one is an Externally-hosted Private cloud which is used by a solo organization but all the infrastructure and operations of the cloud are managed by the third party which has specialization in the cloud services. The third party also guarantees the authenticity of the privacy of the use of resources of cloud exclusively for one organization only.
#2) Public Cloud: The public cloud service is managed and run by an external cloud service provider and is inclusive of several kinds of data servers and application software that are located at different data centers. The public cloud platform can be shared by more than one organization.
By deploying the virtual machine and server’s model, the resources can be shared by different companies at one time which is also known as multitenancy situations. Under such a situation, multiple users are sharing space and renting within one server.
The example of public cloud providers is Amazon AWS, Google, Yahoo and Microsoft which owns the cloud infrastructure and gives access to the end-user on an Internet basis. In this kind of model, the end-user doesn’t have access and visibility to control the security and other operations of the cloud network.
But the use of public cloud is very economical for the consumers as they can access different kinds of data, software applications and can store their data, share resources with others, use the e-mail platform and other services in cloud infrastructure without actually owing all resources.
When more than one organization or more than one government PSU’s are working together on one project then they can use the public cloud platform for testing software tools and sharing their resources and day to day activity reports. They all can work together without being physically present with one another.
#3) Hybrid Cloud: The hybrid cloud includes the services and infrastructure of both private and public cloud networks which are bought together to offer the advantages of both the models but will remain as the unique entities.
The hybrid cloud offers more flexibility to the computing model as while depending upon the usage of resources, one can either choose a private cloud network for confidential services that needs a high level of security or, can use a public cloud network for routine management of resources.
The hybrid cloud architecture is a combination of both on-premises and third-party based servers. It offers a much efficient business environment. The issue with this model is that the consumers have to keep a track record of multiple cloud platforms used and also maintain the coordination between them so that all remain in the sink for any communication.
Each of the hybrid networks must have at least one public network.
#4) Multi-Cloud: Multi-cloud refers to multiple cloud networks, mostly public clouds and can also be a private cloud network. Thus in cloud computing, when an organization incorporates more than one public cloud network from different cloud service providers to use applications, storage, and other services on a different platform is known as the Multi-Cloud network.
The Multi-Cloud network can also be used by organizations for providing redundancy and backup for their critical resources as using different vendors for different services will provide good QoS.
In this network, since the storage and services of a network are divided into multiple vendor networks therefore the migration of services is easy if one of the provider infrastructures falls back. Thus this provides flexibility and redundancy to the organization. In this way using multiple cloud networks is also considered as cost-effective.
But, there are also some issues with this model. In the case of deploying services to multiple vendors, they need to interface with each other for communication with one another related to the management of services.
This will increase the complexity of the operation and management of the project and also introduce the latency in the work model of the project. At the same time, it will become vulnerable to various kinds of virus attacks as they can be accessed by more than one organization and vendors.
Models Of Cloud Computing
#1) Software- as- a -Service (SaaS)
The web-based software applications are available on cloud servers and the end-user can access them via the Internet connection. The services can be accessed from any remote end device and the users need not install the software and setup of the application on its desktop to run it.
In this model, the users get access to application software and databases. The cloud providers will manage the infrastructure of the services which run on the platform. SaaS is also known as “on-demand software” as it is used to pay for usage basis or on a subscription basis.
The disadvantage with the SaaS model is that since the user data is stored on the cloud provider’s server, therefore, there can be some unauthorized access to the data by the third party.
Examples of SaaS are websites that offer services to create and save documents online and playing games online. The Salesforce, Slack, Google Docs, Word online and Mailchimp are the example of SaaS applications.
#2) Platform-as-a-Service (PaaS)
In this model, the organizations rent the storage, tools, infrastructure and the operating systems to build up their applications from the cloud server and they don’t have any role in controlling and maintaining the overall infrastructure. They just hold the processes of the development of their applications and own them.
Thus the PaaS will offer software development and testing environment to the user and organizations. The cloud providers only dispense a computing platform to the users which are inclusive of operating systems, programming language, database, software development tools, and a web server.
The software applications testers or developers will build up and run their applications on that cloud platform despite purchasing and managing the hardware and software of the applications directly.
Examples of the PaaS application: Microsoft Azure and Heroku.
#3) Infrastructure-as-a-Service (IaaS)
In this model, the organizations will take on lease the storage and servers they require to fulfill their project requirement from the cloud service provider. Then by using the cloud storage and servers, they will build up their applications by using their software developing tools, operating systems, and programming languages, etc.
Apart from providing storage and servers on the lease, the IaaS cloud also has provision for services like Virtual Local Area Networks(VLANs), IP addresses, virtual machines, software bundles, firewalls, and load balances, etc as shown in the figure above. But the cloud providers will provide these services based on consumer’s demand from the wide range of resources available at various data-hubs of the cloud provider.
IaaS is widely used for Wide-Area Networking (WAN) systems.
#4) Function-as-a-Service (FaaS)
It splits the cloud resources and applications down the line into smaller units that can be deployed and run only when there is a request generated for the application. Thus this is also called serverless computing.
The organization or user who is using the applications doesn’t need to purchase, rent and manage the servers and virtual machines but they will use it on when they needed a part of it.
Security is a major area of concern for the organizations and also the users who are adopting the cloud platform for their data storage and infrastructure management especially the public cloud domains.
So, there should be the login credentials for accessing the servers and user data. The right to get full access to all the resources available in the cloud network should be reserved by the system administrator of the IT department of the service provider, who is managing the cloud service, else the organization personal who is managing it.
Since the cloud is having scattered resources, at one server it will store data in form of documents, images while on the other server it will assign the computational power and on the third server the software running platform and so on.
Therefore, authorized users will access the data from multiple devices and different remote end networks. Thus the Cloud firewalls should seize the cyber-attacks to all the infrastructure and the platform and data storage servers of the cloud network.
The cloud firewall operates from within the cloud assets and will form a virtual barricade around the cloud network and its running applications as like the normal firewall works for the internal network of any organization.
In this manner, the cloud firewall will offer centralized security to the cloud platform, applications, infrastructure and storage servers.
The service provider or the organization that is managing the cloud network will implement a certain set of rules for a firewall to work. Based on the instructions, the firewall will only allow authorized users to access the cloud network and will filter out the unwanted people and viruses from accessing the network.
Example of Cloud Computing
- Google Docs and MS Office online: The end users can access both of these services through the Internet. Also, the users can access the data, spreadsheets, presentations they have prepared and saved on the cloud network from any of the remote end devices and from anywhere, anytime. This provides better productivity to the user to deliver its best.
- Email, WhatsApp, Skype: These applications will save the user personal data, chat history, inbox, sent e-mails, etc. onto the cloud servers and the advantage of saving the data on the cloud is that the user can access its data on any device i.e. laptop or smartphone anywhere, anytime.
- Zoom: It is a software platform that offers video and audio conferencing facilities and saves the minutes of meeting to the cloud storage thus allowing the users to access the recordings from any device and any location.
- AWS Lambda: This enables the software developers to run applications and scripts for developing the software and other services that run in the backend without the need to manage the servers. This facilitates the real-time alternations in the project for data changes and data storage. The organization has to pay only for the limited resources which it has used.
Benefits Of Cloud Computing
#1) Cost-Effective: The use of cloud infrastructure in networking and computation will reduce the overall cost of purchasing and managing the hardware and software equipment for the project of the organizations.
In this way, the project will become cost-effective as the organizations need not spend money on building data-centers, purchasing hardware, up-gradation of software and other resources needed to run the project as all of these services is managed by the cloud service provider.
Also, the cost of renting these resources of the cloud is very economical for the companies in comparison to managing them rather than purchasing them.
#2) Mobility: The use of cloud computing infrastructure will provide the flexibility and mobility to the end-users to extract, store and share the data from anywhere, anytime just by having an Internet connection.
This implies that the users are not required to carry the hard disks and CDs to carry their data from one place to another. They can just save their data at Google Drive or DropBox and then can access them over the Internet from anywhere.
They can also share these data with their other partners on this platform like with other employees of the company or, the users can share their images with their relatives by creating a family group on the cloud network.
#3) Easy management of Data and Applications: Since the organizations need not configure the software and hardware of the applications and projects they are working on, therefore they can focus much on the development of the software applications easily.
Also, all the data is stored at one centralized server so it is easy to manage the data and to track who is accessing which kind of data at that location by the management.
#4) Device Flexibility: In cloud computing, the same data and applications can be accessed on various devices like smartphones, laptops, desktop PCs and iPads.
#5) Enhanced Storage Capacity: The capacity of the servers to store data is much more than the storage capacity of the user device. Thus the cloud computing will make it easy for the users and the organizations to save their huge units of personal and project-related data in the data servers of the cloud networks.
#6) Automation in Up gradation of software: The cloud computing will offer the automatic up-gradation of all the applications and the software programs running on its platform on a timely basis.
Cloud Computing Disadvantages
#1) Need for Stable and Good Speed Internet Connection: The overall concept of cloud computing is dependent on the availability of the permanent Internet connection.
If the user has no connectivity or poor speed of network connection then it will not be able to access its data and other applications on the cloud server. With a poor speed of the Internet and limited bandwidth, the organization and the end-user will not be able to access even their data and web-based applications.
#2) Security Issues: The security and the confidentiality of the services and applications are the biggest concern regarding cloud computing since more than one organizations share the same server space on public cloud networks to store and access their data and applications.
Thus there has always been a security concern regarding the privacy of the data and information of the users in the mind of the organizations as they don’t have any visibility about the same.
To overcome this issue, the cloud service providers have installed firewalls to protect the unauthorized access to the network and also assigned the credentials to the users so that they can have limited access rights to their individual accounts only.
#3) Migration Issue: If in any case, if the service provider’s services are stopped due to some reasons, then it is very difficult for the users to migrate the huge unit of data and applications to some other cloud network. It will exhaust lots of time and money and also there is no assurance complete data migration, some may be lost due to connectivity issues.
In this tutorial, we have understood the concept of cloud computing in the networking system and its merits and demerits. We have also understood various kinds of Cloud models and types of Cloud networks with the help of the examples and figures.