Cloud Computing & Virtualization
Introduction:
In today's fast-paced digital landscape, businesses and individuals are increasingly turning to
innovative technologies to enhance efficiency, scalability, and cost-effectiveness. Among these
technologies, cloud computing and virtualization stand out as pivotal advancements that have
revolutionized the way we store, manage, and utilize data and resources. This assignment aims to
provide a comprehensive overview of cloud computing and virtualization, detailing their
operational mechanisms, the array of services they offer, and the manifold benefits they bring to
users and organizations alike.
Cloud Computing:
Cloud refers to a network of remote servers accessed over the internet. It offers on-demand
delivery of computing resources like storage, databases, software, and servers.
Architecture:
Cloud Computing architecture consists of mainly coupled essential components and sub-
components for seamless computing operations. These components are:
Front-end Platform-User Interface
Back-end Platform- Cloud Service Provider
Front end:
This architecture helps us to understand how cloud computing resources are being shared via
Front End. It is the visible interface to the customers, clients, and users along with the client’s
network-enabled devices that are used to access the cloud environment. Front end architecture is
divided into three parts.
Web Browser-It enables cloud computing software to run user terminal taking the face of
a web browser or a client application.
Google Doc-A user can directly interact with the cloud through user interface via Gmail,
Google Doc, or a text editor.
Client PC and Networks-These are connected part of Front end that includes user’s PC
and other input devices along with internet connections/ to perform computing on cloud.
Different cloud computing system utilizes different interfaces, you can choose from the
variety of web browsers such as Chrome, Safari, Firefox along with google docs. The
front-end platform comprises thin and fat clients, tablets, and mobile devices, where most
of the IT professionals communicate with each other and with clouds.
Back end:
An Ideal backend architecture always empowers its front end as it embraces the entire
infrastructure on the cloud.
The cloud computing backend architecture is managed by cloud service providers which are
located on remote servers. They are usually composed of a physical assembly of four layers
starting from application, platform, infrastructure, hardware along with security and management
software.
Application layer: Application layer is known as software as a service which is one of
the vital parts of cloud computing architecture. This topmost layer can be any software
application or web service supported by SaaS that takes care of the client’s requests and
requirements. This Application layer is nothing but the distribution prototype where a
third-party host application and makes them available to users over the internet. SaaS
removes expenses & requirements of hardware, maintenance, licensing, installation, and
support.
Platform Layer: This layer comprises OS and apps to provide a PaaS platform for
software development and deployment important for seamless cloud computing
operations.
Infrastructure Layer: This layer includes storage units (CPU, Motherboard, Graphics
Processing Unit (GPU), VMs, virtualization software, and servers on the IaaS platform
that drive entire cloud software services on host application and network-level. System
Administrators can access this scalable storage and compute power whenever needed.
Hardware Layer: This is the bottom-most layer in cloud architecture, primarily consists
of all the aspects that can be physically managed such as database server, routers,
switches, memory disk to control hardware configurations, fault tolerance along with
power supply and traffic management.
Management: The management software is used to allocate resources to specific tasks
and manages the seamless functioning of the cloud environment. It acts as a mediator that
coordinates between frontend and backend architecture in a cloud computing system.
Security: Security is a critical component of any cloud computing infrastructure.
Security keeps the debugging process aligned to cope up with the security issues. To
ensure security in a cloud computing system, regular storage backup is the first step,
whereas virtual firewalls are other elements to maintain cloud security.
Cloud Computing Service Models
1. Infrastructure as a Service (IaaS)
Description: Provides virtualized computing resources over the internet. Users
can rent virtual machines, storage, and networks, offering flexibility and
scalability for various computing needs. IaaS allows businesses to manage their
own applications, data, and operating systems while the cloud provider handles
the infrastructure.
Examples:
o Amazon Web Services (AWS): Offers a wide range of services including
EC2 (Elastic Compute Cloud) for virtual servers, S3 (Simple Storage
Service) for scalable storage, and VPC (Virtual Private Cloud) for
networking.
o Microsoft Azure: Provides services such as Azure Virtual Machines,
Azure Blob Storage, and Azure Virtual Network.
o Google Cloud Platform (GCP): Includes services like Google Compute
Engine for virtual machines, Google Cloud Storage for object storage, and
Google Virtual Private Cloud.
2. Platform as a Service (PaaS)
Description: Supplies a platform allowing customers to develop, run, and
manage applications without the complexity of building and maintaining the
underlying infrastructure. PaaS offers a development environment that supports
the complete lifecycle of building and deploying web applications and services.
Examples:
o Heroku: A cloud platform that lets companies build, run, and operate
applications entirely in the cloud, supporting various programming
languages.
o Google App Engine: A fully managed serverless platform that allows
developers to build and deploy applications on a scalable infrastructure.
o Microsoft Azure App Services: A PaaS offering that enables developers
to build and host web apps, mobile backends, and RESTful APIs in their
preferred programming language.
3. Software as a Service (SaaS)
Description: Delivers software applications over the internet, on a subscription
basis, accessible via web browsers. SaaS applications are hosted and maintained by
the provider, eliminating the need for businesses to install and run applications on
their own computers or in their own data centers.
Examples:
o Google Workspace: A suite of productivity and collaboration tools
including Gmail, Google Drive, Google Docs, and Google Meet.
o Microsoft Office 365: A cloud-based subscription service that includes
access to Office applications (Word, Excel, PowerPoint), email hosting, and
cloud storage through OneDrive.
o Salesforce: A customer relationship management (CRM) platform that
provides cloud-based applications for sales, service, marketing, and more.
o
Virtualization
Virtualization is a technology that creates virtual (rather than physical) versions of computing
resources. This includes virtualized environments for operating systems, servers, storage devices,
and network resources. By abstracting the physical hardware, virtualization allows multiple
virtual environments to run on a single physical hardware resource.
Components of Virtualization
1. Hypervisor (Virtual Machine Monitor)
o Description: Software layer that enables the creation and management of virtual
machines (VMs) by abstracting the underlying hardware.
o Types:
Type 1 (Bare-metal): Runs directly on the physical hardware, offering
high performance and efficiency (e.g., VMware ESXi, Microsoft Hyper-
V).
Type 2 (Hosted): Runs on top of an existing operating system, suitable for
less intensive use cases (e.g., VMware Workstation, Oracle VirtualBox).
2. Virtual Machines (VMs)
o Description: Emulated computing environments that run their own operating
systems and applications, isolated from other VMs on the same physical host.
o Components:
Virtual CPU (vCPU): Emulates the functionality of a physical CPU.
Virtual Memory: Simulates physical RAM for use by the VM.
Virtual Storage: Provides virtual hard drives for storing the VM’s data
and operating system.
Virtual Network Interface: Allows VMs to connect to networks and
communicate with other VMs and physical devices.
3. Host Machine
o Description: The physical hardware that provides the resources (CPU, memory,
storage, networking) required to run the hypervisor and the VMs.
4. Guest Machine
o Description: The virtual machines created and managed by the hypervisor, each
running its own guest operating system and applications.
5. Virtualization Management Software
o Description: Tools and platforms used for managing multiple virtualized
environments, providing functionalities such as VM creation, resource allocation,
monitoring, and automation.
o Examples: VMware vCenter, Microsoft System Center, Red Hat Virtualization.
Key Benefits of Virtualization
1. Improved Resource Utilization
o Virtualization enables more efficient use of physical resources by allowing
multiple VMs to share a single physical host, reducing hardware costs and
maximizing resource utilization.
2. Cost Savings
o By consolidating servers and reducing the need for physical hardware,
virtualization lowers capital expenditures (CAPEX) and operating expenses
(OPEX), including power and cooling costs.
3. Scalability and Flexibility
o Virtual environments can be quickly scaled up or down based on demand, offering
flexibility to allocate resources dynamically and efficiently.
4. Disaster Recovery and High Availability
o Virtualization facilitates robust disaster recovery solutions through features like
VM snapshots, live migration, and replication. It also supports high availability
configurations to minimize downtime.
5. Simplified Management and Maintenance
o Centralized management tools simplify the administration of virtual
environments, making it easier to deploy, monitor, and maintain systems.
6. Isolation and Security
o VMs are isolated from one another, which enhances security by preventing issues
in one VM from affecting others. This isolation also supports better compliance
and data protection.
7. Legacy System Support
o Virtualization allows legacy applications to run on modern hardware by
encapsulating the older operating environment within a VM, extending the life of
legacy systems.