0% found this document useful (0 votes)
2 views112 pages

Cloud Computing

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 112

Cloud Computing and

Modern Infrastructure

Pr. Mehdi AIT SAID


Senior Software Architect and Cloud Engineer
m.aitsaid@uhp.ac.ma
0666854185
Before starting
What is Cloud Computing ?
Cloud Engineer
VS
SysAdmin
VS
DevOps
Course Structure
1- Introduction to Cloud Computing 4- Reliability in VMware Environments
• What is Cloud Computing? • Introduction to Reliability
• Types of Cloud Services) • High Availability
• Deployment Models • Fault Tolerance
• Benefits and Challenges of Cloud Computing • Disaster Recovery Solutions
2- Virtualization • Backup Solutions
• Introduction • Load Balancing and Resource Optimization
• Virtualization Technologies • Proactive Monitoring and Alerting
• Data Centers and Network Design • Best Practices for Ensuring Reliability
• Storage Solutions in the Cloud 5- Containerization
3- VMware • Introduction to Containerization
• Introduction to VMware • Docker
• VMware Workstation Player • Kubernetes
• ESXi 6- Cloud Providers and Services
• vSphere • Major Cloud Providers
• Data Centers and vCenter • Pricing Models
• Network Design with Vmware • Comparing Cloud Service Offerings
• Storage Solutions in Vmware • Cloud Services and Solutions
• Security in VMware Environments
Course Structure
7- Cloud Security 10- OpenStack
• Introduction to Cloud Security • Introduction to OpenStack
• Security Principles in Cloud Computing • Components of OpenStack
• Compliance and Governance • Setting Up an OpenStack Environment
• Identity and Access Management • Managing OpenStack
• Data Encryption • OpenStack Networking
• Security Best Practices • Security and Compliance
8- Cloud Management and Monitoring • Monitoring and Scaling OpenStack
• Private Cloud Management 11- Infrastructure as Code
• Monitoring and Performance Optimization • Introduction to Infrastructure as Code
• Cost Management and Billing (Public providers) • Core Concepts of IaC
• Automation • Tools and Frameworks
9- Cloud Migration Strategies • Terraform
• Introduction to Cloud Migration • Vagrant
• Assessing Cloud Readiness • Security Considerations in IaC
• Migration Planning and Execution Presentations : Self-Hosted Alternatives for Cloud
• Tools and Best Practices Services
• Post-Migration Considerations • Keycloak. MinIO, Apache OpenWhisk , OpenFaaS,
Coolify … and more
Cloud Computing: Introduction
According to US National Institute of Standards and Technology (NIST) Cloud Computing is
defined as:

“Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access
to a shared pool of configurable computing resources (e.g. networks, servers, storage,
applications, and services) that can be rapidly provisioned and released with minimal
management effort or service provider interaction. ”
Cloud computing is an
umbrella term used to
refer to Internet-
based development
and services
Cloud Computing: Introduction
Cloud Computing is referred to the accessing and storing of data and providing services related
to computing over the internet. It is simply referred to as remote services on the internet to
manage and access data online rather than any local drives. The data can be anything like
images, videos, audio, documents, files, etc.
Cloud Computing: Introduction
Cloud Computing: A parallel and distributed computing system.
✓ Consists of interconnected and virtualized computers.
✓ Dynamically provisioned and presented as unified computing resources.
✓ Governed by Service-Level Agreements (SLAs) between service provider and consumers.

Cloud Resources: A large pool of virtualized resources


✓ Includes hardware, development platforms, and services.
✓ Dynamically reconfigured to handle variable load (scalability).
✓ Optimizes resource utilization.
✓ Operates on a pay-per-use model.
✓ Guarantees provided through customized SLAs by the Infrastructure Provider.

A number of characteristics define cloud data, applications services, and infrastructure:


✓ Remotely hosted: Services or data are hosted on remote infrastructure.
✓ Ubiquitous: Services or data are available from anywhere.
✓ Commodified: The result is a utility computing model similar to traditional that of traditional
utilities, like gas and electricity - you pay for what you would want!
Cloud Computing: Essential Characteristics
On-demand self-service:
A consumer can unilaterally provision computing capabilities, such as server time and network
storage, as needed automatically without requiring human interaction with each service
provider.

Broad network access:


Capabilities are available over the network and accessed through standard mechanisms that
promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, tablets,
laptops, and workstations).

Resource pooling:
The provider’s computing resources are pooled to serve multiple consumers using a multi-
tenant model, with different physical and virtual resources dynamically assigned and
reassigned according to consumer demand.
Cloud Computing: Essential Characteristics
Measured Service:
Cloud systems automatically control and optimize resource use by leveraging a metering
capability at some level of abstraction appropriate to the type of service (e.g., storage,
processing, bandwidth, and active user accounts). Resource usage can be monitored,
controlled, and reported, providing transparency for both the provider and consumer of the
utilized service.

