CC IAAS
CC IAAS
{Blog} MongoDB to release new Vector Search and Stream Processing capabilities. Learn more >
Cloud computing refers to the availability of hardware, software, and other technologies required to build an application on demand, over the
network. Cloud computing providers offer various models for the convenience of cloud consumers.
IaaS is the most basic layer of a cloud computing service model. The other two fundamental layers are PaaS (platform-as-a-service) and SaaS
(software-as-a-service). The IaaS layer consists of the hardware required to host an application, i.e., network, compute, and storage resources.
IaaS provides organizations with good control and management on their applications, without having to maintain the infrastructure, i.e., the physical
resources.
IaaS provides the most basic requirements for hardware—like servers, memory, and computational resources for an application. Cloud consumers
can also choose to take PaaS—including operating systems, databases, web servers—to further reduce the maintenance related to their cloud
The fundamental layers of the cloud service models, namely, IaaS, PaaS and SaaS
IaaS gives more control and flexibility to cloud consumers, as they still manage the other two layers, whereas SaaS speeds up the time to bring an
application to the market because it’s fully managed by the cloud provider.
If we were to keep the cloud computing service models on a stack, IaaS would be at the bottom, followed by the PaaS and then the SaaS layer on
the top.
Learn more about the differences between IaaS, SaaS, and PaaS.
IaaS architecture
IaaS primarily consists of network, storage, servers, and the virtualization layers. We need a network to communicate between the virtualization,
storage, and compute components, and to communicate to other service layers as well.
Network
Network consists of resources like bridge, gateway, router, and switches that are virtualized before the cloud consumer can access them.
Storage
The most common type of cloud storage is object storage, which is inexpensive and can store any type of unstructured data including images,
documents, blobs, and binary data.
Some object storage providers are Google cloud storage, Azure blob storage, and AWS S3.
Block storage splits data into blocks, allowing it to be spread across various platforms—for example, hard disks and SSD.
File storage stores data in an organized, hierarchical structure. Examples are shared file systems and Network Attached Storage devices (NAS).
Compute
Central processing units (CPU) for processing web requests and running applications.
Graphical processing units (GPU) that handle workloads like training algorithms and embedded systems.
High performance units that perform advanced complex calculations for science and engineering workloads.
Virtualization
All the physical resources are virtualized using a hypervisor before they can be accessed by the cloud consumer (subscriber). Consumers can access
the infrastructure from anywhere using an internet connection, or a virtual private network (VPN) for additional security.
Basic architecture of IaaS with the fundamental components, i.e. storage, compute, network, virtualization
Additional offerings
Depending on the organization’s business needs, cloud providers can also offer security, load balancing, monitoring, clustering, log access, backup
and recovery, replication, and serverless architecture offerings. These can provide the organization with the necessary level of control and
automation they want. The cloud provider has virtual machines that the subscriber (organization) can use to install their choice of operating system,
software, database, and other components.
In the above example of an IaaS architecture, the system admin manages the virtualized storage resources and the compute resources. VM
automation helps in reducing the time taken for maintenance of the logical infrastructure (IaaS). Load balancing can be done for better performance
and higher availability. Firewall provides the necessary security for clients to access the application.
Maintains network resources, compute resources, storage resources, and data center infrastructure.
Provides maintenance-free virtualized access to the hardware or infrastructure resources (mentioned above) on a pay-as-you-go basis.
Creates a continuous virtual environment for cloud consumers.
Provides easy access and control over individual IaaS components to the cloud consumers.
Virtualization technology
Virtualization of resources can be done using a hypervisor. A hypervisor is a software product that shares one physical resource with multiple virtual
machines. A cloud provider uses network protocols like fiber channel, iSCSI, and NFS to split a physical network into logical partitions (or views).
For example, the hypervisor can provide networking as a service to the virtual machines using routing, bridging, or network address translation.
Some popular hypervisors are Microsoft Hyper-V and VMware vSphere.
How a single physical storage is split into various logical partitions using the hypervisor layer
In a public cloud setup, the customer’s workloads run on data centers that are owned and maintained by the public cloud provider. The infrastructure
is pooled across multiple organizations and institutions. The provider offers infrastructure over the internet as a service through dedicated
connections, and takes care of the virtualization software. The provider may also give access to physical resources (not virtualized) as per the
organization’s needs.
In a private cloud setup, the infrastructure is available to only one organization, which is similar to having an on-premise data center, but managed
by a cloud provider.
A hybrid model offers a mix of virtual machines and container-based applications, deployed on public cloud or data centers.
Organizations can choose various billing options provided by cloud providers for using their infrastructure as a service:
Shared model, where multiple customers can access the services independent of each other.
Usage per month or hour, where the billing can be done using the amount of data stored or the number of processors required per month/hour.
Pay as you go, where the cloud user can use the services for as long as they want
Advanced workloads: Complex workloads such as scientific computations and machine learning require high computational power, which
can otherwise be very costly.
Web applications: IaaS provides all the infrastructure needed to host web applications, like servers, storage space, computation resources,
clustering, and load balancing.
Big data analytics: Big data often requires a lot of data to be pushed through the network and at a great speed. IaaS provides the required
network and computational resources to process the incoming data and store them effectively.
It’s cost-effective, as organizations can just lease or rent the resources on-demand.
You have full control of the virtual machines.
There’s a faster time to market as the infrastructure is flexible for continuous development and enhancements.
It provides scalability and control and eliminates the cost and complexity of in-house deployments of hardware.
You avoid underuse and overuse of resources; IaaS consumers can use just the right amount as per their business use case.
Because of the multi-tenant nature of IaaS, resources like bandwidth and disk space may be unevenly shared or used up by a certain consumer
(a noisy neighbor), which may affect the overall network performance.
There are network outages from the cloud vendor’s end.
There is dependency on vendors for infrastructure upgrades and maintenance.
Although providers and subscribers follow security guidelines, the organization is dependent on the provider for data security.
Example of IaaS
Example of IaaS along with the other cloud service model layers are:
PaaS: Apache (web server), MongoDB (database), Linux (operating system), JRE (Java runtime environment), Heroku (supports multiple
programming languages).
Learn more about Humana's journey with MongoDB: from IaaS to MongoDB Atlas.
If there is another tenant (IaaS consumer) who takes up more resources like bandwidth, the other consumers may face performance and network
issues, causing disruptions in services.
Choose a provider who can provision the infrastructure in the most efficient and fair manner.
Data security is of prime importance. Know about the compliance and regulations, data encryption mechanisms, and certifications of the provider.
Also consider the service reliability and time to resolve any hardware and software issues by the provider, as these will affect the performance and
speed of the application.
Scalability
The provider should have flexible plans where you can scale the infrastructure up or down based on your business needs.
Choose how much control you want to have on the IaaS features you have selected, and how easy it is to manage the infrastructure parts under your
control.
Cost considerations
Most cloud providers offer pay-as-you-go, hourly, and monthly plans. You should compare the options provided by different vendors and choose the
plan that suits your organization’s needs.
Consider your network, storage, and compute requirements and the options for server size, virtual machine size, number of processing units,
memory units, and storage units.
Network speed
Consider the speed of interaction between the storage, processing units, internet, data centers, and virtual machines.
Disaster recovery
Consider a provider who can offer quick backup and recovery options at different levels such as virtual machine, server, or front-end level, in case
of a failure.
MongoDB Atlas: The global cloud database service for modern applications
IaaS provides the required resources in a virtualized manner to the developers. However, it needs timely updates and management by system
admins. If you want a fully-managed solution, try MongoDB Atlas.
MongoDB Atlas is the database as a service provided by MongoDB. Atlas supports mobility and data distribution across major cloud providers like
AWS, Azure, and Google Cloud simultaneously with multi-cloud clusters.
FAQs
English
About
Support
Social
LinkedIn YouTube
Twitter Twitch