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.
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.
Examples of types of cloud computing
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.
Different types of cloud technology services
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 solutions, 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.
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.
|Maintenance||Lower cost of installation, lower maintenance cost||More upfront investment and higher cost of maintenance||Low cost and competitive prices as multiple providers are involved|
|Control||Limited control and more dependency on cloud vendor||Good control over the environment due to complete ownership||Good flexibility to choose between different cloud infrastructure as per demand, no vendor lock-in|
|Resourcing||Publicly available, shared or dedicated resources||Dedicated resources||Optimal security provided as required|
Learn more about public, private, and hybrid clouds.
The various tools and resources needed to provide cloud computing form the cloud infrastructure. These include hardware, virtualization, networking and storage components.
Physical and virtual components of cloud infrastructure
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 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.
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.
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.
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.
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.
High availability: Cloud solutions are designed to be highly available. If a component fails, the cloud system remains operational.
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.
Security: Different levels of access control and security features can be applied depending on the nature of data.
Automatic updates: Cloud providers provide new features and upgrade their products and services automatically without causing any downtime.
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.
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
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.