Rapid elasticity:
Capabilities can be elastically provisioned and released, in some cases automatically, to scale
rapidly outward and inward commensurate with demand. To the consumer, the capabilities
available for provisioning often appear to be unlimited and can be appropriated in any quantity
at any time.

Massive Scale:
Computer systems where processing power, memory, data storage, and networks are
assembled at scale to tackle computational tasks beyond the capabilities of everyday
computers.
Cloud Computing: Essential Characteristics
Resilient Computing:
Resiliency is the ability of your system to react to failure and still remain functional. It's not
about avoiding failure, but accepting failure and constructing your cloud-native services to
respond to it.
Homogeneity:
One where everything is from the same vendor.
Geographic Distribution:
By spanning multiple data centers at different geographical locations, can provide a cloud
platform with much larger capacities.
Virtualization:
Virtual representations of servers, storage, networks, and other physical machines.
Service Orientation:
Each service provides a business capability, and services can also communicate with each other
across platforms and languages.

Low-Cost Software
Advanced Security
Cloud Computing: Key Components
✓ Compute Power: Virtual machines, containers, and serverless functions that provide the
processing power to run applications and services.
✓ Storage: Cloud-based storage systems (block, object, and file storage) for persisting and
accessing data, such as Amazon S3 or Google Cloud Storage.
✓ Networking: Virtual networking components that manage communication between
resources, such as Virtual Private Clouds (VPCs), load balancers, and firewalls.
✓ Resource Management: Tools and services to allocate, monitor, and optimize compute,
storage, and network resources.
✓ Security: Identity and access management (IAM), encryption, firewalls, and compliance
tools to protect cloud resources.
✓ Virtualization: The creation of virtual instances (e.g., virtual machines, containers) to
abstract and efficiently use physical hardware.
✓ Automation and Orchestration: Tools for automating the deployment, scaling, and
management of cloud resources, such as Infrastructure as Code (IaC) solutions like
Terraform or CloudFormation.
✓ Monitoring and Analytics: Services for tracking performance, health, and utilization of
cloud resources, along with logging and analytics for insights (e.g., CloudWatch, Azure
Monitor).
Cloud Computing: Key Components
✓ Scaling: Auto-scaling mechanisms to dynamically adjust resource allocation based on
demand.
✓ Disaster Recovery: Backup, failover, and recovery services to ensure data and service
availability in case of failure.
✓ Cost Management: Billing and cost optimization tools to monitor and control spending on
cloud resources.
✓ Service Management: Tools and platforms for deploying and managing various cloud
services, including PaaS, IaaS, and SaaS models.
Cloud Computing: Cloud Engineer Roles:
✓ Cloud Infrastructure Design: Architecting cloud infrastructure solutions that are scalable,
reliable, and meet the organization's needs.
✓ Deployment and Provisioning: Automating the deployment of cloud resources using
Infrastructure as Code (IaC) tools like Terraform, CloudFormation, or Ansible.
✓ Resource Management: Managing and optimizing compute, storage, and network
resources to ensure efficient usage and cost-effectiveness.
✓ Security Management: Implementing and managing security measures, including IAM
(Identity and Access Management), encryption, firewalls, and compliance with industry
regulations.
✓ Network Configuration: Designing and configuring virtual networks, VPCs (Virtual Private
Clouds), load balancers, VPNs, and firewalls to ensure secure and efficient data flow.
✓ Monitoring and Maintenance: Setting up monitoring, logging, and alerting systems to track
the health and performance of cloud resources, using tools like CloudWatch, Azure
Monitor, or Datadog.
✓ Automation and Orchestration: Automating routine tasks such as scaling, updates,
backups, and deployments using scripts and orchestration tools (e.g., Jenkins, Kubernetes).
✓ Cost Optimization: Monitoring cloud spending, recommending and implementing cost-
saving measures, and optimizing resources to minimize unnecessary expenses.
Cloud Computing: Cloud Engineer Roles:
✓ Scaling and Load Balancing: Configuring auto-scaling policies and load balancers to handle
varying workloads and ensure application performance and availability.
✓ Disaster Recovery and Backups: Implementing disaster recovery strategies, managing
backups, and ensuring high availability and fault tolerance in cloud environments.
✓ Collaboration with Development Teams: Working closely with DevOps and development
teams to design cloud-native applications and integrate CI/CD pipelines.
✓ Cloud Service Management: Selecting and managing cloud services (compute, storage,
databases, etc.) from providers like AWS, Azure, or Google Cloud to support business
operations.
✓ Security Audits and Compliance: Conducting regular security audits, ensuring compliance
with industry standards like GDPR, HIPAA, and ensuring secure access control.
✓ Documentation and Best Practices: Documenting cloud architectures, automation scripts,
and workflows, and establishing cloud usage best practices.
✓ Troubleshooting and Support: Diagnosing and resolving cloud infrastructure-related issues,
providing ongoing support, and troubleshooting application deployments.
Cloud Computing: History
Client Server Architecture:
Before Computing came into existence, client Server Architecture was used where all the data
and control of the client resides on the Server side. If a single user wants to access some data,
firstly user needs to connect to the server, and after that user will get appropriate access. But it
has many disadvantages.

