INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” -...

60
INTRODUCTION TO CLOUD COMPUTING

Transcript of INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” -...

Page 1: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

INTRODUCTION TO CLOUD COMPUTING

Page 2: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

“Computation may someday be organized as a public utility.”

- John McCarthy, 1961

2

Page 3: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

CLOUD COMPUTING

• No longer the next big thing – the current big thing

• Began in 2007 – IBM and Google “Blue Cloud”

• Name cloud inspired by cloud symbol representing internet in diagrams

• Amazon popularized idea of the cloud

Page 4: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

QUESTIONS TO ANSWER

• What is a cloud?

• What clouds have you used today (yesterday)?

Page 5: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

INTRODUCTIONCLOUD DEFINITION

Cloud computing is a set of service-oriented architectures, which allow users to access a number of resources in a way

that is elastic, cost-efficient, and on-demand.

5

Page 6: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

INTRODUCTIONCLOUD DEFINITION

The U.S. National Institute of Standards and Technology (NIST) defines cloud computing 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.

Bahga & Madisetti, © 2014Book website: www.cloudcomputingbook.info

Page 7: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

INTRODUCTIONCLOUD DEFINITION

Cloud Definition

•Scalable resource allocation

•Tailored services• Software as a Service (SaaS)

• Platform as a Service (PaaS)

• Infrastructure as a Service (IaaS)

•Billed like a utility• public clouds

7

Page 8: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

CLOUD COMPUTING• Everyone has an opinion on what to use a cloud

for

• Applications on the internet – email, tax prep

• Storage for business, personal data

• Web services for photos, maps, GPS

• Rent a virtual server, load software on it, turn it on /off, clone it if sudden workload demand

• Store, secure data for authorized access (really?)

• Use a platform including OS, Apache, MySQL, Python, PHP

Page 9: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

CLOUD COMPUTING CHARACTERISTICS

• So what are its characteristics?• Described as: On-demand computing, pay as you go, software as a service,

utility computing

• Usually costs, but cost-effective

• Emphasizes availability

• Virtualization

• Scalable (expand on current hardware)

• Elastic (dynamically add hardware as needed)

• Distributed and highly parallel approach

• Replication, replication, replication …

Page 10: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

INTRODUCTIONCLIENT/SERVER VS. CLOUD ARCHITECTURE

Network

Client Client Client

Server

Network

Client Client

Cloud Interface

Compute Node

Compute Node

Switch/Router

Storage Node

Client/Server Architecture

Cloud Architecture

Storage

Client

CloudAdmin

10

Page 11: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

INTRODUCTIONTYPES OF CLOUDS

• Public Cloud

• Marketed based on

• Resources offered, availability, security, price

• Local/Private Cloud

• Cloud architectures tailored to an organization’s needs.

• Hybrid Cloud

• Combination of public and local cloud resources.

11

Page 12: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

INTRODUCTIONSUPER CLOUDS

12

Page 13: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

INITIAL MOTIVATION: WEB-SCALE PROBLEMS

• Characteristics:• Definitely data-intensive

• May also be processing intensive

• Examples:• Crawling, indexing, searching, mining the Web

• “Post-genomics” life sciences research

• Other scientific data (physics, astronomers, etc.)

• Sensor networks

• Web 2.0 applications

• …

Page 14: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

HOW MUCH DATA?• Google processes over 24 PB a day (24k terabytes)

• CERN’s LHC generates 25 PB a year

• “all words ever spoken by human beings” ~ 5 EB (5m terabytes)

• Amount of data that exists in the digital universe – 3+ ZB (3b terabytes)

• Brain Research through Advancing Innovative Neurotechnologies (BRAIN) project – est: multiple yottabyes (trillions of terabytes)

• LARGE data is the next frontier

• How do we store this amount of data?• HDD density

• SDD density

• How do we filter/access useful information?

Page 15: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

APPLICATIONS

• What does cloud computing actually do?

• Consider applications you may currently be running on laptop, desktop, phone, server

• Cloud has them also, or can potentially bring them to you

• Brings applications, views, manipulates, shares data

Page 16: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

CLOUDS

• Allow access to applications other than on local computer or internet connected device

• Instead, company hosts your application - Advantages?

• No more licenses, service packs, etc.

• Less hardware, etc.

• Can access anywhere

Page 17: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

CLOUDS

• Allow access to applications other than on local computer or internet connected device

But

Only as long as have internet connection

Page 18: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

POTENTIAL PROBLEMS

• Internet connection• Completely dependent on network

• Cloud site failure• Back-end server/network failure may

Result in inaccessible data

• Sensitive information• How much do you trust the public cloud vendor?

• Application integration – (exchange info when local and on cloud)

Page 19: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

CLOUD COMPONENTS

• 3 components

• Clients

• Datacenter

• Distributed servers

Page 20: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

CLOUD COMPONENTS• Clients

• Mobile

• Phones, PDAs

• Thin

• no internal hard drives, lets servers do all work, displays info

• Thick

• Laptops, desktop computers

• Which is the best?

