cs528 introduction to cloud computing system · – there is a sense of location independence in...

37
CS528 Introduction to Cloud Computing System A. Sahu Dept of CSE, IIT Guwahati

Upload: others

Post on 07-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

CS528

Introduction to Cloud Computing

System

A. Sahu

Dept of CSE, IIT Guwahati

Page 2: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

Outline• What is Cloud Computing?

• (HPC, Data Center, Grid) Vs Cloud

• Virtualization

• Advantage of Cloud System : User

Prospects

• Dis-advantage of Cloud System : User

Prospects

Page 3: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

HPC/Grid Vs Cloud

• Grid/HPC : Self owned

– Too costly : CAPEX (Capital Expenditure)

– IITG HPC Example: 10.6 Crores, 3800 J cores

– OPEX : Operational cost, AC, electricity, AMC

• Cloud : User and Owner are Separated

– Lets of VC own the HPC but users uses as RENT

– User get cheaply at need time

– Owner get a lots of demand for USE

– Win-Win for Both, Example Public BUS

• OLA, UBER, Any Taxi Service

– Get a CAR and used for Taxi

Page 4: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

Utility Model

• Do we require to own a car to ride?

• Rent a CAR for 1 month (schedule your self

how you will use)

• Rent a CAR for 1 Day (schedule your self how

you will use)

• Use Pickup or Drop service, personalized

– Src-Dst defined

• Use shared services: Piggy back with others

Page 5: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

Utility Computing

• Long been a vision• Grid computing failed to really

catch on• Technology advances as well

as a viable business model have helped Cloud Computing catch on

• Cloud Computing allows for fuller utilization of hardware

• Energy consumption is turning into a major issue

Page 6: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

Cloud Computing Economic Benefits

• Most identifiable economic benefit of cloud

computing is

– direct cost savings, which occur from changes

within the organization and the data centers that

house the IT infrastructure.

– Supply Side – Large scale data centers lower cost

due to superior buying power

Page 7: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

Cloud Computing Economic Benefits

• Other economic benefit of cloud

– Demand Side – Allowing multiple users across

varying industries regions & time zones allowing

for server utilization

– Multi-user efficiency – Increasing # of users lowers

server cost per tenant

– Data center efficiency – Advanced data center

designs reduce power loss and improved cooling

Page 8: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

What is Cloud Computing?

• Cloud Computing is a general term

• Used to describe a new class of network based

computing that takes place over the Internet,

– Basically a step on from Utility Computing

– A collection/group of integrated and

networked hardware, software and Internet

infrastructure (called a platform).

– Using the Internet for communication and

transport provides hardware, software and

networking services to clients8

Page 9: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

What is Cloud Computing?

• These platforms

– hide the complexity and details of the

underlying infrastructure from users and

applications

– by providing very simple graphical interface

or API (Applications Programming

Interface).

9

Page 10: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

What is Cloud Computing?

• In addition, the platform provides on

demand services, that are always on,

anywhere, anytime and any place.

• Pay for use and as needed, elastic

– scale up and down in capacity and

functionalities

• The H/W and S/W services are available to

– general public, enterprises, corporations and

businesses markets10

Page 11: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

Cloud Summary

• Cloud computing : an umbrella term used to refer

to Internet based development and services

• 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!11

Page 12: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

Cloud Architecture

12

Infrastructure as Service

Service Value Net

Platform as Service

Page 13: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

What is Cloud Computing

13 Adopted from: Effectively and Securely Using the Cloud Computing Paradigm by peter Mell, Tim Grance

• Shared pool of configurable computing resources

• On-demand network access

• Provisioned by the Service Provider

Page 14: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

Cloud Computing Characteristics

14

Common Characteristics:

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

Essential Characteristics:

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Adopted from: Effectively and Securely Using the Cloud Computing Paradigm by peter Mell, Tim Grance

Page 15: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

Cloud Computing Characteristics• Scalability Infrastructure capacity allows for

traffic spikes and minimizes delays.

• Resiliency Cloud providers have mirrored solutions– To minimize downtime in the event of a disaster.

– This type of resiliency can give businesses the sustainability they need during unanticipated events.

• Homogeneity: No matter which cloud provider and architecture an organization uses– An open cloud will make it easy for them to work with

other groups,

– even if those other groups choose different providers and architectures.

Page 16: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

Cloud Computing 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’s provider.

• Broad network access. Capabilities are

available over the network and

– Accessed through standard mechanisms

– promote use by heterogeneous thin or thick client

platforms (e.g., mobile phones, laptops, PDAs).

Page 17: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

Cloud Computing Characteristics• Resource pooling: Multi-tenant model

– There is a sense of location independence in that

– The customer generally has no control or knowledge over the exact location of the provided resources

– but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter).

– Examples of resources include storage, processing, memory, network bandwidth, and virtual machines.

• Rapid elasticity. Capabilities can be rapidly and elastically provisioned– In some cases automatically

– To quickly scale out and rapidly released to quickly scale in.

– To the consumer, the capabilities available for provisioning often appear to be unlimited

– can be purchased in any quantity at any time.

Page 18: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

Cloud Computing 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

Page 19: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

Cloud Service Models

19

Software as a

Service (SaaS)

Platform as a

Service (PaaS)

Infrastructure as

a Service (IaaS)

Google App Engine

SalesForce CRM

LotusLive

Adopted from: Effectively and Securely Using the Cloud Computing Paradigm by peter Mell, Tim Grance

Page 20: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

SaaS Maturity Model

20

Level 2: Configurable

per customer

Level 3: configurable &

Multi-Tenant-Efficient

Level 1: Ad-Hoc/Custom –One Instance per customer

Level 4: Scalable,

Configurable & Multi-

Tenant-Efficient

Page 21: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

Different Cloud Computing Layers

Application Service

(SaaS)

Application Platform

Server Platform

Storage PlatformStorage Platform Amazon S3, Dell, Apple, ...

GoGrid, RightScale, Linode

3Tera, EC2, SliceHost,

GoGrid, RightScale, Linode

Facebook, Heroku, AWS

Google App Engine, Mosso,

Force.com, Engine Yard,

Facebook, Heroku, AWS

Quicken Online, Zoho, Cisco

MS Live/ExchangeLabs, IBM,

Google Apps; Salesforce.com

Quicken Online, Zoho, Cisco

21

Page 22: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

Services

Application

Development

Platform

Storage

Hosting

Cloud Computing Service LayersDescription

Services – Complete business services such as PayPal, OpenID, OAuth, Google Maps, Alexa

Services

App.

Focused

Infra.

Focused

Application–Cloud based S/W that eliminates

local installation: Google Apps, MS Online

Storage – Data storage or cloud based

NAS such as CTERA, iDisk, CloudNAS

Development – S/W Dev. platforms used to

build custom cloud based applications (PAAS &

SAAS) such as SalesForcePlatform – Cloud based platforms, typically provided using virtualization, such as Amazon ECC, Sun Grid

Hosting – Physical data centers such as

those run by IBM, HP, NaviSite, etc.22

Page 23: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

Basic Cloud Characteristics

• The “no-need-to-know” in terms of the underlying

details of infrastructure, applications interface with

the infrastructure via the APIs.

• The “flexibility and elasticity” allows these systems

to scale up and down at will

– utilising the resources of all kinds

• CPU, storage, server capacity, load balancing, and databases

• The “pay as much as used and needed” type of

utility computing and the “always on!, anywhere

and any place” type of network-based computing.

23

Page 24: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

Basic Cloud Characteristics

• Cloud are transparent to users and

applications, they can be built in multiple

ways

– branded products, proprietary open source,

hardware or software, or just off-the-shelf PCs.

• In general, they are built on clusters of PC

servers and off-the-shelf components plus

Open Source software combined with in-

house applications and/or system software.

24

Page 25: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

Software as a Service (SaaS)

• SaaS is a model of software deployment where an

application is hosted as a service provided to

customers across the Internet.

• Saas alleviates the burden of software

maintenance/support

– but users relinquish control over software versions and

requirements.

• Terms that are used in this sphere include

– Platform as a Service (PaaS) and