Distributed Computing:
So, After Client Server computing, Distributed Computing was come into existence, in this type
of computing all computers are networked together with the help of this, user can share their
resources when needed. It also has certain limitations. So in order to remove limitations faced
in a distributed system, cloud computing emerged.
Cloud Computing: History
Disadvantages of Client-Server Architecture :
Network Traffic Congestion: The main disadvantage of a client-server model is the danger of a
system overload owing to a lack of resources to service all of the clients. If too many different
clients try to connect to the shared network at the same time, the connection may fail or slow
down. Additionally, if the internet connection is down, any website or client in the world will be
unable to access the information. Large businesses may be at risk if they are unable to get
important information.

High Cost: In client-server networks, the cost of setting up and maintaining the server is typically
higher than the cost of running the network. The networks might be expensive to buy because
of their strength. The users won't all be able to afford them as a result.

Robustness: The whole network will be interrupted if the primary server experiences failure or
interference. Client-server networks lack hence in terms of resilience since client-server
networks are centralized.
Cloud Computing: History
Maintenance Difficulty: When the servers are put in place, they will run continuously, which
implies they need to receive the necessary care. If there are any mistakes, they must be fixed
right away without further delay. As a result, a qualified network manager should be hired to
look after the server.

Unacquirable Resources: Not all of the resources on the server are available for acquisition. For
instance, you cannot immediately print a document from the web or change any information
stored on the client's hard drive.
Cloud Computing: History
Disadvantages of Distributed Computing:

Complexity: Distributed computing systems are more difficult to deploy, maintain and
troubleshoot/debug than their centralized counterparts. The increased complexity is not only
limited to the hardware as distributed systems also need software capable of handling security
and communications.

Higher Initial Cost: The deployment cost of distribution is higher than a single system. Increased
processing overhead due to additional computation and exchange of information also adds up
to the overall cost.

Security Concerns: Data access can be controlled fairly easily in a centralized computing system,
but it’s not an easy job to manage the security of distributed systems. Not only the network
itself has to be secured, users also need to control replicated data across multiple locations.
Cloud Computing: History
Difference between Distributed Computing and Cloud Computing

Cloud Computing Distributed Computing


Cloud computing refers to providing on-demand Distributed computing refers to solving a problem over
IT resources/services like servers, storage, distributed autonomous computers and they
database, networking, analytics, software, etc. communicate between them over a network.
over the internet.

In simple cloud computing can be said as a Simple distributed computing can be said as a
computing technique that delivers hosted computing technique that allows multiple computers to
services over the internet to its users/customers. communicate and work to solve a single problem.

Cloud computing provides services such as Distributed computing helps to achieve computational
hardware, software, networking resources tasks faster than using a single computer as it takes a
through internet. lot of time.
Cloud Computing: History
In 1961, John MacCharty delivered his speech at MIT that “Computing Can be sold as a Utility,
like Water and Electricity.” According to John MacCharty, it was a brilliant idea. But people at
that time don’t want to adopt this technology. They thought the technology they are using was
efficient enough for them. So, this concept of computing was not appreciated much so, and
very less will research on it. But as time fleet technology caught the idea after a few years this
idea is implemented. So, this is implemented by Salesforce.com in 1999.

This company started delivering an enterprise application over the internet and this way the
boom of Cloud Computing was started.

In 2002, Amazon started Amazon Web Services (AWS), and Amazon started providing storage
and computation over the internet. In 2006 Amazon launched Elastic Compute Cloud
Commercial Service which is open for Everybody to use.
Cloud Computing: History
After that in 2009, Google Play also started providing Cloud Computing Enterprise Applications,
as the other companies see the emergence of cloud Computing, they also started providing
their cloud services. Thus, in 2009, Microsoft launched Microsoft Azure and after that other
companies like Alibaba, IBM, Oracle, and HP also introduces their Cloud Services. Today Cloud
Computing become a very popular and important skill.
Cloud Computing: Deployment Models
Cloud Computing: Shared Responsibility Model
Public Cloud:
➢ Cloud Provider's Responsibilities: The provider manages the underlying infrastructure,
including physical hardware, network, and the hypervisor (virtualization layer). For example,
in IaaS, they manage compute, storage, and networking.
➢ Customer's Responsibilities: The customer is responsible for securing their data, managing
user access (e.g., IAM), configuring security controls, and securing applications.

Private Cloud:
➢ Cloud Provider's Responsibilities: In a hosted private cloud, the provider might manage the
infrastructure but the customer has full control over everything else. In an on-premises
private cloud, the organization manages both infrastructure and applications.Customer’s
➢ Responsibilities: The customer is responsible for everything, from infrastructure to
applications and security. If using a hosted model, the provider may manage the physical
data center, while the customer handles virtualization, software, and data security.
Cloud Computing: Shared Responsibility Model
Hybrid Cloud:
➢ Cloud Provider's Responsibilities: For the public cloud portion, the provider manages
infrastructure, while in the private cloud portion, the customer may manage it.
➢ Customer's Responsibilities: The customer is responsible for securing and managing
workloads across both the public and private environments, ensuring consistent security
policies and data protection in both.

