KEMBAR78
UNIT1-Overview of Computing Paradigm2 | PDF | Art | Technology & Engineering
0% found this document useful (0 votes)
77 views63 pages

UNIT1-Overview of Computing Paradigm2

The document provides an overview of cloud computing and virtualization. It discusses the vision, mission and objectives of the computer science department and program. It also outlines the course topics which include cloud service models, virtualization techniques, cloud security and resource management. The syllabus and reference books are also included.

Uploaded by

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

UNIT1-Overview of Computing Paradigm2

The document provides an overview of cloud computing and virtualization. It discusses the vision, mission and objectives of the computer science department and program. It also outlines the course topics which include cloud service models, virtualization techniques, cloud security and resource management. The syllabus and reference books are also included.

Uploaded by

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

Cloud Computing &

Virtualization
Unit-1
Overview of Computing Paradigm

Dr. Sampa Sahoo


Assistant Professor
Department of Computer Science and Engineering
CV Raman Global University, Bhubaneswar
Vision & Mission
Vision of the C. V. Raman Global University: To emerge as a global leader in the arena of
technical education commensurate with the dynamic global scenario for the benefit of mankind.
Vision of the Department of CSE : To become a leader in providing high quality education and
research in the area of Computer Science, Information Technology, and allied areas.
Mission of C.V. Raman Global University :
 To provide state-of-art
technical education in the undergraduate and postgraduate levels;
 To work collaboratively with technical Institutes / Universities / Industries of National and
International repute;
 To keep abreast with latest technological advancements;
 To enhance the Research and Development activities.
Mission of the Department of CSE:
M1: To develop human resource with sound theoretical and practical knowledge in the discipline of
Computer Science & Engineering.
M2: To work in groups for Research, Projects, and Co-Curricular activities involving modern methods,
tools and technology.
M3: To collaborate and interact with professionals from industry, academia, professional societies,
community groups for enhancement of quality of education.
PROGRAM EDUCATIONAL OBJECTIVE (PEO)
PEO1- To provide the fundamental knowledge in mathematics, science and engineering concepts
for the development of engineering system (Fundamental Knowledge).

PEO2- To apply current industry accepted computing practices and emerging technologies to
analyze, design, implement, test and verify high quality computing systems and computer based
solutions to real world problems (Design and development).

PEO3- To enable the use of appropriate skill sets and its applications towards social impacts of
computing technologies in the career related activities (Skill Set) and to produce Efficient team
leaders, effective communicators and capable of working in multi-disciplinary environment
following ethical values(Communication).

PEO4- To practice professionally and ethically in various positions of industry or government and/or
succeed in graduate (Professionalism) with lifelong learning and to make substantial contributions
to the society (Societal Contribution)
Program Outcome (PO)
Engineering knowledge: Apply the knowledge of mathematics, science, engineering fundamentals, and an engineering specialization for
the solution of complex engineering problems.
Problem analysis: Identify, formulate, research literature, and analyze complex engineering problems reaching substantiated
conclusions using first principles of mathematics, natural sciences, and engineering sciences.
Design/development of solutions: Design solutions for complex engineering problems and design system components
or processes that meet the specified needs with appropriate consideration for public health and safety, and cultural, societal, and
environmental considerations.
Conduct investigations of complex problems: Use research-based knowledge and research methods including design
of experiments, analysis and interpretation of data, and synthesis of the information to provide valid conclusions.
Modern tool usage: Create, select, and apply appropriate techniques, resources, and modern engineering and IT tools,
including prediction and modeling to complex engineering activities, with an understanding of the limitations.
The engineer and society: Apply reasoning informed by the contextual knowledge to assess societal, health, safety, legal,
and cultural issues and the consequent responsibilities relevant to the professional engineering practice.
Environment and sustainability: Understand the impact of the professional engineering solutions in societal and
environmental contexts, and demonstrate the knowledge of, and need for sustainable development.
Ethics: Apply ethical principles and commit to professional ethics and responsibilities and norms of the engineering practice.
Individual and team work: Function effectively as an individual, and as a member or leader in diverse teams, and in
multidisciplinary settings.
Communication: Communicate effectively on complex engineering activities with the engineering community
and with the society at large, such as, being able to comprehend and write effective reports and design documentation,
make effective presentations, and give and receive clear instructions.
Project management and finance: Demonstrate knowledge and understanding
of the engineering and management principles and apply these to one’s own work, as a member and leader in a team, to manage
projects and in multidisciplinary environments.
Life-long learning: Recognize the need for, and have the preparation and ability to engage in independent and life-
long learning in the broadest context of technological change.
COURSE OUTCOME
CO1: Understand and differentiate different modes in the computing paradigm.