– Infrastructure as a Service (IaaS)

25

Page 26: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

Virtualization

• Virtual workspaces

– An abstraction of an execution environment that

can be made dynamically available to authorized

clients by using well-defined protocols,

– Resource quota (e.g. CPU, memory share),

– Software configuration (e.g. O/S, provided

services).

Page 27: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

Virtualization• Virtual WS Implement on Virtual Machines (VMs):

– Abstraction of a physical host machine,

– Hypervisor intercepts and emulates instructions from VMs,

and allows management of VMs,

– VMWare, Xen, etc.

• Provide infrastructure API:

– Plug-ins to hardware/support structures

Hardware

OS

App App App

Hypervisor

OS OS

Virtualized Stack

Page 28: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

Virtual Machines

• VM technology allows multiple virtual

machines to run on a single physical machine.

Hardware

Virtual Machine Monitor (VMM) / Hypervisor

Guest OS(Linux)

Guest OS(NetBSD)

Guest OS(Windows)

VM VM VM

AppApp AppAppApp

Xen

VMWare

UML

Denali

etc.

Performance: Para-virtualization (e.g. Xen) is very close to raw physical performance!

28

Page 29: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

Advantages of Virtualization

• Run operating systems where the physical

hardware is unavailable,

• Easier to create new machines, backup

machines, etc

• Software testing using “clean” installs of

operating systems and software,

29

Page 30: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

Advantages of Virtualization

• Emulate more machines than physically

available,

• Timeshare lightly loaded systems on one host,

• Debug Problem : (suspend/resume the

problem machine),

• Easy migration of VM (shutdown needed or

not).

• Run legacy systems!

30

Page 31: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

What is the purpose and benefits?

• Cloud computing enables companies and applications, which are system infrastructure dependent, to be infrastructure-less.

• By using the Cloud infrastructure on “pay as used and on demand”, all of us can save in capital and operational investment!

• Clients can:

– Put their data on the platform instead of on their own desktop PCs and/or on their own servers.

– They can put their applications on the cloud and use the servers within the cloud to do processing and data manipulations etc.

31

Page 32: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

Containers : Docker

• What is a container?

– a container consists of an application and all its

dependencies which can be run in an isolated

way

– make uses of kernel features (cgroups,

namespaces, ...)

• Benefits include

– independence from host OS & libraries

– can be run anywhere, regardless of kernel

version or host Linux distribution

Page 33: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

Containers vs Virtualization

• VM is complete OS

• Container is App with required Lib and tools

VMs

Containers

Page 34: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

Singularity : isolation• Project from Berkeley Labs

(http://singularity.lbl.gov/)

• Designed to allow non-privileged users on HPC systems to provide their own OS

– isolates filesystem & processes

– no daemon, no UID switching

• Being pushed by Traceability & Isolation Working Group

– seen as a (future) alternative to glexec

– provides isolation but not traceability

• payload cannot attack pilot or other payloads on same host

Page 35: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

Kubernetes

• Open source container cluster manager,

originally developed at Google

• Can be installed on-prem (bare metal or on

a cloud), also available on public clouds

– “click a button” on Google & Azure

– straightforward to install on AWS, ...

Page 36: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

Why Kubernetes?

• Standard open-source software (not HEP-

specific)

• Using it as a means of abstracting differences

between on-prem (bare metal) resources &

different public clouds

• Eliminate vendor lock-in by avoiding any cloud

or vendor specific APIs

– No need to write software to talk to different cloud

APIs, just use the Kubernetes API only

• Also has federation functionality making it easy

– To deploy workloads across multiple clusters (new)

Page 37: CS528 Introduction to Cloud Computing System · – There is a sense of location independence in that – The customer generally has no control or knowledge over the exact location

Container Verdicts• Use of containers beneficial for both VOs and

sites– jobs no longer depend on OS version or software

installed on worker nodes

– easier to provide a consistent environment at multiple sites

• Singularity seems to be a simple way for sites to run jobs in containers

• Container cluster managers– Mesos can be used to provide an efficient platform

for long-running services & multiple compute activities

– Kubernetes can be used to provide portability between local resources & multiple public clouds