Community Cloud:
➢ Cloud Provider's Responsibilities: The provider typically manages the infrastructure for the
community of organizations. Shared resources might include infrastructure, networks, and
storage.
➢ Customer's Responsibilities: The customer shares responsibility for configuring and
managing their applications and securing their data within the community environment. The
community may have joint governance and compliance rules.
Cloud Computing: Deployment Models
Cloud Computing: Deployment Models

The best solution ??

✓ Resources. The business’s resources for handling infrastructure.


✓ Computing. The unique computing requirements.
✓ Networking. The business’s networking requirements.
✓ Storage. The storage needs.
✓ Goals. The ultimate goals of the business.
Cloud Computing: Types of Cloud Services
On-Premise: Refers to running software or infrastructure entirely within an organization's own
data center. The company has full control over hardware, software, and maintenance but bears
the full cost of management.
Example: private data center of UHP, FST Settat or ENSA Berrechid.

Infrastructure as a Service (IaaS): Provides virtualized computing resources over the internet.
Users rent virtual machines, storage, and networking from a provider, without worrying about
the underlying hardware.
Example: Amazon Web Services (AWS EC2), Microsoft Azure Virtual Machines.

Platform as a Service (PaaS): Offers a platform allowing customers to develop, run, and manage
applications without dealing with the underlying infrastructure. It streamlines app development
by providing tools and services.
Example: Google Firebase , Heroku…

Software as a Service (SaaS): Delivers software applications over the internet on a subscription
basis. Users access the software through a web browser without managing infrastructure or
platforms.Example:
Google Workspace (Gmail, Docs), Salesforce, Dropbox.
Cloud Computing: Types of Cloud Services
Cloud Computing: Benefits of Public Cloud Computing
Cost Efficiency :
• Reduces capital expenses (CAPEX) on hardware and software.
• Pay-as-you-go pricing models allow businesses to pay only for what they use.
• Lower energy and maintenance costs compared to on-premise infrastructure.

Scalability :
• Easily scale resources up or down to handle varying workloads.
• Elastic infrastructure supports business growth without upfront investment.

Flexibility and Mobility :


• Access cloud resources from anywhere with an internet connection.
• Supports remote work and collaboration with cloud-based tools and applications.

High Availability :
• Cloud providers offer robust infrastructure with built-in redundancy.
• Ensures uptime through geographically distributed data centers and disaster recovery
solutions.
Cloud Computing: Benefits of Public Cloud Computing
Disaster Recovery :
• Simplified backup and disaster recovery processes, often included in cloud service offerings.
• Data is replicated across multiple locations for redundancy.

Performance Optimization :
• Cloud providers offer optimized hardware, software, and networks to boost performance.
• Global data centers reduce latency by serving content closer to end-users.

Automatic Updates and Maintenance :


• Cloud services automatically manage software updates, patches, and security fixes.
• Frees internal IT staff from managing routine maintenance tasks.

Security :
• Cloud providers implement strong security measures, such as encryption, identity
management, and access control.
• Compliance with industry standards such as GDPR, HIPAA, etc.
Cloud Computing: Benefits of Public Cloud Computing
Collaboration and Integration:
• Enables real-time collaboration across teams, geographies, and devices.
• Seamlessly integrates with other cloud services and third-party applications.
Environmental Sustainability:
• Cloud computing reduces carbon footprints due to the efficient use of shared resources.
• Cloud providers optimize energy consumption in data centers.
Cloud Computing: Challenges of Public Cloud Computing
Security and Privacy Concerns :
• Storing sensitive data on third-party servers may expose it to security breaches or
unauthorized access.
• Requires stringent identity management and access control mechanisms.
Downtime and Service Outages :
• Reliance on internet connectivity and external cloud providers may lead to service
disruptions or outages.
• Downtime can have significant business impacts.

Compliance and Legal Issues :


• Businesses may struggle with data privacy regulations and compliance requirements when
using international cloud providers.
• Data residency laws and industry-specific compliance (e.g., GDPR, HIPAA) need to be
managed carefully.

Limited Control and Flexibility :


• Cloud customers have less control over their infrastructure compared to on-premise
solutions.
• Dependence on the cloud provider for service changes, maintenance, and updates.
Cloud Computing: Challenges of Public Cloud Computing
Cost Management :
• While cloud computing is cost-effective, mismanagement of resources or unpredictable
scaling can lead to unexpected expenses.
• Lack of proper cost tracking can lead to overspending..

Data Transfer and Bandwidth Costs :


• Moving large volumes of data to and from the cloud can incur significant bandwidth costs.
• Cloud providers often charge for data egress, adding to overall expenses.

