Unit 1
Unit 1
CLOUD COMPUTING
Dr. Medikonda Asha Kiran,
B. Tech., MBA, M. Tech., IAENG, AMIE, MISTE, MIEEE, ACM,
Ph.D.
Assistant Professor,
Dept. of Information Technology,
Anurag University,
1 Hyderabad-500088.
A232409
CLOUD COMPUTING
Course Objectives
Impart the concepts of virtualization and its
benefits
Discuss various Virtualization Technologies
CLOUD COMPUTING
Course Outcomes
At the end of this course, students will be able
to:
Appreciate Virtualization Concepts
History of virtualization
Cloud computing
Grid computing
Utility computing
Virtualization processes.
INTRODUCTION TO
VIRTUALIZATION
Virtualization is a technology that allows the
creation of multiple simulated environments
or dedicated resources from a single,
physical hardware system. This technique
enables one physical machine to run multiple
operating systems or applications
concurrently, each within its own isolated
environment, known as a virtual machine
(VM).
BEFORE VIRTUALIZATION
12
Key Concepts:
Hypervisor: The software layer that enables
virtualization. It abstracts the hardware resources
and allocates them to each virtual machine.
1. Resource Efficiency
8. Memory
Memory Virtualization: This abstracts physical memory into a
pool of resources that can be allocated dynamically to virtual
machines or applications as needed. Techniques like memory
paging and swapping are commonly used in memory
virtualization.
9. Data Centers
Virtual Data Centers: Entire data centers can be virtualized,
creating a software-defined data center (SDDC). This includes
virtualizing compute, storage, networking, and security, often
managed through a centralized software platform.
10. Graphics and GPUs
GPU Virtualization: GPU resources can be shared among
multiple virtual machines or containers, allowing for efficient
use of graphics processing power in applications like 3D
rendering, machine learning, and gaming. NVIDIA vGPU is an
example of GPU virtualization technology.
11. Workspaces
Virtual Workspaces: Virtual workspaces allow for the
virtualization of a complete digital environment, including
desktops, applications, and user settings, which can be
accessed from any device.
12. Networks and Security Services
Virtual Firewalls and Security Appliances: Firewalls,
intrusion detection systems (IDS), and other security
appliances can be virtualized to run as software applications
on standard hardware.
Virtual Private Networks (VPNs): VPNs virtualize network
connections, creating secure, encrypted tunnels over public
networks for remote access to a private network.
13. Test and Development Environments
Virtual Labs: Virtual labs allow developers and
testers to create isolated environments for testing
software, running simulations, or training without
the need for physical hardware.
9. Green Computing
Overview: Green computing focuses on environmentally
sustainable computing practices, often by optimizing energy
efficiency and reducing waste. Virtualization contributes to
green computing by consolidating workloads onto fewer
physical servers, reducing energy consumption and physical
hardware needs.
10. Big Data and Analytics
Overview: Big data involves the processing and analysis of
vast amounts of data. Virtualization supports big data
initiatives by enabling scalable, flexible infrastructure that can
handle large datasets and complex processing tasks.
Multi-Tenancy:
SaaS applications typically use a multi-tenant architecture,
where multiple customers share the same application
instance while their data remains isolated and secure.
Automatic Updates:
Users benefit from automatic updates and new features,
which are managed by the SaaS provider, ensuring that the
software is always up-to-date without user intervention.
Common Examples of SaaS:
Productivity Tools:
Google Workspace (formerly G Suite): Includes Gmail,
Google Docs, Google Sheets, and Google Drive.
Microsoft 365: Includes Word, Excel, PowerPoint, and
Outlook, along with cloud storage via OneDrive.
Customer Relationship Management (CRM):
Salesforce: A leading CRM platform that helps businesses
manage customer interactions, sales, and marketing.
E-commerce Platforms:
Heterogeneous Systems:
The nodes in a grid can be heterogeneous, meaning they may
have different operating systems, hardware architectures,
and configurations. Grid computing middleware manages
these differences to ensure seamless operation.
Scalability:
Grid computing can scale to accommodate large numbers of
nodes, allowing it to handle increasingly complex and
resource-intensive tasks.
Fault Tolerance:
Grid computing systems are designed to be fault-tolerant. If a
node fails, the task can be redistributed to other nodes,
ensuring that the overall computation continues.
Types of Grid Computing:
Computational Grids:
Focus on providing large-scale computing power by distributing
computational tasks across many nodes. These are commonly
used for scientific research, simulations, and complex
mathematical calculations.
Data Grids:
Designed for managing and processing large datasets distributed
across multiple locations. Data grids are often used in fields like
bioinformatics, climate research, and physics.
Collaboration Grids:
Enable collaboration among geographically dispersed teams by
providing shared resources and communication tools. These
grids support collaborative projects, often in academic or
research environments.
Utility Grids:
Provide computing resources on-demand, similar to how utilities
like electricity are supplied. Users pay for the resources they
consume, making utility grids a cost-effective solution for
variable workloads.
Advantages of Grid Computing:
Enhanced Performance:
By combining the processing power of multiple nodes, grid
computing can tackle complex tasks much faster than a single
machine, offering near-supercomputer performance.
Cost Efficiency:
Organizations can maximize the utilization of their existing
computing resources, reducing the need for expensive,
dedicated hardware.
Scalability:
Grid computing can easily scale to accommodate additional
nodes, making it suitable for both small-scale and large-scale
applications.
Resource Utilization:
Idle resources, such as underutilized servers or desktop
computers, can be harnessed to contribute to the grid, improving
overall resource efficiency.
Flexibility and Collaboration:
Grid computing allows multiple organizations to collaborate by
sharing resources, enabling joint research and development
projects.
Challenges of Grid Computing:
•Cloud Computing: