0% found this document useful (0 votes)
5 views32 pages

Chapter-2

Uploaded by

Kavana T S
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views32 pages

Chapter-2

Uploaded by

Kavana T S
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 32

Chapter 2

Concepts & Technologies

Book website: Bahga & Madisetti, ©


Outline

• Concepts and enabling technologies of cloud computing


• Virtualization
• Load balancing
• Scalability & Elasticity
• Deployment
• Replication
• Monitoring
• MapReduce
• Identity and Access Management
• Service Level Agreements
• Billing

Book website: Bahga & Madisetti, ©


Virtualization

• Virtualization refers to the partitioning the


resources of a physical system (such as
computing, storage, network and memory)
into multiple virtual resources.

• Key enabling technology of cloud


computing that allow pooling of resources.

• In cloud computing, resources are pooled


to serve multiple users using multi-tenancy.

Book website: Bahga & Madisetti, ©


Hypervisor

• The virtualization layer consists of a hypervisor or a


virtual machine monitor (VMM).

• Hypervisor presents a virtual operating platform to a


guest operating system (OS).
Type-1 Hypervisor
• Type-1 Hypervisor
• Type-I or the native hypervisors run directly on the host
hardware and control the hardware and monitor the guest
operating systems.

• Type-2 Hypervisor
• Type 2 hypervisors or hosted hypervisors run on top of a
conventional (main/host) operating system and monitor Type-2 Hypervisor
the guest operating systems.

Book website: Bahga & Madisetti, ©


Types of Virtualization

• Full Virtualization
• In full virtualization, the virtualization layer completely decouples the guest OS from the
underlying hardware. The guest OS requires no modification and is not aware that it is being
virtualized. Full virtualization is enabled by direct execution of user requests and binary
translation of OS requests.

• Para-Virtualization
• In para-virtualization, the guest OS is modified to enable communication with the hypervisor to
improve performance and efficiency. The guest OS kernel is modified to replace non-virtualizable
instructions with hyper-calls that communicate directly with the virtualization layer hypervisor.

Book website: Bahga & Madisetti, ©


Load Balancing

• Cloud computing resources can be scaled up on


demand to meet the performance requirements of
applications.

• Load balancing distributes workloads across multiple


servers to meet the application workloads.

• The goals of load balancing techniques include:


• Achieve maximum utilization of resources
• Minimizing the response times
• Maximizing throughput

Book website: Bahga & Madisetti, ©


Load Balancing Algorithms

• Round Robin load balancing


• Weighted Round Robin load balancing
• Low Latency load balancing
• Least Connections load balancing
• Priority load balancing
• Overflow load balancing

Book website: Bahga & Madisetti, ©


Load Balancing - Persistence
Approaches
• Since load balancing can route successive requests from a user
session to different servers, maintaining the state or the information
of the session is important.

• Persistence Approaches
• Sticky sessions
• Session Database
• Browser cookies

Book website: Bahga & Madisetti, ©


Persistence Approaches

• Sticky sessions
• All the requests belonging to a user session are routed to the same server.
• Session management is simple.
• If a server fails all sessions belonging to that server are lost.

• Session Database
• All the session information is stored externally in a separate session
database.
• Additional overhead of storing the session information.
• Allows automatic failover.

Bahga & Madisetti, ©


Persistence Approaches

• Browser cookies
• Session information is stored on the client side in the form of cookies.
• Least overhead

Book website: Bahga & Madisetti, ©


Scalability & Elasticity

• Multi-tier applications such as e-Commerce,


social networking, business-to-business, etc.
can experience rapid changes in their traffic.

• Capacity planning involves determining the


right sizing of each tier of the deployment of
an application in terms of the number of
resources and the capacity of each resource.

• Capacity planning may be for


computing, storage, memory or
network resources.

Bahga & Madisetti, ©


Scaling Approaches

• Vertical Scaling / Scaling up


• Involves upgrading the hardware resources (adding additional computing, memory,
storage or network resources).

• Horizontal Scaling / Scaling out


• Involves addition of more resources of the same type.

Book website: Bahga & Madisetti, ©


Cloud Application Deployment Cycle
Deployment Design
Number of servers
Computing capacities, memory & storage
of servers
Server interconnections
Load balancing & replication strategies

Deployment Refinement
Horizontal Scaling
Performance Measurement
Vertical Scaling
Application workload
Alternative server interconnections
Utilization of servers (CPU, memory, disk)
Alternative load balancing & replication
strategies

Bahga & Madisetti, ©


Deployment

• Cloud application deployment design is an iterative process that involves:


• Deployment Design
• The variables in this step include the following
Deployment Design
Number of servers
Computing capacities, memory & storage
of servers
Server interconnections
Load balancing & replication strategies

Book website: Bahga & Madisetti, ©


Performance Evaluation

• To verify whether the application meets the performance requirements with the
deployment.
• Involves monitoring the workload on the application and measuring various
workload parameters such as response time and throughput.
• Utilization of servers (CPU, memory, disk, I/O, etc.) is also monitored.

Performance Measurement
Application workload

Utilization of servers (CPU, memory, disk)

Book website: Bahga & Madisetti, ©


Deployment Refinement

Various alternatives can exist in this step

Book website: Bahga & Madisetti, ©


Replication

• Replication is used to create and maintain multiple copies of the data in the cloud.
• Cloud enables rapid implementation of replication solutions for disaster recovery for
organizations.
• With cloud-based data replication organizations can plan for disaster recovery without
making any capital expenditures on purchasing, configuring and managing secondary
site locations.
• Types:
• Array-based Replication
• Network-based Replication
• Host-based Replication

Bahga & Madisetti, ©


Array-based Replication