Vendor Lock-In :
• Businesses may become dependent on a single cloud provider's ecosystem, making it
difficult to switch providers or move applications.
• Lack of standardization across cloud platforms can make migration challenging.

Skill Gap:
• Adopting cloud computing requires specialized skills in cloud architecture, management,
and security.
• Organizations may face challenges finding qualified professionals or training existing staff..
Cloud Computing: Challenges of Public Cloud Computing
Integration with Legacy Systems:
• Integrating cloud services with existing on-premise infrastructure or legacy systems can be
complex.
• Compatibility issues may arise when migrating older systems to the cloud.
Cloud Computing: Benefits of Private Cloud
Enhanced Security and Privacy:
• Greater control over data, security configurations, and access permissions.
• Dedicated infrastructure reduces exposure to external threats and meets strict security
standards.
Customization and Control:
• Full control over hardware, software, and network configurations.
• Tailored to meet specific business requirements and workloads.
Compliance:
• Easier to adhere to industry-specific compliance regulations
• Offers more control over data residency and data handling.
Improved Performance:
• Dedicated resources provide better performance, especially for mission-critical or high-
performance applications.
• No shared resources, leading to consistent, predictable performance.
Full Resource Utilization:
• The entire cloud infrastructure is available for the organization’s use.
• Efficient resource allocation without competing with other tenants.
Cloud Computing: Benefits of Private Cloud
Custom Security Policies:
• Ability to implement custom security policies, governance frameworks, and monitoring
tools.
• More granular control over identity and access management (IAM).
Integration with Legacy Systems:
• Easier to integrate with existing on-premise systems and legacy infrastructure.
• Hybrid deployment models can be built, combining private cloud with existing
infrastructure.
Scalability:
• Can still offer scalability similar to public clouds, depending on the infrastructure and
resources.
• Ability to scale resources while maintaining complete control.
Greater Reliability:
• Dedicated infrastructure often leads to higher availability and more robust disaster recovery
options.
• Designed for mission-critical applications requiring high uptime.
Cloud Computing: Challenges of Private Cloud
High Initial Costs:
• Significant upfront capital expenditure (CAPEX) is required for hardware, software, and
infrastructure.
• Ongoing maintenance and operational expenses are higher compared to public cloud.
Complex Management:
• Requires dedicated IT staff to manage, maintain, and update the infrastructure.
• Operational complexity increases with larger infrastructures and evolving technology
needs..
Limited Scalability:
• Scaling is limited by physical infrastructure capacity.
• Organizations must predict future needs and invest accordingly to avoid resource shortages.
Maintenance and Upkeep:
• Full responsibility for maintaining hardware, software updates, and security patches.
• Infrastructure must be continually updated and optimized, adding to the operational
overhead
Upgrading Infrastructure:
• Hardware and software need periodic upgrades to stay competitive with the latest
technology.
• Ongoing investment is required to avoid infrastructure obsolescence.
Cloud Computing: Challenges of Private Cloud
Disaster Recovery Responsibility:
• Organizations must develop and maintain their own disaster recovery and backup solutions.
• Additional costs and complexity arise from implementing reliable failover and redundancy
measures.
Longer Time to Deploy:
• Setting up a private cloud requires more time, including procurement, installation, and
configuration of hardware and software.
• Slower deployment compared to the instant availability of resources in the public cloud..
Resource Underutilization:
• Risk of underutilizing resources if capacity planning is miscalculated.
• May lead to inefficiency when infrastructure is built for peak loads but operates under lower
utilization most of the times.
Skill and Expertise Requirements:
• Requires in-house expertise in cloud management, network management, and security.
• Training and hiring skilled personnel may be necessary, adding to operational costs.
Capacity Planning:
• Scaling infrastructure requires careful planning, and over- or under-provisioning can lead to
inefficiencies or capacity shortages.
• Requires anticipation of future demands to avoid downtime or resource bottlenecks.
Cloud Computing: PaaS benefits
✓ No need for the user to handle scaling and load balancing of requests among virtual
machines
✓ PaaS clouds also provide a web-based Integrated Development Environment for the
development and deployment of applications on the PaaS cloud.
✓ Easier to migrate code from the development environment to the actual production
environment.
✓ Hence developers can directly write applications on the cloud and
✓ don’t have to buy separate licenses of IDE.
Cloud Computing: SaaS benefits
✓ Users subscribe to web services and web applications instead of buying and
licensing software instances.
✓ For e.g. Google Docs can be used for free, instead of buying document reading
software such as Microsoft Word.
✓ Enterprises can use web-based SaaS Content Relationship Management
applications, instead of buying servers and installing CRM software and
associated databases on them.
Cloud Computing: Applications of Cloud Computing
➢ Mail and Messaging
➢ Archiving
➢ Backup
➢ Storage
➢ Security
➢ Virtual Servers
➢ CRM (Customer Relationship Management)
➢ Collaboration across enterprises
➢ Hosted PBX (Private Branch Exchange)
➢ Video Conferencing
➢ …
Cloud Computing: IaaS Economics