• Thin - lower costs, security, power consumption, easy to replace, less noise

Page 21: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

DATA CENTER

• Data Center

• Collection of servers

• In large room in your building

• Servers distributed across the world

Page 22: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

IMPROVEMENTS SINCE ‘80S

• Disk capacity

• From 10s MB to several TB – orders of magnitude

• IBM built 120PB storage array

• Bandwidth

• 50X

Page 23: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

Maximilien Brice, © CERN

Page 24: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

DATA CENTERS

• Distributed Servers

• Distributed data centers

• geographically separated

• Robust if failure

• Dynamic datacenter so can increase as needed

Page 25: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

LARGE DATA CENTERS

• Although Google is famous for innovating web searching, Google’s architecture as much a revolution

• Instead of few expensive servers, use many cheap servers ($5000 instead of $100,000)

• 1/2M servers in ~ 12 locations)

Page 26: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

DATA CENTERS• Redundancy

• Redundancy is the key to the success of clouds

• Google approach – cheap components that fail, so replicate all processing and storage

• Efficiency

• Utilization

• Management

• Virtualization

Page 27: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

These public clouds are great, but what if an organization wants to build their own local cloud?

27

Page 28: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

LOCAL CLOUD ARCHITECTURESIAAS

• Local Cloud?• Small to medium sized

• What resources would we need to do this?• Compute Servers

• Persistent Storage Servers

• VM Image Server(s)

• Cloud Administrative Server(s)

• Network Infrastructure• Copper

28

Page 29: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

LOCAL CLOUD ARCHITECTURESIAAS

• Compute Servers• CPU, RAM, Local disk (magnetic, SSD) resources given to the user.

• In the form of virtual machines.

• Hosts virtual machines using a hypervisor• Software that creates and run virtual machines

• Xen, KVM, ESXi

• Grid VGX

• Hybrid approach to hypervisor selection is common.• Windows

• Linux

• Mac OS X

29

Page 30: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

LOCAL CLOUD ARCHITECTURESIAAS

• Persistent Storage Servers• What they are:

• VMs hosted on the compute servers are stateless.

• What they do:

• Used for long term storage of data.

• Virtual Machine Image Server• Modified Persistent Storage Server.

• Repository of available VM images.

30

Page 31: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

LOCAL CLOUD ARCHITECTUREIAAS ARCHITECTURE

31

Page 32: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.
Page 33: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

QUESTIONS TO ANSWER THIS SEMESTER

1.IS CLOUD COMPUTING JUST A BUSINESS MODEL AND NOT A COMPUTING MODEL?

2.IS THERE ANYTHING NEW IN CLOUD COMPUTING OR IS IT JUST DISTRIBUATED COMPUTING WITH A DIFFERENT NAME?

3.IS IT REALLY ALL ABOUT MONEY??

Page 34: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

CLOUD COMPUTING CHARACTERISTICS

• So what are its characteristics?• Described as: On-demand computing, pay as you go,

software as a service, utility computing• Usually costs, but cost-effective• Virtualization• Scalable (expand on current hardware)• Elastic (dynamically add hardware as needed)• Distributed and highly parallel approach• Emphasizes availability • Replication, replication, replication …

Page 35: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

VIRTUALIZATION• What is virtualization? Rea

• Software implementation of a computer that executes programs like a physical machine

• Installation of one machine runs on another

• All software runs on a server within virtual machine

• AMD-Virtualization and Intel Virtualization Technologies (IVT) extensions made it possible

• Why is it useful?

• Abstracts hardware so software stacks can be deployed without tied to specific physical server

Page 36: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

VIRTUALIZATION• Can

• Share computer among multiple users

• Run applications and different operating systems on same machine

• Isolate users from each other and control program

• Emulate software and/or hardware for the guest os

• Full virtualization

• First appeared in 1967 with IBM CP-40 system

• Complete installation of one machine runs on another

• emulate entire system

Page 37: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

VIRTUALIZATION

• Virtual Machine VM

• isolated guest OS installation within a normal host OS

• Runs on top of the OS of the server machine

• Object of deployment

• Virtual Machine Image –

• Static data containing software (OS, apps, data files) the VM will run once started

• Used to create VM instance

• Typically stored on disk

• Virtual Machine Instance –

• Running virtual machine

• Started from image, runs OS and processes, computes, etc.

• dynamic object you can interact with

• snapshot of a VM at a given time

Page 38: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

VIRTUALIZATION• Hypervisor – Virtual Machine Manager VMM

• One level higher than supervisory program

• Installed directly on server hardware or run within an OS

• Easily create copies of existing environments

• Can exist on same servers or different machines

• Single server multiple OS instances, minimize CPU idle time

Hardware

Operating System

App App App

Traditional Stack

Hardware

OS

App App App

Hypervisor

OS OS

Virtualized Stack

Page 39: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

VIRTUALIZATION

• Application needs a VM on which to run in a cloud

• Application will be associated with that VM

• Entire user interface resides in single window

• Provide all facilities of OS inside a browser

• Program must continue running even as number of users grows