• Array - data storage system that uses multiple disk drives to store data
• Automatically copy data from local array to remote array

• Requires similar arrays at local and remote locations

Bahga & Madisetti, ©


Network-based Replication

• An appliance is used that sits on the network & intercepts the packets sent from hosts &
storage arrays. These packets are replicated to a secondary location.
• Requires single point of management

• Higher initial costs due to replication hardware and software


Bahga & Madisetti, ©
Host-based Replication

• Host acts as the replication control mechanism


• An agent is installed on the hosts that communicates with the agents on the other hosts.

Bahga & Madisetti, ©


Monitoring

• Monitoring services allow cloud users to


collect and analyze the data on various Examples of Monitoring Metrics
monitoring metrics.
Type Metrics
CPU CPU-Usage, CPU-Idle
• A monitoring service collects data on Disk Disk-Usage, Bytes/sec (read/write),
various system and application metrics Operations/sec
from the cloud computing instances.
Memory Memory-Used, Memory-Free, Page-Cache
Interface Packets/sec (incoming/outgoing),
• Monitoring of cloud resources is Octets/sec(incoming/outgoing)
important because it allows the users to
keep track of the health of applications
and services deployed in the cloud.

Book website: Bahga & Madisetti, ©


Billing

Cloud service providers offer a number of billing models described as follows:


• Elastic Pricing
• In elastic pricing or pay-as-you-use pricing model, the customers are charged based
on the usage of cloud resources.
• Fixed Pricing
• In fixed pricing models, customers are charged a fixed amount per month for the
cloud resources.
• Spot Pricing
• Spot pricing models offer variable pricing for cloud resources which is driven by
market demand.

Book website: Bahga & Madisetti, ©


Software Defined Networking
• Software-Defined Networking (SDN) is a networking architecture that separates the
control plane from the data plane and centralizes the network controller.
• Conventional network architecture
• The control plane and data plane are coupled. Control plane is the part of the network
that carries the signaling and routing message traffic while the data plane is the part of
the network that carries the payload data traffic.
• SDN Architecture
• The control and data planes are decoupled and the network controller is centralized.
SDN - Key Elements

• Centralized Network Controller


• With decoupled the control and data planes and centralized network
controller, the network administrators can rapidly configure the network.

• Programmable Open APIs


• SDN architecture supports programmable open APIs for interface between the SDN
application and control layers (Northbound interface). These open APIs allow
implementing various network services such as routing, access control, etc.

• Standard Communication Interface (OpenFlow)


• SDN architecture uses a standard communication interface between the control and
infrastructure layers (Southbound interface).

Bahga & Madisetti, ©


OpenFlow

• OpenFlow is the broadly accepted SDN protocol for the Southbound


interface.
• With OpenFlow, the forwarding plane of the network devices can be
directly accessed and manipulated.
• OpenFlow uses the concept of flows to identify network traffic based
on pre-defined match rules.
• Flows can be programmed statically or dynamically by the SDN
control software.
OpenFlow switch comprising of
• OpenFlow protocol is implemented on both sides of the interface one or more flow tables and a
between the controller and the network devices. group table, which perform
packet lookups and forwarding,
and OpenFlow channel to an
external controller.

Bahga & Madisetti, ©


Network Function Virtualization

• Network Function Virtualization (NFV) is a technology that leverages virtualization to


consolidate the heterogeneous network devices onto industry standard high volume
servers, switches and storage.

• Relationship to SDN
• NFV is complementary to SDN as NFV can provide the infrastructure on which SDN can run.
• NFV and SDN are mutually beneficial to each other but not dependent.
• Network functions can be virtualized without SDN, similarly, SDN can run without NFV.

• NFV comprises of network functions implemented in software that run on virtualized resources in the
cloud.
• NFV enables a separation the network functions which are implemented in software from the underlying
hardware.

Bahga & Madisetti, ©


NFV Architecture

• Key elements of the NFV architecture are


• Virtualized Network Function (VNF): VNF is a
software implementation of a network function
which is capable of running over the NFV
Infrastructure (NFVI).

• NFV Infrastructure (NFVI): NFVI includes compute,


network and storage resources that are virtualized.

• NFV Management and Orchestration: NFV


Management and Orchestration focuses on all
virtualization-specific management tasks.

Bahga & Madisetti, ©


Identity and Access Management

• The authentication and authorization of users to provide secure access to cloud resources.
• Organizations with multiple users can use IDAM services provided by the cloud service provider
for management of user identifiers and user permissions.
• IDAM services allow organizations to centrally manage users, access permissions, security
credentials and access keys.
• Organizations can enable role-based access control to cloud resources and applications using
the IDAM services.
• IDAM services allow creation of user groups where all the users in a group have the same
access permissions.

Bahga & Madisetti, ©


Identity and Access Management

• Identity and Access Management is enabled by a number of technologies such as


•OpenAuth
•Role-based Access Control (RBAC)
•Digital Identities
•Security Tokens
•Identity Providers

Bahga & Madisetti, ©


Identity and Access Management

Bahga & Madisetti, ©


SLA criteria

• Availability - % of time the service is guaranteed to be available


• Performance – Response time, Throughput
• Disaster Recovery – Mean time to recover
• Problem Resolution – Process to identify problems, support options,
resolution expectations

• Security and privacy of data – Mechanism for security of data in


storage and transmission
Bahga & Madisetti, ©
Built-in Exception types in Python

Exception Description
ArithmeticError Raised when an error occurs in numeric calculations
KeyError Raised when a key does not exist in a dictionary
NameError Raised when a variable does not exist

ZeroDivisionError Raised when the second operator in a division is zero


UnboundLocalError Raised when a local variable is referenced before assignment
ValueError Raised when there is a wrong value in a specified data type

You might also like