loud Computing
loud Computing
services like storage, servers, databases, networking, software, analytics, and intelligence over the
internet (“the cloud”). It enables organizations and individuals to access these resources on a pay-
as-you-go basis without the need for on-premise infrastructure.
Key Characteristics of Cloud Computing
1)On-Demand Self-Service: Users can provision resources as needed without human interaction.
2)Broad Network Access: Services are available over the network and accessed through standard
mechanisms. 3)Resource Pooling: Multiple users share the same resources dynamically.
4)Scalability and Elasticity: Resources can scale up or down as per demand.
5)Measured Service: Resource usage is monitored and billed based on usage.
Types of Cloud Computing
1)Public Cloud: Owned and operated by third-party providers, services are available to the general
public. Examples include AWS, Azure, and Google Cloud. 2)Private Cloud: Dedicated
infrastructure operated exclusively for a single organization, offering more control and security.
3)Hybrid Cloud: Combines public and private clouds to allow data and applications to be shared
between them for flexibility and deployment optimization.
Service Models
1)Infrastructure as a Service (IaaS): Provides virtualized computing resources over the internet
(e.g., Amazon EC2, Google Compute Engine). 2)Platform as a Service (PaaS): Offers a platform
allowing developers to build and deploy applications (e.g., Microsoft Azure, Google App Engine).
3)Software as a Service (SaaS): Delivers software applications over the internet on a subscription
basis (e.g., Gmail, Microsoft Office 365).
Advantages
1)Cost Efficiency: Reduces capital expenditure on hardware and maintenance. 2)Flexibility:
Access resources from anywhere with an internet connection. 3)Scalability: Easily scale
resources to meet demand. 4)Automatic Updates: Providers handle updates and patches.
5)Collaboration: Enhances teamwork by enabling data access and sharing from anywhere.
Use Cases of IaaS : Hosting Websites and Web Applications: IaaS provides the computing and
storage resources needed to host websites and web applications without the need for physical
infrastructure. Development and Testing: Developers can quickly provision virtual machines
to develop and test applications in isolated environments without worrying about hardware
constraints. Disaster Recovery: IaaS is an ideal solution for implementing disaster
recovery strategies. Businesses can back up their data and systems to the cloud, ensuring that
they can quickly recover from unexpected events. Big Data Analytics: IaaS platforms
provide the computing power and storage required to process and analyze large datasets
efficiently, making it suitable for big data applications. Machine Learning and Artificial
Intelligence: IaaS provides scalable resources that can be used for training machine learning
models and running AI workloads, which require substantial computing power.
Challenges of IaaS : Security and Privacy Concerns: Since IaaS involves using external providers for
infrastructure, concerns about data security, privacy, and regulatory compliance may arise.
Dependency on the Cloud Provider: Businesses are dependent on the cloud provider for uptime,
performance, and support. Any issues faced by the provider can affect the availability and
functionality of the business. Complex Management: While IaaS offers flexibility, managing
virtualized infrastructure can be complex, requiring skilled IT staff to handle configurations,
monitoring, and security. Cost Management: Although IaaS offers pay-as-you-go pricing, the cost
can increase rapidly with increased usage. Organizations must carefully manage and monitor their
cloud resource usage to avoid unexpected costs.
IMPLEMENTATION LEVELS OF VIRTUALIZATION : Virtualization can be implemented at various
levels of the IT infrastructure, depending on the type of resources being virtualized. These levels
are designed to optimize resource usage, improve efficiency, and enhance management
capabilities. The main levels of virtualization are:
Hardware Virtualization (Server Virtualization): This is the most common level of virtualization,
where physical servers are divided into multiple virtual machines (VMs) running their own
operating systems and applications. A hypervisor (or virtual machine monitor) sits between
the hardware and the operating system to create and manage virtual machines.
Types of Hypervisors: Type 1 (Bare-metal Hypervisor): Runs directly on the physical hardware and
does not require an underlying operating system. Examples: VMware ESXi, Microsoft Hyper-V.
Type 2 (Hosted Hypervisor): Runs on top of an existing operating system. Examples: Oracle
VirtualBox, VMware Workstation. Benefits: Better resource utilization, isolation of
applications, easier backup and disaster recovery, and efficient hardware usage.
Operating System Virtualization (OS-Level Virtualization): In OS-level virtualization, the operating
system is virtualized so that multiple isolated environments, known as containers, can run on a
single host machine. Each container shares the host's operating system kernel but has its own user
space. Containers isolate applications and their dependencies from the host system,
enabling faster and more efficient resource usage. Examples: Docker, LXC (Linux Containers),
Kubernetes (for orchestrating containers). Benefits: Lightweight, fast deployment, and
efficient resource utilization. Containers are portable and can run consistently across different
environments.
Storage Virtualization: Storage virtualization aggregates multiple physical storage devices into a
single, virtualized storage pool that can be managed centrally. Virtualized storage allows the
user to interact with a single logical storage unit, hiding the complexity of multiple physical
devices.
Examples: VMware vSphere Storage, IBM Spectrum Virtualize, NetApp ONTAP. Benefits:
Simplified storage management, better performance, easier scaling, and improved fault tolerance.
Network Virtualization: Network virtualization involves abstracting network resources and
creating virtual networks that behave like physical networks but are independent of the
underlying physical infrastructure. It allows multiple virtual networks to be created on top of
a shared physical network, with each virtual network having its own configuration and traffic.
Examples: VMware NSX, Cisco ACI, OpenStack Networking. Benefits: Greater flexibility, efficient
bandwidth allocation, improved security, and simplified network management.
Desktop Virtualization (VDI - Virtual Desktop Infrastructure): Desktop virtualization allows users
to access their desktop environments remotely. In VDI, the desktop operating system runs on a
virtual machine on a central server, and users access it via client devices. The virtual desktops
are hosted on a server, and the user interacts with a virtualized desktop via thin client devices or
remote desktop protocols (RDP). Examples: VMware Horizon, Citrix Virtual Apps and Desktops,
Microsoft Remote Desktop Services (RDS). Benefits: Centralized management, enhanced
security, easy scalability, and remote accessibility.
Application Virtualization: Application virtualization separates the application from the underlying
operating system, allowing it to run on any system without installation. Applications are
delivered as virtualized packages that are executed in a controlled environment, without
interacting directly with the host system. Examples: Microsoft App-V, Citrix XenApp.
Benefits: Simplifies application deployment, enhances security, and reduces conflicts between
applications.
VIRTUALIZATION AT THE OS MODEL : OS-level virtualization (also known as containerization) is a
form of virtualization where the operating system itself is virtualized, allowing multiple isolated
environments, called containers, to run on a single host machine. Containers share the same OS
kernel but operate independently with their own file system, libraries, and applications. This
approach provides lightweight and efficient virtualization compared to traditional hardware-based
virtualization. How OS-level Virtualization Works: Shared Kernel: Unlike full
virtualization, where each virtual machine has its own kernel, OS-level virtualization uses the host
system's kernel. Containers share this kernel but run in isolated user spaces. Containers: Each
container is a self-contained, lightweight unit that includes everything an application needs to run:
the application, its dependencies, and configurations. These containers are portable, meaning they
can run on any system that supports containerization. Isolation: Each container is isolated
from the others, ensuring that changes or failures in one container do not affect the others.
However, containers on the same host share the same OS kernel, making them more efficient than
VMs, which have separate OS instances.
Key Features of OS-level Virtualization: Lightweight: Containers are smaller and more efficient
than virtual machines since they share the host OS kernel. They use less overhead, making them
faster to start and more resource-efficient. Portability: Containers can run on any platform
that supports containerization, allowing applications to be easily transferred between different
environments (e.g., development, testing, production). Resource Efficiency: Since containers
share the host OS kernel and do not require an independent OS, they use fewer resources, leading
to better performance and scalability. Faster Deployment: Containers are faster to deploy and
scale because they do not require the overhead of booting an entire operating system.
Isolation: While containers share the same OS kernel, they still maintain process isolation, which
enhances security and ensures that each container operates independently.
Popular OS-level Virtualization Platforms: Docker: The most widely used platform for building,
sharing, and running containers. Docker simplifies containerization and integrates with cloud
platforms and CI/CD pipelines. Kubernetes: An orchestration platform for automating the
deployment, scaling, and management of containerized applications, widely used in cloud-native
applications. LXC (Linux Containers): A technology that provides operating-system-level
virtualization for running multiple isolated Linux systems (containers) on a control host.
OpenVZ: An OS-level virtualization technology for Linux that allows multiple isolated containers to
run on a single physical server.
Benefits of OS-level Virtualization: Efficiency: Minimal overhead as containers share the host OS
kernel, resulting in higher efficiency and quicker application startup. Scalability: Containers can
be quickly created, destroyed, and scaled up or down as needed, which is beneficial for cloud
applications. Simplified Development and Testing: Developers can package their
applications and all necessary dependencies into containers, ensuring consistent environments
across development, testing, and production. Cost-effective: With containers requiring less
resources compared to virtual machines, organizations can run more applications on the same
hardware, reducing costs.
Limitations: Security Risks: Containers share the same OS kernel, so if the kernel is compromised,
all containers on that host could be vulnerable. Less Isolation than VMs: While containers
provide process isolation, they are not as isolated as virtual machines, making them less suitable
for workloads that require complete isolation (e.g., multi-tenant environments). Compatibility:
Some applications may not be compatible with containerization, especially if they are tightly
coupled with the underlying OS.
VIRTUALIZATION STRUCTURE: HOSTED STRUCTURE, BARE-METAL STRUCTURE :Virtualization can
be implemented using two primary architectural structures: Hosted Structure and Bare-Metal
Structure. These structures determine how the hypervisor is deployed and how virtual machines
(VMs) interact with the hardware and operating system.
1. Hosted Structure (Type 2 Hypervisor) : In a hosted structure, the hypervisor runs on top of an
existing operating system (OS), which is also called the host OS. The hypervisor is a software layer
that is installed on the host OS and manages the creation and execution of virtual machines.
Advantages: Easy to Install and Use: Since the hypervisor runs on an existing OS, there is no need
to replace the underlying operating system, making it easier to set up and manage. Flexible:
Suitable for non-production environments, development, and testing where users may want to
run virtual machines alongside their normal desktop OS. Wide Compatibility: Works on a
variety of host operating systems (Windows, macOS, Linux), making it versatile for personal use or
smaller-scale virtualization tasks.
Disadvantages: Performance Overhead: The hosted hypervisor relies on the host OS, which can
introduce performance overhead since it has to share resources between the host OS and virtual
machines. Less Efficient: It is not ideal for high-performance or resource-intensive applications
due to the additional layer of the host operating system.
Examples of Hosted Hypervisors: VMware Workstation Oracle VirtualBox Parallels
Desktop
2. Bare-Metal Structure (Type 1 Hypervisor) : In a bare-metal structure, the hypervisor runs
directly on the physical hardware of the host machine, without the need for an underlying
operating system. This type of hypervisor is also called a native hypervisor or Type 1 hypervisor.
Advantages: Better Performance: Since the hypervisor runs directly on the hardware without the
need for a host OS, it typically provides better performance and resource utilization compared to
hosted hypervisors. More Efficient: Direct access to hardware reduces overhead, making it
ideal for high-performance applications or large-scale server environments. Security and Stability:
Since there is no host OS involved, bare-metal hypervisors provide a more secure and stable
environment with fewer points of failure.
Disadvantages: Complex Installation and Management: Setting up a bare-metal hypervisor
requires more technical expertise, and it typically involves configuring the system for specific
workloads or server environments. Limited OS Support: Since the hypervisor runs directly on
the hardware, it only supports specific OSes and applications designed to run in a virtualized
environment.
Examples of Bare-Metal Hypervisors:VMware ESXi, Microsoft Hyper-V, Xen, KVM (Kernel-based
Virtual Machine)
Comparison of Hosted and Bare-Metal Structures
Hosted Structure (Type 2) Bare-Metal Structure (Type 1)
Easy, requires an existing OS More complex, no OS required
Higher overhead, less efficient Higher performance, direct hardware access
Desktop virtualization, testing, personal use Enterprise, data center, large-scale virtualization
VMware Workstation, Oracle VirtualBox VMware ESXi, Microsoft Hyper-V, Xen, KVM
Less secure due to reliance on host OS More secure, no host OS involved
Less efficient due to shared OS resources More efficient, better resource allocation
VIRTUALIZATION OF CPU, MEMORY, AND I/O DEVICES :Virtualization of system resources such as
CPU, memory, and I/O devices is a critical aspect of modern virtualization technologies. It allows
multiple virtual machines (VMs) to run on a single physical host, each with its own independent
resources, enabling efficient resource utilization and isolation. Here is an overview of how
virtualization works for each of these components:
1. CPU Virtualization : CPU virtualization allows multiple virtual machines to share the physical
CPU resources of a host system. Each virtual machine appears to have its own dedicated CPU,
while in reality, the physical CPU is shared among all VMs.
Benefits: Efficient use of CPU resources by sharing the physical CPU between multiple VMs.
Ability to run different operating systems on the same hardware without interference. Isolation
between VMs, where each VM has its own dedicated virtual CPU.
2. Memory Virtualization : Memory virtualization allows each virtual machine to appear as if it has
its own private and independent memory, even though it is sharing the physical memory of the
host system.
Benefits: Each VM can run independently with its own memory space. More efficient use of
memory resources with techniques like memory overcommitment and ballooning. Dynamic
adjustment of memory resources based on demand, improving overall system performance.
3. I/O Device Virtualization
I/O device virtualization enables multiple virtual machines to access physical hardware devices
(such as storage, network adapters, and graphics cards) in an isolated manner, as if each VM has
its own dedicated hardware.
Benefits: I/O devices can be efficiently shared between multiple VMs, improving hardware
utilization. Virtualized I/O allows VMs to interact with devices in a manner similar to physical
machines. Direct device assignment (pass-through) provides high-performance access to
hardware for VMs when needed.
3. Popular Providers : Amazon Web Services (AWS): Offers a wide range of specialized services
including AI/ML, IoT, and blockchain. Google Cloud Platform (GCP): Known for its Big Data
analytics, AI/ML services, and IoT solutions. Microsoft Azure: Offers services in AI, IoT, and
blockchain, along with industry-specific solutions like healthcare and finance.
entertainment industry, providing users with access to a wide range of interactive, on-demand,
and real-time services. Some popular entertainment applications include: 1. Online Games
Cloud-based online gaming platforms allow users to play games over the internet without the
need for heavy local installations. These platforms store games on remote servers, enabling users
to access and play from any device with an internet connection. Examples include Google Stadia,
NVIDIA GeForce Now, and Microsoft Xbox Cloud Gaming. Benefits: Instant access to a
vast library of games, no need for high-end gaming hardware, cross-platform compatibility, and
cloud saves for progress synchronization.
2. Video Conferencing Apps : Cloud-based video conferencing apps, such as Zoom, Google Meet,
and Microsoft Teams, are widely used for remote communication, offering high-quality video,
audio, and chat features. These applications are used not only for work-related meetings but also
for virtual entertainment, socializing, and learning. Benefits: Easy-to-use interfaces, supports
multiple participants, integrates with other cloud-based apps (like calendars and document
sharing), and enables virtual entertainment experiences such as online events, gaming, and social
gatherings. Cloud computing provides convenient access to entertainment resources,
ensuring users can engage in online gaming or participate in virtual social experiences without
worrying about hardware limitations.
EDUCATION APPLICATIONS :Cloud computing has greatly impacted the education sector by
offering tools that improve learning experiences, enhance collaboration, and streamline
administrative tasks. Some of the key cloud-based education applications include:1. Google Apps
for Education
Google Apps for Education, now known as Google Workspace for Education, is a suite of cloud-
based productivity and collaboration tools specifically designed for educational institutions. It
includes applications like Gmail, Google Drive, Google Docs, Sheets, Slides, Google Classroom, and
Google Meet. Benefits: Enables real-time collaboration, easy document sharing, and access
to resources from any device with an internet connection. It also integrates with other tools and
systems, making it a versatile platform for teachers and students.
2. Chromebooks for Education : Chromebooks are lightweight, cloud-based laptops that run on
Google's Chrome OS. These devices are designed for education and are ideal for students and
educators who use Google’s cloud-based tools. Chromebooks are cost-effective and easy to
manage, making them a popular choice for schools and universities. Benefits: Affordable
hardware, long battery life, automatic software updates, seamless integration with Google
Workspace for Education, and access to a wide range of apps from the Google Play Store.
3. Tablets with Google Play for Education : Tablets with Google Play for Education provide a
learning platform that allows educators to distribute educational apps, books, and videos to
students. These tablets are designed for K-12 education, offering interactive learning experiences
and access to a broad array of educational resources. Benefits: Personalizes learning experiences,
supports interactive content, enhances student engagement, and provides easy management
tools for teachers to track progress and share resources. These cloud-based educational tools
empower students, teachers, and institutions to enhance learning outcomes, improve
collaboration, and facilitate administrative efficiency.