In house server Cloud server


Purchase Cost $9600 (x86,3QuadCore,12GB RAM, 0
300GB HD)
Cost/hr (over 3 years) $0.36 $0.68
Cost ratio: Cloud/In 1.88
house

Efficiency 40% 80%


Cost/Effective hr $0.90 $0.85
Power and cooling $0.36 0
Virtualization: Introduction
Let’s understand the physical system configuration

Excel, Word 12G + 3CPU (remaining)


- 4G + 1CPU = App
DNS, Apache, NTP Application Application
Database, SAP etc. 8G + 2CPU (remaining)

Windows 16G + 4CPU = Entire OS


Operating System Operating System - 4G + 1CPU = OS
Linux
12G + 3CPU (remaining)

Dell
HP Physical Server Physical Server 16G RAM & 4 CPU

8G RAM and 2CPUs are under utilized


Virtualization: Introduction
Now let’s look at virtualization
Guest OS

App App App App


OS OS OS OS
4G RAM + 1 CPU =
App App App App Each OS
OS OS OS OS

VMWare 16G + 4CPU =


Virtualization Virtualization Virtualization
Oracle Virtualization

Dell
Physical Server Physical Server 16G RAM
HP
4 CPU

All resources are fully utilized


Virtualization: Introduction
Now let’s look at virtualization

App App App


Guest OS Guest OS Guest OS

App App App Virtualization Software

Host Operating System

Physical Server
Virtualization: Virtualization Technologies
Virtualization is a technology that allows multiple virtual instances of computing resources to
be created and managed on a single physical hardware system. It enables organizations to
optimize resource usage, improve scalability, and reduce costs by abstracting the physical
hardware and providing a layer of virtualization. Here’s a breakdown of its key components and
concepts:
Virtualization: Virtualization Technologies: Types
Virtualization: Virtualization Technologies: Functions
Virtualization: How virtualization and hypervisor works?

App App
OS OS

App App
OS OS

Bus
Hypervisor Virtualization
software

Physical Server
Virtualization: How virtualization and hypervisor works?
Traditional Server / Computer

User Apps Ring 3

Ring 2
SysCalls
Direct execution of the
user and OS requests Ring 1

OS Ring 0

Hardware
Virtualization: How virtualization and hypervisor works?
Para Virtualization Full Virtualization

VM VM VM
App App App App
App App App App Ring 3
I/O
Calls Guest OS Mod. Guest
OS
Mod. Drivers
Standard Standard
Guest OS Guest OS
I/O
Calls
Ring 1
Hyper
Calls Drivers Host OS Sys
Calls
I/O
Calls
Hypervisor Drivers Hypervisor Ring 0

Hardware Hardware
Virtualization: How virtualization and hypervisor works?
Hardware Assisted Full Virtualization
VM VM VM
App App App App
Ring 3
App App

Standard
Guest OS
Ring 1

Sys
Calls
Standard Standard
Guest OS Guest OS
Drivers Hypervisor Ring 0
Sys
Calls
Ring -1 Hypervisor Hardware

Hardware
Virtualization: Components of Virtualization
Type Definition Pros Cons Examples
VMware
Complete emulation of
Strong isolation, wide High overhead, Workstation,
Full Virtualization hardware, guest OS runs
OS support. slower performance. Oracle
unmodified.
VirtualBox
Xen
Guest OS is modified to Requires modified
Better performance, (Paravirtualizat
Paravirtualization communicate directly with guest OS, not widely
lower overhead. ion mode),
the hypervisor. supported.
KVM
Hardware- Uses CPU extensions (Intel High performance, Requires
VMware ESXi,
Assisted VT-x, AMD-V) for efficient minimal overhead, no virtualization-
KVM, Hyper-V
Virtualization virtualization. OS modification. enabled hardware.
Virtualization: Components of Virtualization
Hypervisor:
• A software layer that enables virtualization by allowing multiple operating systems (OS) to
run on a single physical machine.
• There are two types of hypervisors:
Type 1 (Bare-Metal): Runs directly on the hardware (e.g., VMware ESXi, Microsoft Hyper-V).
Type 2 (Hosted): Runs on top of an existing OS (e.g., VMware Workstation, Oracle VirtualBox).

Virtual Machines (VMs):


• Emulated instances of physical computers that run their own OS and applications, isolated
from each other.
• Each VM operates independently, with its own virtual hardware components, including
CPU, memory, disk, and network interfaces.
Virtualization: Components of Virtualization

Guest Operating System:


• The OS running inside a virtual machine. It can be any OS compatible with the
hypervisor.Virtualization

Management Software:
• Tools that help in the creation, configuration, management, and monitoring of virtual
machines and the underlying infrastructure (e.g., VMware vCenter, Microsoft System
Center).
Virtualization: Benefits of Virtualization

