EventJoin us at AWS re:Invent 2024! Learn how to use MongoDB for AI use cases. Learn more >>

What is Cloud Computing?

Cloud computing can be best described as technology services that are available on-demand via the internet.

Cloud computing solutions typically break down into three categories: IaaS, PaaS, and SaaS. Read more about the cloud computing stack.

How does cloud computing work?

Every variant of cloud computing technology has two common factors — off-site data centers and internet connections to access them. The off-site data center can either be owned and maintained by the organization, or more commonly, is owned and maintained by a third-party cloud provider such as Amazon Web Services (AWS), Microsoft Azure, or Google Cloud.

Server resources within these data centers are pooled to create an extremely large platform ready to host virtual services. The type of cloud computing model will define what level of maintenance and infrastructure management of the services is required by the user. However, they all share the same common factor: Services are billed on a usage-based system, often monthly.

This large pool of resources also means that they can be configured to be highly elastic, allowing for the scaling out and up of resources as demand increases, but scaling in and down when demand decreases, thus lowering the cost. You only pay for what you use.

The type of demand can change, whether it is more storage capacity or processing power, but these services can adapt to this. Due to this pool being there ready and waiting, it also means that the provisioning of extra resources is faster and easier than an on-premise solution.

This on-demand use of resources offers almost infinite scalability and flexibility as your cloud computing needs change.

As well as the physical hardware, infrastructure, and software benefits provided by virtualization and cloud technology, there is also the benefit of overall monitoring. For example, security standards and compliance are managed by the cloud provider so there is no need to constantly monitor for security issues.

In the event of a disaster, there is also better data recovery in place. Cloud solution providers will have their own data recovery plans in place, leading to potentially faster and easier recovery of data versus on-premises.

Diagram showing examples of types of cloud computing including storage, tools and databases, accessible via devices such as laptop, desktop and mobile. Examples of types of cloud computing

Types of cloud technology services

Cloud technology solutions typically break down into three categories: infrastructure as a service (IaaS), platform as a service (PaaS), and software as a service (SaaS).

IaaS provides storage, servers, virtualization, and networking services. However, the user is responsible for configuring and maintaining the rest. These are often used by IT administrators.

PaaS provides a cloud-based platform for deploying and managing applications. It includes all the features of IaaS but builds upon it with the operating system, middleware, and runtime also taken care of. It eliminates the need to acquire, maintain, and manage the additional resources. Users are only responsible for the application and the data.

SaaS is the most cloud-managed of the cloud technology stack. It provides all the features of IaaS and PaaS as well as the application and data. All software requirements are taken care of and instead, users can access only the software that is required such as email, image editing, and word processing.

Learn more about the cloud computing stack.


cloud computing stack Different types of cloud technology services

Other types of cloud computing

Although IaaS, PaaS, and SaaS are the most common models of cloud computing, there are some other cloud computing types.


Disaster recovery as a service (DRaaS) or backup as a service (BaaS)

On-premise data and systems are replicated to the cloud, ready to be spun up in the event of a localized disaster or data-loss event. DRaaS and BaaS can be used to replace traditional, costly colocation data centers.

Some providers have started to brand services to sound like cloud computing options — e.g., software development as a service (SDaaS) or even business development as a service (BDaaS). Although the cloud may be the ultimate destination for deliverables, this work is performed by human developers and cannot be considered true cloud computing.


Serverless and functions as a service (FaaS)

Although not always thought of as a type cloud service, serverless is in fact a cloud computing type. In serverless, the backend management of the service is taken care of, so developers can focus on the code and logic rather than any servers.

As well as this, serverless runs the blocks of code on a per-request basis, supporting scaling up and down, or in and out, when required.

A subset of this is functions as a service, such as MongoDB Atlas Functions. This allows developers to create code that is not only triggered on request but in fact in response to a specific event. Everything required besides the code, from the server and the operating system to the tools required to run the function, is spun up when required and spun down automatically when finished.

Cloud deployment models

As well as the different types of cloud solutions, there are also different deployment models — private, public, and hybrid.


Private cloud

A private cloud is one that is intended for use by a single organization. This might involve hosting in the organization’s own data center or in a third-party service provider. Due to their private nature, this is often the preferred deployment model of financial institutions and governments.


Public cloud

Public clouds are the most available and well-known model of cloud service. All the infrastructure required, from servers to networking to supporting software, is provided and hosted by a third-party cloud provider.

These clouds, although public, are often multi-tenant. This means that although the resources to run are shared between organizations, the data is kept segregated.


Hybrid cloud

In some operational instances, it may not be desirable to shift an entire function off-site. Hybrid cloud allows you to split functions between an on-premise data center and hosted resources to increase flexibility, scalability, and cost control while retaining maximum control.

Hybrid cloud deployments are often used to split processing from data. For instance, take real-time low-latency operations like IoT that need on-site processing capabilities for speed purposes. Once data has been processed and is no longer needed for immediate action, it can be moved to low-cost cloud archive storage. It is still accessible, but the burden of storage and managing capacity is shifted to the cloud provider.