CO2: Understand the role of networking in the cloud architecture, and differentiate cloud service
models.

CO3: To understand virtualization techniques at different levels of abstraction.

CO4: Able to analyze authentication, confidentiality and privacy issues in Cloud computing
environment.

CO5: Explore some important cloud computing driven commercial systems.


SYLLABUS
U1.1: Recent trends in Computing: Grid computing, Cluster computing, Distributed computing, Utility computing, and Cloud computing.
Unit – I U1.2 Self Study: Data Communications reference models (OSI, TCP/IP), Digital Transmission (Transmission Modes, Line Coding, Sampling)

U2.1: Introduction to Cloud Computing: Cloud Computing (NIST Model), History of Cloud Computing, Cloud service providers, Properties,
Characteristics & Disadvantages. Cloud Computing Architecture: Cloud Computing Stack: Working of Cloud Computing, Role of Networks in Cloud

Unit – II computing, Protocols used, Role of Web services. Service Models: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Software as a Service
(SaaS). Deployment Models: Public, Private, Community and Hybrid Clouds.
U2.2 Self Study: Evolution of cloud computing, Service management in Cloud Computing.

U3.1: Virtualization concepts: Virtualization benefits, Hardware & Software Virtualization, Memory Virtualization, Storage Virtualization, Data
Virtualization, Network Virtualization, Virtualization Security Recommendations, Introduction to Various Virtualization OS VMware, KVM. Data Center
Unit – III Virtualization Overview, Virtualization Availability, Virtualization Server Hierarchy, Functions and Benefits, Virtualization Performance.
U3.2 Self Study: Virtual Machine Security

U4.1: Cloud Network: Virtual Private Cloud (VPC), Networks, Subnetworks, IP addresses, Routes, Firewall rules, subnetworks for resource
management instead of physical network topology. Cloud Security: Security Planning, Understanding Security of Cloud, Key Points to CSA Model,
Understanding Data Security, Shared Responsibility model, Cloud Security Principles, Data privacy and security Issues, Cloud Identity Access
Unit – IV Management (IAM), Organizations, Roles, Members, Service accounts, Cloud IAM best practices, Authentication in cloud computing, Client access in
cloud, Cloud security challenges.
U4.2 Self Study: Virtual Machine Security
U5.1: Resource Management: Cloud resources, resource provisioning, resource scheduling, and resource monitoring, Load balancing, Service Level
Agreements (SLAs), Cloud contracting Model, Pricing, Billing & Accounting, Auditing & Compliances Container, Dockers, Open Stack: Definition,

Unit – V Advantages, Releases, Architectural overview, Different components of Open Stack, Edge Computing, Big Data & Cloud FOG Computing, Edge
Computing, Big Data, Introduction to MapReduce, GFS, HDFS, Hadoop Framework
U5.2 Self Study: Case Study: AWS, Microsoft Azure, Google Cloud Platform
Text Books:
Data Communications and Networking: Behrouz A. Forouzan, Tata McGraw-Hill, 4th
Edition.
IT Infrastructure and Its Management: Phalguni Gupta and Surya Prakash,Tata
McGraw-Hill, 2009.
Cloud Computing: Concepts, Technology & Architecture, Thomas Erl, Ricardo Puttini,
Zaigham Mahmood, Prentice Hall, 2013.

Reference Books:
IBM Data Center Networking: Planning for Virtualization and Cloud Computing, 1st
Edition (May 2011).
Data Center Networks: Topologies, Architectures and Fault-Tolerance Characteristics,
By Yang Liu, Jogesh K Muppala, Malathi Veeraraghavan, Dong Lin, Mounir Hamdi,
Springer.
Mastering in Cloud Computing: R.Buyya, Christian Vecchiola, and Thamarai Selvi , Tata
McGraw Hill Education Private Limited, India, ISBN-13: 978-1-25-902995-0
Computing ???
Computing is the process of using computer technology to complete a
given goal-oriented task.

It involves design and development of software and hardware systems


for structuring, processing and managing any kind of information.

Computing is a systematic study of algorithmic processes, which are


used to describe and transform information.

It has specific meanings depending on the context and field in which it is
used. For example, cloud computing, ubiquitous computing, parallel
computing and grid computing
Serial Computing
 A problem is broken into a discrete series of instructions.