✓ Cost $$$
✓ Real estate
✓ Electricity
✓ Ease of management
✓ Redundancy (lesser downtime)
✓ Faster deployment of machines
✓ Resource availability
✓ Better testing and performance
✓ Licensing
Virtualization: Virtualization Basic Terms

✓ Bare-metal server = Physical server with NO OS


✓ Hypervisor = Host or Virtual server
✓ Virtual Machine = VM, Guest, Instance
✓ Virtualization Manager = vCenter, OVM manager etc.
✓ Virtual Desktop = VDI
✓ P2V = Physical to virtual
✓ V2V = Virtual to virtual
✓ VM template
✓ Snapshot
✓ Clone or cloning.
Virtualization: Virtualization Companies
Company Hypervisor Cloud Technology
VMware ESXi vCloud

VMware Player

Oracle OVM or OLVM OCI

Oracle VirtualBox

Microsoft Hyper-V Azure

Citrix Xen Server Citrix Cloud Services

Red Hat KVM Red Hat Cloud Suite

Amazon AWS

Google Google Cloud Platform


Virtualization: Difference Between Virtualization and Cloud ?
Virtualization is a technology whereas cloud is a remote location which utilizes virtualization
technology
Apps
OS OS

Virtualization

Physical
Server

Apps Apps Apps


OS OS OS OS OS OS

Virtualization Virtualization Virtualization

Physical Physical Physical


Server Server Server
Cloud: Data Centers
Cloud : Data Centers
Definition:
A Data Center is a facility that centralizes an organization’s IT operations and equipment for the
purposes of storing, processing, and distributing data and applications.

Purpose:
Data centers support critical business functions by providing reliable infrastructure to store and
manage data, ensuring availability and security.

Benefits of data centers :


✓ Robust security: Data centers typically have an enterprise-grade security system. It ensures
your critical business and customer information is safe from malicious agents.
✓ Resource optimization: With data centers, you delegate much of your IT-related workload
to the hosting provider, including computational work and data storage. This saves you time
and energy to allocate toward innovation and business growth.
✓ Cloud offerings: Data centers also help businesses offer cloud-oriented solutions. For
instance, cloud computing allows businesses to offer SaaS-based solutions in the form of
web apps and mobile apps. Similarly, the Internet of Things (IoT) also relies on data centers.
Cloud : Data Centers: Essential Components

Technical Components of a Data Center :


✓ Servers: Physical or virtual machines for running applications and storing data.
✓ Storage Systems: Devices that store data, such as SAN, NAS, and cloud storage solutions.
✓ Network Equipment: Routers, switches, firewalls that handle communication and data flow.
✓ Power and Cooling: Backup generators, UPS, and cooling systems to ensure uptime and
prevent overheating.
✓ Security: Physical security systems (cameras, access control) and cybersecurity measures.
Cloud : Data Centers: Design standards

➢ Tier I: Basic infrastructure, 99.671% uptime, no redundancy.