Multicloud

Multi-cloud is a cloud service whereby the services come from a mixture of one or more providers.

This could be using a service from one provider, such as email, and then using another provider for a service, such as image editing. However, multicloud can also mean using multiple providers to deploy a single product. MongoDB Atlas is an example of this, allowing users to deploy their databases to the cloud providers of their choice and not having to pick a single one.


PublicPrivateHybrid/multi-cloud
MaintenanceLower cost of installation, lower maintenance costMore upfront investment and higher cost of maintenanceLow cost and competitive prices as multiple providers are involved
ControlLimited control and more dependency on cloud vendorGood control over the environment due to complete ownershipGood flexibility to choose between different cloud infrastructure as per demand, no vendor lock-in
ResourcingPublicly available, shared or dedicated resourcesDedicated resourcesOptimal security provided as required

Learn more about public, private, and hybrid clouds.

Cloud infrastructure

The various tools and resources needed to provide cloud computing form the cloud infrastructure. These include hardware, virtualization, networking and storage components.


Cloud infrastructure components Physical and virtual components of cloud infrastructure


Hardware

Cloud seems all virtual, but physical equipment is required. These include switch, router, load balancers, backup devices, servers, and firewalls. The hardware can be located in multiple locations geographically. The servers are connected together and made accessible to users through virtualization.


Virtualization

Virtualization abstracts the physical resources (hardware) from users through a software named hypervisor, that separates the actual hardware from services and functions. Virtual resources can be allocated as and when required by the cloud users.


Networking

Physical networks are part of the physical hardware and typically include switches and routers. We can create a virtual network over the physical network using a virtual switch and virtual network adapter. The hypervisor abstracts physical and virtual networks. Users can access these virtual networks using the internet or intranet to connect to cloud services on demand from anywhere.


Storage

Data can be stored in multiple systems and devices. Using virtualization, storage can be separated from hardware infrastructure and accessed by users over the cloud.

Benefits of cloud computing

Other than the fact that data is available anytime, anywhere for everyone to access, cloud technology has many benefits and cloud providers offer various additional services to make it easier for organizations to store, manage, and access their data safely.

  1. Highly scalable and flexible: Cloud capacity can be increased or decreased as and when required. Cloud providers provide multiple packages in terms of cost and services depending on specific customer requirements too.

  2. High availability: Cloud solutions are designed to be highly available. If a component fails, the cloud system remains operational.

  3. Reduced carbon footprint: Availability of documents and data at all times, even offline, reduces the overall carbon footprint and eliminates the need to take multiple physical copies of the same data.

  4. Security: Different levels of access control and security features can be applied depending on the nature of data.

  5. Automatic updates: Cloud providers provide new features and upgrade their products and services automatically without causing any downtime.

  6. Better collaboration: Individuals or teams residing in different locations can simultaneously work on the same resources, and share ideas and data instantly, resulting in faster work completion.

  7. Easier management: While organizations can focus more on their business development, cloud technology providers can maintain the underlying infrastructure, platform, storage, and software, freeing the organizations from this overhead.


benefits of cloud computing

Benefits of cloud computing

Cloud computing risks

Although the cloud is widely used across many personal and enterprise organizations, there are still some risks to be considered when contemplating moving functionality to a cloud-based model.

The biggest one is security. With information, infrastructure, and services hosted in an internet-connected location, there is the risk that it could be accessed by the wrong people. Regulations do force cloud providers to meet a certain standard of security and encryption, however, which can mitigate this. MongoDB Atlas has out-of-the-box security measures in place to protect the data of its clients.

Another issue is loss of access. For example, if a natural disaster, power outage, or even a denial of service attack occurs, the data centers hosting services can go offline, causing wide-spread issues. With cloud services, you are dependent on internet access to get to them. Providers try to mitigate this with failover plans and secondary systems which can take over, but this isn’t always avoidable and is something to consider.

Cloud computing and MongoDB Atlas

MongoDB Atlas, our developer data platform, is all hosted in the cloud. Data as a service (DaaS) is a smaller subset of cloud computing and allows for the hosting of data in the cloud with all the benefits of cloud computing, including scaling and high availability.

FAQs

What is cloud infrastructure?

Cloud infrastructure consists of the components required to provide cloud computing. These include physical compute, storage and network resources, and virtualization, to enable users to access these physical resources virtually.

What are the advantages of cloud computing?

The most revolutionary benefit of cloud computing is the ability of users to access their data anytime, anywhere over the internet. Apart from that, cloud technology provides several benefits like lower cost, scalability of resources as required, and better team collaboration through resource sharing.

What is high availability in cloud computing?

Cloud solutions consist of shared resources called components. If one component fails, a highly available cloud system should continue working and recover from the failure immediately, with minimal or zero downtime and without impacting application performance.