Instructions are executed sequentially one after another.
Executed on a single processor.
Only one instruction is executed at any moment in time.

Example
Disadvantages of Serial Computing
 Huge waste of hardware resources as only one part of the hardware will
be running for particular instruction and of time.

 Execution time is more for a particular set of tasks.

Less throughput.
Parallel Computing
Parallel computing is the simultaneous use of multiple compute resources
(e.g., Processors) to solve a computational problem.

A problem is broken into discrete parts that can be solved concurrently.

An overall control/coordination mechanism is employed.

Parallel Computing is possible either


single computer with multiple processors/cores
an arbitrary number of computers connected by a network.
Contd…

Example
Examples of Parallel computing
Parallel computing is used in places requiring higher and faster processing
power.
Advantages of Parallel Computing
Less Execution time for a particular set of tasks.

Efficient utilization of hardware resources.

More throughput.
Disadvantages of Parallel Computing

Expensive.

Parallel solutions are harder to implement due to communication and


coordination overhead.
Distributed Computing
A distributed system, also known as distributed computing, is a system
with multiple components located on different machines that
communicate and coordinate actions in order to appear as a single
coherent system to the end-user.

A problem is divided into many tasks, each of which is solved by one or


more computers, which communicate with each other via message
passing.

Example: electronic banking systems, massive multiplayer online games,


and sensor networks.
Contd…

Distributed System
Example of Distributed Computing
Distributed computing is used when computers are located at different
geographical locations.

E-commerce Application Electronic Banking System


Advantages of Distributed Computing
Reliability, high fault tolerance: A system crash on one server does not
affect other servers.

Scalability: In distributed computing systems you can add more machines


as needed.

Flexibility: It makes it easy to install, implement and debug new services.

Fast calculation : A distributed computer system can have the computing


power of multiple computers, making it faster than other systems.

High performance: Compared to centralized computer network clusters, it


can provide higher performance and better cost performance.
Disadvantages of Distributed Computing

Difficult troubleshooting: Troubleshooting and diagnostics are more


difficult due to distribution across multiple servers.

High network infrastructure costs: Network basic setup issues, including


transmission, high load, and loss of information.

Security issues: The characteristics of open systems make data security


and sharing risks in distributed computer systems.
Difference between Distributed and Parallel Computing
Contd…
System-level Architecture
 Focuses on the entire system and the placement of components of a
distributed system across multiple machines.

 Types:
 Client-Server Architecture
 Three-tier Architecture
 Peer-to-Peer Architecture
Client-Server Architecture
 Server hosts, delivers and manages most of the resources and services to
be consumed by the client.
 Client is an user application running on a device. E.g.- Email client
(Gmail)
 Also known as a networking computing model or client/server network
because all the requests and services are delivered over a network
Example of Client-Server Architecture
Advantages of Client-Server Architecture
 Centralization: The centralized network has complete control of the
processes and activities.

 Security: Data is well protected due to authorized access (userID,


Password) to server. Lost data can be recovered by only a single backup.

 Scalability: User can increase the number of resources such as clients


and servers without major interruptions to the network.

 Management: Files are stored in the central server making it easy to


track and find records of required files.
Disadvantages of Client-Server Architecture
 Traffic Congestion: System crashes or slows down if many clients make
requests from the same server.

 Single Point of Failure: Server failure or interference causes network


disruption.

 Cost: Cost involved in setting up and maintaining the server is usually


high.
Three-tier Architecture
 Presentation Tier:
 Consists of a user interface.
 Purpose: To take request from the client and displays
information to the client. It communicates with other
tiers using a web browser as it gives output on the
browser.
 Application Tier:
 It is the middle tier of the architecture also known as
the logic tier as the information/request gathered
through the presentation tier is processed in detail
here.
 It also interacts with the server that stores the data. It
processes the client’s request, formats, it, and sends it
back to the client.

 Data Tier:
 It is the last tier of the architecture also known as the
Database Tier.
 It is used to store the processed information so that it
can be retrieved later on when required. It consists of
Database Servers like- Oracle, MySQL, DB2, etc.
Example of Three-tier Architecture
Advantages of Three-tier Architecture
 Scalability: Increasing demand for adding more servers can also be
handled in the architecture as tiers can be scaled independently.

 Reliability is improved with the independence of the tiers as issues of


one tier would not affect the other ones.

 Security is improved as the client cannot communicate directly with


Database Tier. Moreover, the data is validated at Application Tier
before passing to Database Tier.

 Faster development - Because of division of work web designer does