• Communication model is many-to-many

Page 40: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

CLOUD COMPUTING CHARACTERISTICS

• So what are its characteristics?• Described as: On-demand computing, pay as you go, software as a service,

utility computing

• Usually costs, but cost-effective

• Virtualization

• Scalable (expand on current hardware)

• Elastic (dynamically add hardware as needed)

• Distributed and highly parallel approach

• Emphasizes availability

• Replication, replication, replication …

Page 41: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

CLOUD COMPUTING CHARACTERISTICS

• So what are its characteristics?• Described as: On-demand computing, pay as you go, software as a service,

utility computing

• Usually costs, but cost-effective

• Virtualization

• Scalable (expand on current hardware)

• Elastic (dynamically add hardware as needed)

• Distributed and highly parallel approach

• Emphasizes availability

• Replication, replication, replication …

Page 42: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

THE RESULT OF CLOUDS:DIFFERENT COMPUTING MODEL

Software-as-a-Service (SaaS)

Infrastructure-as-a-Service (IaaS)

Platform-as-a-Service (PaaS)

Page 43: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

CLOUD SERVICE MODELS

• Software as a Service (SaaS)

• Applications, management and user interfaces provided over a network

• Platform as a Service (PaaS)

• Application development frameworks, operating systems and deployment frameworks

• Infrastructure as a Service (IaaS)

• Virtual computing, storage and network resource that can be provisioned on demand

Page 44: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

IAAS• Infrastructure as a Service (IaaS) – aka

Hardware as a Service (HaaS) and Utility computing

• Why buy machines when you can rent resources?

• Utility computing billing – based on what used

• Provides basic storage and compute capabilities as server

• Servers, storage systems, CPU cycles, switches, routers, etc.

Page 45: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

IAAS• Does not provide applications to customers (SaaS

and PaaS do)

• Saves cost of purchasing

• Infrastructure can be scaled up or down

• Multiple tenants can use equipment at the same time – called multitenant

• Device independence – access systems on different hardware

• Low barriers to entry

Page 46: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

IAAS COMPONENTS

• Computer hardware – rented out, provider set up as a grid for scalability

• Network – hardware for firewalls, routers, etc.

• Internet connectivity so user can access hardware

• Allows clients to run the VM they want

Page 47: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

INFRASTRUCTURE-AS-A-SERVICE (IAAS)

Page 48: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

IAAS EXAMPLES

•Ex: Amazon’s EC2, e.g. Samba - Connecting to Cloud Storage as a Network Share

•Google Compute Engine

•Windows Azure VMs

Page 49: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

PAAS

• Customer interacts with platform through API

• Runtime services – allows application to leverage infrastructure

• Platform manages and scales

• Team collaboration, web service integration, database integration, security, scalability, storage, state management, versioning

Page 50: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

PAAS PROVIDES

• Development teams across world to work together

• Merge web services from multiple sources

• Cost savings from using built-in security, scalability and failover

• Cost-savings from using higher-level programming abstractions

Page 51: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

PROBLEMS WITH PAAS

• Vendors used proprietary services or languages – developer may be locked in

• Lack of portability and interoperability – if develop on one cloud, can’t move to another (unless pay …) – Lock-in

• What if provider goes out of business?

Page 52: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

• PaaS examples:

• Google App Engine

• Heroku

• RightScale

• Salesforce.com

Page 53: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

SAAS

•Software as a Service (SaaS) – web based applications

• Just run it for me!

• Software available on cloud for use

• Application hosted as a service to customers who access via the internet

• Single instance runs and services multiple end users

Page 54: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

SAAS

• Pros/Cons

• Customer doesn’t have to maintain or support SW

• Out of customer’s hands when hosting service changes it

• Use software out of box

• Instead of just paying for its once, billed

• Don’t have to pay as much up front, cheaper more reliable

Page 55: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

•SaaS examples:

• Gmail

• Dropbox

• Microsoft Office 365

Page 56: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

FUTURE OF SAAS

• Move all processing power to the cloud and carry ultralight input device

• Already happening?

• E-mail

• Google Docs

• OnLive*

• Implications for Microsoft, software as purchasable local application

• Windows Live (Microsoft’s cloud)

• Adobe web based photoshop

*Bought by Sony

Page 57: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

IAAS, PAAS, SAAS

Page 58: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

IN SUMMARY - IAAS, PAAS, SAAS

• With IaaS

• Provider doesn’t know what you are going to do with HW

• Just ask for resources, including OS (VMs)

• So you can specify how many machines, how many VMs per machine, etc.

• Can create your own PaaS, or SaaS on IaaS

Page 59: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.

IAAS, PAAS, SAAS

• With PaaS

• Ask for specific web services, DBs, etc.

• Restricted to using only those, can modify only within constraints of platform

• System decides what hardware and how many VMs you get, e.g. scaling

• With SaaS

• Just say which software and you use it

Page 60: INTRODUCTION TO CLOUD COMPUTING. “Computation may someday be organized as a public utility.” - John McCarthy, 1961 2.