Cloud computing can be best described as technology services that are available on-demand via the internet.
Cloud computing services typically break down into three categories: IaaS, PaaS, and SaaS. Read more about the cloud computing stack.
Every variant of cloud computing 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 Platform (GCP).
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 billed 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 computing, 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 providers will have their own data recovery plans in place, leading to potentially faster and easier recovery of data versus on-premises.
Cloud computing services 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 computing services. 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, word processing, and many others.
Learn more about the Cloud Computing Stack.
Although IaaS, PaaS, and SaaS are the most common models of cloud computing, there are some other cloud computing types.
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.
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.
As well as the different types of cloud computing, there are also different deployment models—private, public, and hybrid.
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 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.
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 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.
Learn more about public, private, and hybrid clouds.
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.
MongoDB Atlas, our Database-as-a-Service, 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.
Try out MongoDB Atlas today to see how you can benefit from a cloud-hosted document database offering.
The three main types of cloud computing are Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS) and Software-as-a-Service (SaaS).
They each provide different services but all have the same main feature in common: They are hosted in the cloud. Learn more about the cloud computing stack.
Most of today's applications, especially web and mobile internet applications, are deployed and run on cloud computing services.
However, one example would be Database-as-a-Service, which allows the hosting of data in the cloud, allowing access from more places using the internet. MongoDB Atlas is an example of a Database-as-a-Service.
Please read the following article on cloud architectures for more information.
Software-as-a-Service (SaaS) is where the infrastructure, hosting, and maintenance of software is all taken care of by a third party and the applications are made available in the cloud for access from any internet-connected devices, such as laptops, mobile phones, and tablets.
MongoDB Atlas is an example of a Software-as-a-Service as this provides users with cloud hosted data storage in one or more cloud providers and regions.
Learn more about SaaS and other types of cloud computing.