presentation, software engineer does logic, DB admin does data
model.
Disadvantages of Three-tier Architecture

 Complexity also increases with the increase in tiers in architecture.

 High installation cost.


Peer-to-Peer Architecture
 Peer-To-Peer network is a network in which all the computers are
linked together with equal privilege and responsibilities for
processing the data.
 No dedicated server.
Example of Peer-to-Peer Architecture

Peers with higher bandwidth and


network connectivity are at a
higher priority and are called
group leaders/super nodes.
Contd…
 Bit Torrent: popular P2P file-sharing protocol
Advantages of Peer-to-Peer Architecture

 It is less costly as it does not contain any dedicated server.

 No single point of failure.

 Due to its decentralized nature, P2P networks can survive attacks


fairly well since there is no centralized server.
Disadvantages of Peer-to-Peer Architecture

 Security issue as the device is managed itself.

 Data back up is difficult as the data is different in different locations.


Difference between Client-server and Peer-to-Peer
computing

Client-Server Architecture Peer-to-Peer Architecture


Clients request for a service to the server Each node in the network can request for a
and the server responds back with the service and can provide a service.
service.
Data is stored at server side only. Each node store its own data.
Client-Server is more stable and scalable Stability reduces when the number of nodes
than peer to peer network. increases.
Data management is centralized. Data management is decentralized.
Taxonomy of Distributed computing
Cluster Computing
Cluster computing is a form of computing where a collection of
interconnected stand-alone computers cooperatively working together
as a single, integrated computing resource.
Each computer that is connected to the high-speed local area network is
called a node.

Note: ssh (secure shell) network


communication protocol
that enables two computers
to communicate.
Working of Cluster
Head node: Computer where you log in, compile code, assign
computationally-intensive tasks, coordinate jobs, and check traffic across
all system units.

Compute Node:
User log in and supplies a list of resource requirements (e.g., number of cores,
the time required, memory) using a text file, called a batch script, or via the
command line to the head node.
Compute node execute orders, follow the designated set of instructions, and
handles the entire work as a single machine.
Contd…
Types of Cluster Computing
High Availability or Failover Clusters:
built to provide an availability of services and resources in an uninterrupted
manner.
if a node fails, then applications and services can be made available to other
nodes.
Eliminates single points of failure.

Use: critical missions, mail, file and application servers.


Contd…
Load Balancing Clusters:
Custer allocates all the incoming traffic/requests for resources from nodes that
run the equal programs and machines.

This prevents any single node from receiving a disproportionate amount of task.

Use: E-commerce businesses and internet


service providers use load balancing clusters to
manage user requests and deliver
high performance.
Contd…
High Performance (HP) Clusters:
This cluster model boosts availability and implementation for applications that
have huge computational tasks.

A large computational task has been divided into smaller tasks and distributed
across the stations.

Use: scientific computing or


financial analysis that
high processing power.
Advantages of Cluster Computing
High Performance : The systems offer better and enhanced
performance than that of mainframe computer networks.

Economical : Cluster Computing systems are cheaper than traditional


supercomputers for the same performance.

Flexibility : Cluster computing can be upgraded to the superior


specification or extended through the addition of additional nodes.

Scalability: Cluster computing is capable of combining several additional


resources or the networks to the existing computer system.

Availability: Failure of any connected active node can be easily passed


on to other active nodes on the server, ensuring high availability.
Disadvantages of Cluster Computing
Difficult to manage and organize a large number of computers.

Poor performance in the case of non-parallelizable applications


Physical space needed is considerably greater than that of a single server.

Increased power consumption compared to a single server.


Utility Computing
 Utility computing is a service provisioning model where a provider
makes computing resources, infrastructure management and technical
services available to customers as they need them (On-demand).

 Utility computing is based on Pay-per-Use model or metered service.

 The companies achieve greater flexibility, because their IT resources


more quickly and easily adapt to fluctuating demand.
Properties of Utility Computing
Scalability: Must provide sufficient IT resources to handle rise in demand

Demand pricing is scheduled effectively to pay for both hardware and


software components as per the usage.

The utility computing service provider offers its customers a catalog of


standardized services. These may have different service level
agreements (Agreement on the quality and the price of an IT) services.
Ubiquitous (or Pervasive) Computing
Wireless communication, consumer electronics and computer
technology were all merged into one to create a new environment called
pervasive computing environment.

Pervasive computing provide us with small portable personal assistant