➢ Tier II: Redundant capacity components, 99.741% uptime.
➢ Tier III: Concurrently maintainable infrastructure, 99.982% uptime.
➢ Tier IV: Fault-tolerant infrastructure, 99.995% uptime, highest level of redundancy.
Cloud : Data Centers: Types of Data Centers
Cloud : Data Centers: Network Design
Cloud : Data Centers: Network Design: Key Considerations
✓ Scalability: Design should support growth in resources and traffic.
✓ Redundancy: Ensures uptime with backup paths and systems.
✓ Latency: Minimize data transfer delays between components.
✓ Security: Implement robust security protocols to protect data and prevent breaches.
✓ Bandwidth: Ensure sufficient capacity to handle current and future data loads.
✓ Fault Tolerance: Design for high availability, with the ability to continue operations during
failures.
✓ Cost Efficiency: Balance performance and scalability with budget constraints.
✓ Energy Efficiency: Optimize power usage and cooling to reduce operational costs.
✓ Manageability: Simplify network management, monitoring, and troubleshooting.
✓ Compliance: Ensure the network meets regulatory standards and data governance policies.
Cloud : Data Centers: Storage
Storage in the context of data centers and cloud computing is the foundational system
responsible for preserving and managing digital data. It encompasses a variety of technologies
and architectures designed to ensure data availability, integrity, scalability, and redundancy.
Cloud : Data Centers: Storage: Types of Data
Cloud : Data Centers: Storage: Types of Data Storage
Cloud : Data Centers: Storage: Storage Tiering
Tier 1 storage:
➢ This tier is used for the most critical or frequently accessed data and is generally stored on
the fastest, most redundant, or highest quality media available.
➢ Tier 1 storage is configured with one or more disks to fail with no data being lost and access
still available.
➢ Tier 1 storage arrays have the greatest manageability and monitoring capabilities and are
designed to be the most reliable.
Tier 2 storage:
➢ This storage tier is generally used for data that does not have fast read or write
performance requirements or that is accessed infrequently.
➢ Tier 2 data can use less expensive storage devices and can even be accessed over a remote
storage network.
➢ Some examples of Tier 2 data are email storage, file sharing, or web servers where
performance is important but less expensive solutions can be used.
Tier 3 storage:
➢ This storage tier is used for data that is often at rest and rarely accessed, or backups of Tier
1 and Tier 2 data.
➢ Examples of Tier 3 media are DVD, tape, or other less expensive media types.
Cloud : Data Centers: Storage: Types of Storage Solutions
➢ Direct-Attached Storage (DAS): Storage devices directly attached to servers. Ideal for small
environments but lacks scalability.
➢ Network-Attached Storage (NAS): File-based storage accessible over a network. Useful for
shared access across multiple servers.
➢ Storage Area Network (SAN): High-speed, block-level storage that provides scalable and
centralized storage for critical applications.
➢ Hyper-Converged Infrastructure (HCI): Combines compute, storage, and networking into a
single system, simplifying data center architecture.
Cloud : Data Centers: Storage: Types of Storage Solutions
Cloud : Data Centers: Storage: Considerations
➢ Performance: Evaluate the throughput, latency, and IOPS (Input/Output Operations Per
Second) needed for applications.
➢ Scalability: Ensure the storage solution can grow as data volumes increase.
➢ Redundancy: Built-in redundancy to prevent data loss due to hardware failure (e.g., RAID,
replication).
➢ Availability: High-availability solutions ensure minimal downtime and quick access to data.
➢ Security: Encryption, role-based access control, and physical security to protect data from
breaches.
➢ Cost Efficiency: Balance between performance and cost, including ongoing maintenance
and upgrades.
➢ Compliance & Regulatory Requirements: Ensure the storage infrastructure meets legal and
industry-specific compliance standards.
➢ Energy Efficiency: Evaluate power consumption, heat dissipation, and cooling requirements
to optimize operating costs.
➢ Vendor Support & Compatibility: Consider vendor-specific features, support options, and
hardware compatibility across solutions.
Cloud : Data Centers: Storage: Storage Technologies
➢ SSD vs. HDD: SSDs offer higher performance and lower latency but are more expensive.
HDDs provide larger storage capacity at a lower cost.
➢ Tiered Storage: Automatically moves frequently accessed data to faster storage (SSD) and
less-used data to slower, more economical storage (HDD).
➢ RAID (Redundant Array of Independent Disks): A method to combine multiple drives into a
single unit for redundancy or performance.(See the SysAdmin course)
➢ Deduplication and Compression: Techniques to reduce storage needs by eliminating
duplicate data and compressing files.
Cloud : Data Centers: Storage: Networking
➢ Fiber Channel (FC): A high-speed network for connecting storage devices to servers,
typically used in SAN environments.
➢ iSCSI (Internet Small Computer Systems Interface): Transports SCSI commands over IP
networks, a cost-effective alternative to FC.
➢ FCoE (Fibre Channel over Ethernet): Encapsulates Fibre Channel frames over Ethernet,
merging storage and network traffic.
Cloud : Data Centers: Storage: Disaster Recovery & Backup Solutions
➢ Snapshot Management: Point-in-time copies of data for quick recovery.
➢ Backup Solutions: On-premises or cloud-based backup solutions to ensure data is
recoverable in case of failure.
➢ Replication: Data replicated across multiple locations or regions to ensure high availability
and fault tolerance.
Cloud : Data Centers

What about Scalability, Reliability, Security, and Availability?

✓ Before diving into these advanced concepts, we must first practice the basics.
✓ We'll cover these concepts in-depth later as we build on our foundational skills!
VMware : ESXi

➢ Type-1 hypervisor developed by VMware.


➢ Allows multiple virtual machines (VMs) to run on a single physical server.
➢ Directly installed on hardware for efficient resource management and
performance.
VMware : vSphere

➢ VMware’s cloud computing virtualization platform.


➢ Provides tools for managing, deploying, and optimizing virtual infrastructure.
➢ Consists of ESXi, vCenter Server, and other components.
VMware : ESXi : Installation
On VMware…
VMware : ESXi : Installation
VMware : ESXi : Installation
VMware : ESXi : Installation
VMware : ESXi : Installation
VMware : ESXi : Installation
VMware : ESXi : Installation
VMware : ESXi : Installation
VMware : ESXi : Installation
VMware : ESXi : Installation
F2
VMware : vSphere : Storage
VMware : vSphere : Storage

Add new Disk …


VMware : vSphere : Storage
VMware : vSphere : Storage
VMware : vSphere : Storage
VMware : vSphere : Storage
VMware : vSphere : Storage
VMware : vSphere : Creating new VM
VMware : vSphere : Creating new VM
VMware : vSphere : Creating new VM
VMware : vSphere : Creating new VM
VMware : vSphere : Creating new vm
VMware : vSphere : Creating new vm
VMware : vSphere : Creating new vm
VMware : vSphere : Creating new vm
VMware : vSphere : Creating new vm
VMware : vSphere : Creating new vm
VMware : vSphere : Creating new vm

You might also like