L07-Basics of Virtualization
L07-Basics of Virtualization
L07-Basics of Virtualization
Software Architectures
FOUNDATION MODULE 3: VIRTUALIZATION
L07 – Basics of
Virtualization
Confidential Document
talentsprint.com
Topic
© Copyright, TalentSprint
2
Importance of Deployment View
Hardware Allocation: It specifies how software components are allocated to hardware components, such as servers, nodes, or devices. This
helps in optimizing resource utilization and ensuring that the system meets performance requirements.
Scalability Planning: By understanding the deployment view, architects can plan for scalability requirements. They can determine how the
system will scale horizontally (adding more instances) or vertically (increasing resources on existing instances) to handle increased loads.
Performance Considerations: Deployment view helps in analyzing and optimizing the performance of the system. It allows architects to identify
potential bottlenecks in the deployment topology and make necessary adjustments to improve performance.
Reliability and Fault Tolerance: It enables architects to design for reliability and fault tolerance by considering redundancy, failover
mechanisms, and disaster recovery strategies in the deployment topology.
Security Planning: Deployment view aids in planning security measures such as firewalls, access controls, encryption, and network
configurations to protect the system from unauthorized access and attacks.
Maintenance and Management: Understanding the deployment view helps in planning for system maintenance, updates, and management
© Copyright, TalentSprint
tasks. It ensures that deployment configurations are conducive to efficient monitoring, logging, and debugging of the system.
Compliance and Regulatory Requirements: Certain industries have strict compliance and regulatory requirements regarding data handling,
storage, and access. Deployment view facilitates designing the system architecture to meet these requirements effectively
3
Reference Application
Building a notification system with a UI, a centralised security system, modules to provide various
types of notifications such as SMS, email, and push notifications, and the ability to extend it in the
future. Consider it as a monolithic application initially, supported by a persistence layer with the option
of SQL or NoSQL technology."
© Copyright, TalentSprint
4
Traditional Server
© Copyright, TalentSprint
configured into the server
5
Pros & Cons of Traditional Server
Pros:
1. Ease of configuration and conceptualization
2. Ease of deployment
3. Backup is manageable
4. The client-server paradigm is well-suited for a variety of applications and services.
Cons:
1. High acquisition, maintenance and repair cost
2. Replication is challenging
3. Redundancy is costly and difficult to implement
© Copyright, TalentSprint
4. Scalability may be a limiting factor
5. Highly vulnerable to hardware failures
6. Often, utilization is low
6
Introduction to Virtualization
© Copyright, TalentSprint
7
Introduction to Virtualization
© Copyright, TalentSprint
is running on.
5. Guest Machine – The virtual machine, running on the host
machine.
8
Reference Application with Virtualization
Virtualization Properties
Isolation
Fault Isolation
Software Isolation
Performance Isolation (via scheduling and resource allocation)
Encapsulation
All VM state can be captured into a file (operate on VM by operating on
file – cp, rm)
Complexity is proportional to virtual HW model and independent of
guest software configuration
© Copyright, TalentSprint
Interposition
All guest actions go through the virtualizing software which can inspect,
modify, and deny operations
9
Types of Virtualization
© Copyright, TalentSprint
10
Hypervisor (Virtual Machine Monitor - VMM)
• A hypervisor is software that creates, runs and manages virtual machines (VMs).
• The hypervisor treats resources—like CPU, memory, and storage—as a pool that can be easily
• All hypervisors need some operating system-level components (memory manager, process scheduler
• The hypervisor gives each virtual machine the resources that have been allocated and manages the
© Copyright, TalentSprint
• The key benefit is, multiple different operating systems can run alongside each other and share the same
11
Types of Hypervisor
Type 1 - Native Hypervisors Type 2: Hosted Hypervisors
Runs directly on the host machine and shares Runs as an application inside an OS and supports
resources among guest machines. E.g., Microsoft VMs running as individual processes. E.g., VMware
© Copyright, TalentSprint
12
CAP Theorem
13
© Copyright, TalentSprint
Thank You
talentsprint.com