devices having high speed, wireless communication, lower power
consumption rate, etc. and give the users freedom to effectively
communicate and access information from any place in the world at any
time.
Contd…
An environment in which devices, present everywhere, are capable of
some form of computing can be considered a ubiquitous computing
environment.
Example1: Apple watch that alerts the user to a phone call and allows
the call to be completed through the watch.

Example2: Registered user of audible, Amazon’s audiobook server


hosted on AWS cloud, starts their book on the train using the Audible
app on a smartphone and continues listening to the book at home using
Amazon Echo.
Grid Computing
Analogy to the Electrical Power Grid. Electrical power grid allows
pervasive access to electrical power similarly computing grid allows
pervasive access to compute resources and services.

Grid computing systems work on the principle of pooled resources.


Here, the user machine's unused cycles or idle time is gathered and used
to solve large computational problems.

Suppose a group of friends decide to go on a camping trip. One friend


volunteered to share large tent with other friends. Another friend offers
to bring food and another one says he’ll drive the whole group in his Car.
A grid computing system uses that same concept: share the load across
multiple computers to complete tasks more efficiently and quickly.
Grid Computing Network
Grid computing network consists of following unit
Control node/server: A control node is a server or a group of servers that
administers the entire network and maintains the record for resources in a
network pool.
Provider/grid node: A provider or grid node is a computer that contributes its
resources to the network resource pool.
User: A user refers to the computer that uses the resources on the network to
complete the task.
Contd…
For controlling the network and its resources a software/networking
protocol is used generally known as Middleware.

This is responsible for administrating the network and the control nodes
are merely its executors.

Famous middleware:
Globus Toolkit
Nimrod
OpenLava
A Typical View of Grid environment
Grid in India
 GARUDA(Global Access to Resource Using Distributed Architecture)
is India’s Grid Computing initiative connecting 17 cities across the
country.

 The 45 participating institutes in this nationwide project include all


the IITs and C-DAC centers and other major institutes in India.
Types of Grid Computing
Computational grid computing:
The main task is split into multiple subtasks, and each subtask is executed in
parallel on a separate node. Upon completion, the results of the subtasks are
combined to get the main task’s result.
For example, a computational grid can speed up the business report generation
for a company with an online marketplace.
Data grid computing:
Data grids enable placing data onto a network of computers or storage.
Data grid computing allows several users to simultaneously access, change, or
transfer distributed data.
For instance, a data grid can be used as a large data store where each website
stores its own data on the grid. Here, the grid enables coordinated data sharing
across all grid users.
Contd…
Collaborative grid computing:
 Collaborative grid computing solves problems by offering seamless collaboration.

It overcomes geographical barriers and adds capabilities that enhance work
experience by allowing remote individuals to work together.

For example, with a collaborative grid, all users can access and simultaneously
work on text-based documents, graphics, design files, and other work-related
products.
Advantages of Grid Computing
Can solve larger, more complex problems in a shorter time.

Make better use of existing resource.

Grid environments are much more modular and don’t have single points
of failure.

Scalable
Disadvantage of Grid Computing
Non-interactive job submission.

Require fast interconnect between compute resources.

Licensing across many servers may make it prohibitive for some


applications.

Many groups are reluctant with sharing resources even if it benefits


everyone involved.
Difference between cluster and grid computing
A computing grid is similar to a cluster, but each system (or node) on a
grid has its own resource manager.
In a cluster, the resources are centrally managed, typically by a single
system.

Clusters are usually located in a single physical space (such as a LAN),


whereas grid computing incorporates systems in several different
locations (such as a WAN).

In Cluster Computing, nodes or computers has to be of same type, like


same CPU, same OS. Cluster computing needs a homogeneous network.
Grid Computing, nodes or computers can be of same or different types.
Grid computer can have homogeneous or heterogeneous network.
Contd…
Cluster computing network is prepared using a centralized network
topology.
Grid computing network is distributed and have a de-centralized network
topology.
References
1. https://www.techopedia.com/definition/6597/computing
2. https://blog.stackpath.com/distributed-system/
3. https://cio-wiki.org/wiki/Client_Server_Architecture
4. https://www.hitechwhizz.com/2020/11/5-advantages-and-
disadvantages-drawbacks-benefits-of-client-server-network.html
5. https://www.geeksforgeeks.org/three-tier-client-server-architecture-in-
distributed-system/
6. https://www.tutorialspoint.com/what-is-cluster-computing
7. https://www.eukhost.com/blog/webhosting/what-is-utility-computing/
8. https://www.spiceworks.com/tech/cloud/articles/what-is-grid-
computing/#_002

You might also like