Cloud computing is the delivery of various services via the Internet. These services include servers, networking, databases, storage, software, analytics, and intelligence.
In other words, cloud computing transforms IT infrastructures into a utility. You can connect to infrastructure through the Internet and use the resources without installing or maintaining them on-premises.
Cloud technologies allow you to pay only for the services you use, run your applications or services more efficiently, and scale as your business needs change.
In recent years, it has become a popular option for businesses and individuals for a number of reasons, such as improved performances, cost-saving, security, and increased productivity.
As of 2020, more than 50% of businesses moved their operation to the cloud — according to the Flexera report. This trend will continue in the coming years, as 46% of businesses reported cost-saving benefits.
Depending on their specific requirements, companies can select when, where, and how they utilize cloud computing to ensure an efficient and secure IT solution.
In order to help you navigate the complexities of cloud technologies, we have described different types of cloud computing along with their advantages and disadvantages.
Cloud computing can be categorized based on service models and deployment models. Let’s elaborate on both.
Cloud Computing Based On Service Models
The three most important cloud computing service models are IaaS, PaaS, and Saas. Each represents a different section of the cloud computing stack and has a unique set of features.
1. IaaS [Infrastructure as a Service]
IaaS-cloud provider manages the infrastructure for users. This means the provider takes care of the server, network, data storage, and virtualization. The users can manage things like operating systems and deploy application software on the cloud infrastructure.
In this type of deployment model, cloud providers usually supply resources on-demand from their large set of machines installed in data centers. They handle all kinds of repairs, outages, and hardware issues.
Generally, IaaS involves the use of a cloud orchestration technology such as OpenNebula, Apache CloudStack, or OpenStack. This manages the creation of virtual machines as well as the allocation of storage volumes. Users are charged according to the number of resources allocated and consumed.
- Pay only for what you use
- Add resources in peak times and scale down as needed
- Enables instant recovery from outages
- Add new capabilities and leverage APIs
- Cost may increase unexpectedly if peak usage exceeds estimation
- Data security issues due to multitenant architecture
2. PaaS [Platform as a Service]
PaaS provides a framework (with built-in software components) that developers can use to build and customize cloud-based applications. It also offers various tools to analyze application data, discover unique patterns, and make informed decisions.
By choosing a PaaS model, you can avoid the complexity and expense of purchasing and maintaining software licenses, the underlying infrastructure, middleware, and other resources. Just manage the applications and services you create, and your cloud providers will take care of everything else.
Some providers use specific applications of PaaS as delivery models for data. For example:
- Integration PaaS: enables users to build, execute and manage integration flows, without installing any middleware.
- Data PaaS: The cloud provider builds data applications for the customers and provides data visualization tools to access and analyze data.
The provider may also offer additional services to enhance workflow and security.
- No need for up-front investment in hardware and software
- Allows for higher-level programming with reduced complexity
- Applications deployed can be easily scaled without any major changes
- Enables instant recovery from outages
- Add new capabilities and leverage APIs
- One has to develop applications according to the framework provided by the cloud provider
3. SaaS [Software as a Service]
This cloud service model provides you direct access to a fully-developed software product. It lets you focus solely on how to best utilize the product. Everything (including development, execution, distribution, and management) is handled by the service provider.
Most SaaS solutions currently available in the market are end-user applications. Generally, SaaS apps are mobile apps or website applications, which can be accessed through a web browser. Users don’t need to install or update the app locally.
The most common examples of SaaS applications are Gmail, Dropbox, Office365, Google Maps, and GoToMeeting. While some of them are free, most companies charge a flat monthly or yearly fee per user.
- No need to install or update applications on local devices
- Can be scaled up or down based on demands
- Low distribution cost
- Efficient use of software licenses
- Latency issue
- Switching between SaaS vendors is difficult
Other Less Popular Service Models
4. Serverless Computing
Companies using services from serverless vendors are charged based on their computation and do not have to pay for a fixed number of servers or amount of bandwidth.
The term ‘serverless computing’ is quite confusing: it doesn’t mean there is no physical server. The servers are still used for storing and managing data. However, developers don’t need to be concerned with configuration, management, virtual machines, scaling of containers, and capacity planning.
Serverless models run code on-demand only. They allow developers to build more agile applications and pay only for resources being used, never paying for idle capacity.
5. FaaS [Function as a Service]
Designed to potentially be a serverless architecture, FaaS allows you to deploy a part (a single function) of an application. It is mostly used when developing microservices applications.
Splitting an application into microservices is quite beneficial for developers because it enables them to build and modify small pieces of code that can be easily implemented into their codebases.
Unlike monolithic architecture, in which even minor changes require a hefty deployment process, FaaS eliminates the complexity of the deployment process.
The first FaaS offered by any large public cloud vendor was Amazon AWS Lambda (initially released in 2014), followed by Google Cloud Functions and Microsoft Azure Functions.
6. MBaaS [Mobile Backend as a Service]
MBaaS models provide web/app developers with a means to connect their frontend application software with backend cloud computing and cloud storage. This frees developers from worrying about managing or performing any tasks related to servers.
MBaaS providers offer various basic operations, such as file storage and services, support for push notification, messaging and chat functions, location services, and social network APIs for login and posting.
Cloud Computing Based On Deployment Models
Once you have decided which cloud service is best for you, the next step is to deploy it efficiently. There are three major cloud deployment models: private cloud, public cloud, and hybrid cloud.
1. Private Cloud
Private cloud, also known as internal cloud, provides a proprietary environment dedicated to a single company. Its hardware and software resources are accessible only by a single customer.
The private cloud model offers virtualized, scalable computing resources through physical components stored at a vendor’s datacenter or on-premises. It can be managed internally or by a third party.
Many businesses choose private cloud infrastructure because it offers an enhanced degree of control and strict security and privacy to data via firewalls and internal hosting. They can customize the cloud according to their specific computing needs.
Furthermore, businesses utilizing private cloud models can adopt cloud-native application architectures and practices (such as microservices and containers). This brings even better flexibility and efficiency, and allows customers to seamlessly transition to a public or hybrid cloud infrastructure in the future.
- Provides enhanced security and privacy
- Customers have full control over hardware and software choices
- Customers do not need to rely on the industry and regulatory compliance
- High cost
- Skilled people are required to manage cloud services
2. Public Cloud
The public cloud service provider makes resources available to anyone who wants to use or purchase them from any part of the world. Users can access these resources via the Internet.
While a public cloud model encompasses various features and capabilities, at its core, it consists of the four main characteristics: on-demand computing, resource pooling, scalability or rapid elasticity, and pay-per-use pricing.
Most businesses prefer the public cloud to host their services because of its scalability to meet workload and user demands. Plus, they don’t need to manage their own IT resources. And since customers only pay for what they use, it results in fewer wasted resources.
Although there have been many security concerns over public cloud infrastructure, when implemented properly (with strict security methods such as intrusion detection and prevention systems), it can be as secure as the private cloud network.
- Location independent
- Easy to set up and deploy
- Virtually unlimited scalability
- Early access to IT industry’s latest technologies
- Less secure because resources are shared publicly
- Limited controls
- Performance depends on the internet connectivity
3. Hybrid Cloud
Hybrid cloud merges a private cloud with one or more public cloud services, using secure, proprietary software programs that enable communication between these two different services.
Hybrid cloud models are designed to mix the best of both services. They allow businesses to move workloads between cloud solutions as requirements change.
Using a hybrid model, companies can store sensitive data on a local data center while leveraging the robust computational resources of a managed public cloud. Unlike multi-cloud approaches, in which developers manage each cloud individually, a hybrid cloud depends on a single plane of management.
In recent years, many businesses have upgraded to hybrid cloud environments to reduce overload on local resources and minimize costs. From the health care industry to the financial sector, hybrid cloud technologies have proven to be effective at optimizing resources and enhancing computing performance.
- Improved regulatory compliance and security
- Increased agility and innovation
- Greater infrastructure efficiency
- Improved risk management
- Difficult to implement
- Need to manage multiple vendors and platforms
Other Less Popular Cloud Deployment Models
4. Distributed Cloud
Distributed cloud service runs public cloud infrastructure in multiple different physical locations. This means users can not only host their operations on the cloud vendor’s infrastructure, but also on-premises, in colocation centers or third-party data centers, or in other cloud providers’ datacenters. They can operate everything from a single control plane.
In other words, businesses can deploy and run applications or individual parts of the application in multiple cloud environments. They can select the cloud vendor and location that best meets their needs for performance and regulatory compliance.
Furthermore, centrally managed distribution of public clouds is an ideal solution for edge computing — hosting applications closers to the data sources such as IoT devices or local edge servers.
5. Community Cloud
A community cloud is a collaborative effort in which resources are shared among multiple organizations that have similar requirements. It is owned and managed by one or more organizations in the community, a third party, or both.
For example, government agencies in the United States may share computing infrastructure in the cloud to manage and operate data. This type of cloud computing is scalable, flexible, and compatible with every business. It lets users change documents and configurations as per their needs.
6. High-Performance Computing (HPC) Cloud
As the name suggests, HPC clouds are used to execute applications that consume significant amounts of computing power and memory. Typically, an HPC system is a distributed cluster of GPU-intensive servers.
More specifically, the cluster contains hundreds or thousands of compute servers (nodes) that are connected together. The servers in each cluster work in parallel with each other, enhancing processing speed to deliver high-performance computing. Each cluster can carry out a quadrillion of calculations per second.
HPC clouds are mostly used by research labs (to perform complex simulations), the oil and gas industry (to accurately detect locations to drill), financial services (to track real-time stock trends and automate trading), and companies that utilize artificial intelligence and machine learning tools.
Multicloud is the use of two or more cloud computing and storage services in a single network architecture. It could be an all-private cloud, an all-public cloud, or a combination of both. Unlike hybrid clouds, it doesn’t necessarily include a private cloud.
Businesses use multiple cloud environments to spread data storage and computing resources, which reduces the risk of data loss and downtime.
8. Poly Cloud
Poly cloud is quite different than multicloud. It allows you to execute specific modules of your workloads on the best provider for that specific function. For instance, you may run your API on Amazon’s AWS Lambda, but your data lake on Microsoft Azure.
Although Poly cloud offers substantial cost benefits, you have to rely on the connectivity of different cloud vendors, where there might be increased latency.
Frequently Asked Questions
Who Invented Cloud Computing?
The concept of cloud computing is invented by computer scientist Joseph Carl Robnett Licklider in the early 1960s. He worked on ARPANet, the precursor of today’s Internet, to establish a time-sharing network of computers using the software of that time.
However, cloud computing wasn’t popularized until Amazon launched its subsidiary Amazon Web Services in 2002 to enable developers to build applications on their own. In 2006, Amazon created Simple Storage Service (S3) and Elastic Compute Cloud (EC2), which pioneered the usage of server virtualization to deliver IaaS at a pay-per-price model.
What are the major benefits of cloud computing?
Cloud services allow businesses to set up what is essentially a virtual office. While there are many advantages of using a cloud service, the major ones include:
- Cost-savings (pay-per-use cost model)
- Flexibility and scalability
- Loss prevention and disaster recovery
- Access to automatic updates of the latest IT technology
What are some common examples of cloud computing?
Hundreds of thousands of businesses are using different types of cloud infrastructures to provide their services. The most popular services are:
- Google Apps, such as Google Sheets and Google Drive
- Slack, a messaging application for business
- Microsoft Power BI, a business analytics service
- Heroku, a cloud platform that allows developers to build, deliver, monitor, and scale applications
- Dropbox, a file hosting service that lets you save files online and sync them to your devices
Who are the major cloud providers?
The top five providers offer all types of cloud services listed above. Their revenue (from cloud services) has increased at a CAGR of more than 20%.
- Amazon Web Services
- Microsoft Azure
- Google Cloud Platform
- Alibaba Cloud
- IBM Cloud
- Oracle Cloud
- SAP Cloud Platform
What’s the future of cloud computing?
In 2020 the global cloud computing market size was valued at $371.4 billion. It is estimated to grow at a CAGR of 17.5% for the next five years. By 2025, the cloud computing market will reach $832.1 billion.
This growth is primarily driven by the increasing implementation of advanced technologies such as Big Data, Artificial Intelligence (AI), and Machine Learning (ML). Large enterprises are also shifting their operation to cost-efficient cloud solutions to leverage numerous advantages.
Furthermore, increasing investments by countries like the United States, United Kingdom, China, and Japan, in various cloud-based development projects are expected to accelerate the market’s growth.