117
Intro to Cloud Computing

Intro to Cloud Computing. Source:

Embed Size (px)

Citation preview

Page 1: Intro to Cloud Computing. Source:

Intro to Cloud Computing

Page 2: Intro to Cloud Computing. Source:

Source: http://www.free-pictures-photos.com/

Page 3: Intro to Cloud Computing. Source:

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

thing– Cloud Computing first used in 1996

• Presentation by Compaq Computer Company

– Name cloud inspired by cloud symbol representing internet in diagrams

– Amazon popularized idea of the cloud

Page 4: Intro to Cloud Computing. Source:

What is Cloud Computing?

• But what is it?• Everyone has a different opinion on what it is• Is it trendy?

• “The computer industry is the only industry that is more fashion-driven than women’s fashion”

– Larry Ellison

Page 5: Intro to Cloud Computing. Source:

Questions to answer

• What clouds have you used today (yesterday)?

Page 6: Intro to Cloud Computing. Source:

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 7: Intro to Cloud Computing. Source:

Questions to answer

• What is a cloud?

Page 8: Intro to Cloud Computing. Source:

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 9: Intro to Cloud Computing. Source:

Cloud Computing Hands On Approach• 1st five NIST definition:

– On-demand self-service – no interaction with provided needed– Broad network access – over network using standard access, platform indep.– Resource pooling – virtual resources– Rapid elasticity – scales horizontal (number) or vertical (capacity)– Measured service – usage charge based on metric

– Performance - improvement– Reduced cost– Outsourced management – IT infrastructure, software– Reliability – 99.99% uptime guarantee– Multi-tenancy – virtual: computing and storage resources shared

organic: every component shared | OS, DB servers, etc.

– Ease of utilization (no licenses), QOS, simplified, low barrier to entry

Page 10: Intro to Cloud Computing. Source:

What is Cloud Computing?

• Cloud is a metaphor for the internet • Internet is:

Page 11: Intro to Cloud Computing. Source:

What Motivated Cloud Computing

Initial motivation: – Web-scale problems

Solutions: – Large data centers

How to access:– Highly-interactive Web applications (thin client)

Next Step: – Different models of computing

Page 12: Intro to Cloud Computing. Source:

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 13: Intro to Cloud Computing. Source:

How much data?• Google processes over 100 PB a day; 3M servers• PB = 1,000,000,000,000,000 bytes• CERN’s LHC generates 15 PB a year • Facebook – 300 PB + growing at 600TB per day; 35% of

world’s photos• 25 TB

1000 times volume of mail delivered by USPS

• Sloan Digital Sky Survey – 0.5 PB /month in 2015• “all words ever spoken by human beings” • ~ 5 EB – 1018

• LARGE data is the next frontier

Page 14: Intro to Cloud Computing. Source:

For the cloud user - 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 15: Intro to Cloud Computing. Source:

Applications

• 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 16: Intro to Cloud Computing. Source:
Page 17: Intro to Cloud Computing. Source:

Clouds

• Allow access to applications other than on local computer or internet connected deviceBut Only as long as have internet connection

Page 18: Intro to Cloud Computing. Source:

Potential Problems

• Internet connection

• Cloud site failure

• Sensitive information

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

Page 19: Intro to Cloud Computing. Source:

Cloud Components

• 3 components– Clients– Datacenter– Distributed servers

Page 20: Intro to Cloud Computing. Source:

Cloud Components• Clients

– Mobile• Phones, PDAs

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

info

– Thick• Laptops, web browsers

– Which is the best?• Thin - lower costs, security, power consumption, easy

to replace, less noise

Page 21: Intro to Cloud Computing. Source:

Data Center

• Data Center– Collection of servers– In large room in your building– Servers distributed across the world

Page 22: Intro to Cloud Computing. Source:

Improvements since ‘80s

• Disk capacity – From 10s MB to several TB – orders of magnitude– IBM built 120PB storage array

• Latency– 2X

• Bandwidth– 50X

Page 23: Intro to Cloud Computing. Source:

Solution: Large Data Centers• Web-scale problems? Throw more machines at it!• Decades ago – computing power in mainframes in computer

rooms• Personal computers changed that• Now, network data centers with centralized computing are

back in vogue• In the future businesses will not need to invest in a data

center

Page 24: Intro to Cloud Computing. Source:

Maximilien Brice, © CERN

Page 25: Intro to Cloud Computing. Source:

Data Centers

• Distributed Servers– Distributed data centers

• geographically disparate• Robust if failure• Dynamic datacenter so can increase as needed

Page 26: Intro to Cloud Computing. Source:

Large Data Centers• Although Google 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)

• With thin, wide network– Derive more from scale of the whole than any one

part – no hub• Cloud – robust and self-healing

– Uses a lot of power• Need cheaper power solutions

Page 27: Intro to Cloud Computing. Source:

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 28: Intro to Cloud Computing. Source:

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 29: Intro to Cloud Computing. Source:

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 30: Intro to Cloud Computing. Source:

Virtualization• What is virtualization? Read: KVM paper

– 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 doable• Why is it useful?

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

Page 31: Intro to Cloud Computing. Source:

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 on another

machine• Full virtualization

– First appeared in 1967 with IBM CP-40 system– Complete installation of one machine runs on another– emulate entire system

Page 32: Intro to Cloud Computing. Source:

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 33: Intro to Cloud Computing. Source:

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 34: Intro to Cloud Computing. Source:

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 35: Intro to Cloud Computing. Source:

Virtualization

• Virtual Appliance – pre-configured virtual machine that includes software partially or fully configured to perform a specific task

• Built to host a single application• VMs are deployed – copy image from

Appliance Library to machine (hypervisor) with specific Virtual Appliance configuration

Page 36: Intro to Cloud Computing. Source:

Paravirtualization

• Virtualization may not be efficient• Paravirtualization instead

– Doesn’t emulate entire system like in full (e.g. BIOS, drive)

– uses resources efficiently– OS adjusted to work in virtual machine– Better performance, only emulate some elements

Page 37: Intro to Cloud Computing. Source:

Tux -Linux penguin

Windows

Correction:80%

Page 38: Intro to Cloud Computing. Source:

Paravirtualization• Better scaling,

– New deployment now available– Allows multiple OS to run on a single hardware device at

same time• but, sacrifices security and flexibility

– Software running inside VM is limited to the resources and abstractions provided by VM

– Guest OS has control of underlying hardware– Cannot break out of environment

• Best deployed when– Disaster recovery, Migration to new system, Capacity

increases

Page 39: Intro to Cloud Computing. Source:

Full vs para?

• Seems like full virtualization is still dominant• If guest OS is same as host OS, can share the

kernel• Windows runs unmodified as a guest OS, but

paravirtualization open-source drivers are being developed

Page 40: Intro to Cloud Computing. Source:

Amazon• Amazon Machine Images (AMI) use 2 types of

virtualization:– Paravirtual PV – Hardware Virtual Machine HVM

• Only Linux AMIs can us PV– Used to have better performance than HVM but

no longer true• Linux and Windows AMIs can use HVM

– Same as if OS run on a bare metal machine– Take advantage of hardware extension to provide

fast access to underlying hardware on host

Page 41: Intro to Cloud Computing. Source:

Amazon

• PV used to perform better – used special drivers for I/O avoiding overhead of emulating network and disk hardware

• HVM had to translate to emulate hardware• Now PV drivers available for HVM guests• OS like Windows can get advantages in storage

and network I/O by using them• http://

docs.aws.amazon.com/AWSEC2/latest/UserGuide/virtualization_types.html

Page 42: Intro to Cloud Computing. Source:

Amazon

• Micro instance doesn’t imply more paravirtualization

Page 43: Intro to Cloud Computing. Source:

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 44: Intro to Cloud Computing. Source:

Scalable

• Use what you need– Hardware, platform (OS), software

• Cloud computing is not one-size-fits-all• Company has a temporary surge in business,

use cloud instead of invest in new computing equipment

(because of virtualization)

Page 45: Intro to Cloud Computing. Source:

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 46: Intro to Cloud Computing. Source:

Elastic

• Cloud infrastructure used depends on application– Only need one server to run small job OR– Massive number of servers needed

• ELASTIC – unlimited resources• Cloud provider keeps adding hardware to

satisfy your demand

Page 47: Intro to Cloud Computing. Source:

• Sun white paper:"Introduction to Cloud Computing Architecture"

Page 48: Intro to Cloud Computing. Source:

The Result of Clouds:Different Computing Model

Software-as-a-Service (SaaS)

Infrastructure-as-a-Service (IaaS)

Platform-as-a-Service (PaaS)

“Why do it yourself if you can pay someone to do it for you?”

Page 49: Intro to Cloud Computing. Source:

IaaS

• Infrastructure as a Service (IaaS) – aka Hardware as a Service (HaaS) and Utility computing– Why buy machines when you can rent cycles?– Utility computing billing – based on what used– Provides basic storage and compute capabilities as

server• Servers, storage systems, CPU cycles, switches,

routers, etc.

Page 50: Intro to Cloud Computing. Source:

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 51: Intro to Cloud Computing. Source:

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 52: Intro to Cloud Computing. Source:

Questions/Problems

• How do you use this hardware?• If they provide the hardware and software to

use it, is it no longer IaaS?• If you want to use their servers, do you have

to create your own VM? Do they have VMs available?

Page 53: Intro to Cloud Computing. Source:

Comment

• If you create your own VMs, etc. This is not easy …

Page 54: Intro to Cloud Computing. Source:

IaaS Examples

– Look for IaaS, get cost estimates• Ex: Amazon’s EC2, e.g. Samba - Connecting to

Cloud Storage as a Network Share (low barriers to entry)

Page 55: Intro to Cloud Computing. Source:

SLA– Service level agreements between provider and client –

SLA• The specific parameters, minimum levels required for each

element of the service, remedies for failure to meet requirements.• Affirms ownership of data stored on the service provider’s system,

specifies your rights to get it back.• System infrastructure and security standards to be maintained by

the service provider, your rights to audit their compliance.• Specifies your rights and cost to continue and discontinue using

the service.• http://www.techradar.com/us/news/internet/cloud-services/four-

things-to-know-about-cloud-slas-1157019

Page 56: Intro to Cloud Computing. Source:

PaaS

• Platform as a Service (PaaS) aka cloudware– Give me nice API and take care of the implementation– Supplies all resourced needed to build apps and services

without having to download or install software– Provides a computing platform and solution stack

• E.g for web application need OS, web server, DB, prog language• Provides support to create user interfaces (HTML, Javascript)• Provides automatic facilities for concurrency management,

scalability, failover, and security

– Services include:• app design, development, testing, deployment, hosting

Page 57: Intro to Cloud Computing. Source:

PaaS

– Customer interacts with platform through API– Layer of software encapsulated provided as service to

build higher level services– 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 58: Intro to Cloud Computing. Source:

PaaS• Supports web development interfaces

– SOAP (simple object access protocol), REST (Representational state transfer), allow construction of multiple web services (mashups)

– Interfaces able to access DBs, reuse services• Options:

– Add-on development facilities• Stand-alone environments for general development• Customize SaaS applications• Application delivery-only environments for hosting level

services (e.g. security, on-demand scalability) not development, debugging and testing

Page 59: Intro to Cloud Computing. Source:

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 60: Intro to Cloud Computing. Source:

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 61: Intro to Cloud Computing. Source:

Zimki

– Zimki hosted JavaScript environment• One of the original PaaS around 05-06

– Announced 9/2007 would close 12/2007– Wanted to go open source, but parent company

had other ideas– Interesting blog by former CEO

Page 62: Intro to Cloud Computing. Source:

• Look for Examples of PaaS, costs• Ex: Google Apps Engine

Page 63: Intro to Cloud Computing. Source:

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 64: Intro to Cloud Computing. Source:

SaaS

• Good candidates for SaaS:– Simple task with little interaction with other

systems– Customers who want high powered apps but do

not want to develop• Customer resource management CRM• Video conferencing• IT service management• Accounting• Web analytics• Web content management

Page 65: Intro to Cloud Computing. Source:

SaaS

• Unlike earlier distributed computing tools, SaaS specifically to use web tools

• Built with multitenant• Can access from anywhere as long as have

internet• SaaS often used as a component of another

application – mashup or plugin

Page 66: Intro to Cloud Computing. Source:

Benefits to SaaS

• Everyone knows WWW, little training needed• Smaller IT staff needed• Easier to customize• Better marketing by providers, accommodate more• Web reliability• Security (SSL used), don’t need VPNs (Virtual private

networks on back-end)• More bandwidth – low latencies

Page 67: Intro to Cloud Computing. Source:

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– Stronger protection of intellectual property

(no more open source??)

Page 68: Intro to Cloud Computing. Source:

Obstacles to SaaS

• Specific computational need not addressed – may have to buy own

• Lock-in – can’t move to new vendor without penalty

• Open source and cheaper hardware

Page 69: Intro to Cloud Computing. Source:

Example Applications Benefiting

• Using Hadoop tool, open-source MapReduce– NY Times converted 11 M articles, images in

archive to PDF– Instead of 7 weeks, using Hadoop took 24 hours, <

$300• Animoto’s mashup tool – create videos from

set of images and music– Scaled from 50 to 3500 servers in 3 days– Application built to be horizontal

Page 70: Intro to Cloud Computing. Source:

• Look up Examples SaaS, costs• Ex: salesforce.com, Gmail

Page 71: Intro to Cloud Computing. Source:

Future of SaaS

• Move all processing power to the cloud and carry ultralight input device– Already happening?

• E-mail• Google Docs• Implications for Microsoft, software as purchasable

local application– Windows Live (Microsoft’s cloud)– Adobe web based photoshop

Page 72: Intro to Cloud Computing. Source:

IaaS, PaaS, SaaS

Page 73: Intro to Cloud Computing. Source:

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 74: Intro to Cloud Computing. Source:

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 75: Intro to Cloud Computing. Source:
Page 76: Intro to Cloud Computing. Source:

Impact on Software Developers

• WHAT IMPACT ON SW DEVELOPERS?• Developer:

– Chooses load balancer, DB server, Web server– configures each component to make custom

image– Chooses pattern for the images and deploys them– Secure high available Web application up and

running– Layers code into new architecture

Page 77: Intro to Cloud Computing. Source:
Page 78: Intro to Cloud Computing. Source:

Impact on Software Developers

• Layers code into new architecture

• Shifts responsibility for architecture decisions from architects to developers

• Developer creates initial composition on virtual machine using providers API– see how scales and evolves to accommodate workload

changes– Used to create new threads, now can create new virtual

machines– When do one versus the other?

Page 79: Intro to Cloud Computing. Source:

Types of Clouds

• Public, Private, Hybrid Clouds• Names do not necessarily dictate location• Type may depend on whether temporary or

permanent

Page 80: Intro to Cloud Computing. Source:

Public Clouds

• 3rd party , applications from different customers mixed together

• Typically hosted away from customer premises

Page 81: Intro to Cloud Computing. Source:
Page 82: Intro to Cloud Computing. Source:

Private Cloud

• Built for exclusive use of one client – utmost control over data, service, QOS

• Company owns infrastructure – may be located at enterprise or at colocation

• Built and managed by enterprise IT or cloud provider

Page 83: Intro to Cloud Computing. Source:
Page 84: Intro to Cloud Computing. Source:

• Can create a virtual private data center for single client within public cloud– Located in same facility

Page 85: Intro to Cloud Computing. Source:

Hybrid Cloud

• Combine both private and public models• Augment private cloud with public resources

– Good for surge computing– How to distribute data across both– Best for smaller data

Page 86: Intro to Cloud Computing. Source:
Page 87: Intro to Cloud Computing. Source:

Community Clouds

• Shares infrastructure among several organizations from specific community with same concerns

• Hosted Internally or externally• Can be managed internally or by 3rd party• Cost spread over members of community

Page 88: Intro to Cloud Computing. Source:

Public Cloud Providers - Amazon

• Amazon– One of the first to offer cloud services to public

• Elastic Compute Cloud EC2 – VM and CPU cycles– Which as a service? – IaaS

• Simple Storage Service S3– Store items up to 5GB

• Simple Queue Service (SQS)– Allows machines to talk to each other using message passing

API– Which as a service?– PaaS

Page 89: Intro to Cloud Computing. Source:

Amazon• Simple DB

– Web service for running queries on structured data in RT– Works with S3 and EC2 to store, process, query

– Use command line to use Linux, now has an interface

– Root privilege – Applications written on own machine and

uploaded to cloud– http://aws.amazon.com

Page 90: Intro to Cloud Computing. Source:

Public Cloud Provider - Google• Google

– App Engine• Offers online documents and spreadsheets, developers

can build features for these and other online SW using app engine

• Web apps reduced to core set of features and good framework for delivering them

• Can’t even write file in own directory• Removed file write feature out of Python

Page 91: Intro to Cloud Computing. Source:

Google

• Must use Google’s DB to store data• Write a layer of python between user and DB• Which as a service?• PaaS • Handy debugging features

• http://code.google.com/appengine/

– Cost?• http://cloud.google.com/pricing/

Page 92: Intro to Cloud Computing. Source:

Public Cloud Provider - Microsoft• Microsoft

– Windows Azure• Service hosting, low-level scalable storage, networking• Operating System that allows clients to run Windows

apps and store files and data• Which as a service?• IaaS

Page 93: Intro to Cloud Computing. Source:

Microsoft– Azure Services Platform

• Developers can establish user identities, manage workflows, synchronize data

• Includes:– Windows Azure

• Microsoft SQL Services– DB services and reporting

• Microsoft NET Services– Service-based implementations of the .NET framework

• Live Services– To share, store and synchronize documents, photos, and files

• Microsoft Sharepoint Services and Dynamics CRM Services– For collaboration, solution development for business

• Which as a service?• PaaS

Page 94: Intro to Cloud Computing. Source:

Microsoft

• Browser-based Office – not all features?• http://www.windowsazure.com• Cost?

– http://www.windowsazure.com/en-us/pricing/calculator/

Page 95: Intro to Cloud Computing. Source:

When should you use Cloud (Public) Computing?

• Consider– Cost/benefit ratio– Speed of delivery– How much capacity will be used– Whether data is regulated– Organization’s corporate IT structure

Page 96: Intro to Cloud Computing. Source:

Public Cloud - Scenarios• Cloud Storage

– One of first cloud offerings– 100s of cloud storage vendors

• Compute clouds– Amazon EC2, Google App Engine, Berkeley Open

Infrastructure for Network Computing– May not be good for large organizations, do not

offer monitoring and governance capabilities– Amazon offers enterprise-class support

Page 97: Intro to Cloud Computing. Source:

Public Cloud - Scenarios

• Cloud Applications– Utilize software apps that rely on cloud

infrastructure• SaaS (Google Apps)• P2P (BitTorrent and Skype)• Web apps (Facebook and YouTube)• Software plus services (MS Online Services)

Page 98: Intro to Cloud Computing. Source:

When not to use a Cloud

• Server Control– If you need control over everything running, e.g.

amount of memory, CPU, hard drive specs or interfaces, cloud not for you

• Hardware Dependencies– If you need specific drivers, chips, etc.– Cloud may not have or may change chipsets in

future

Page 99: Intro to Cloud Computing. Source:

When not to use a Cloud

• Cost– Over time cloud may cost more

• Lack of need– If current solution OK, don’t worry about fashion

• Integration with existing apps– Should not have one locally and one on cloud

• Security, speed, reliability problems

• Latency Concerns– Slower in the cloud

Page 100: Intro to Cloud Computing. Source:

When not to use a Cloud

• Throughput Demands– Cost increases and throughput increases

• E.g. high def video over 100 sources

Page 101: Intro to Cloud Computing. Source:

When not to use a Cloud

• Legislative Issues– Laws and policy allow freer access to data on a cloud

than private server• FBI can access data without warrant or owner’s consent

• Geopolitical concerns– If in Canada, cannot store data on U.S. cloud – Why?

• (because of patriot act…)

– What about storing your data on clouds outside of USA?

Page 102: Intro to Cloud Computing. Source:

When not to use a Cloud

• Health data– HIPAA data could comingle on a server with

another organization’s data– Still - MS HealthValue and Google Health on the

way– Penalties: from AMA website

Page 103: Intro to Cloud Computing. Source:

Civil monetary penaltiesTier Penalty

1. Covered entity or individual did not know (and by exercising reasonable diligence would not have known) the act was a HIPAA violation.

$100-$50,000 for each violation, up to a maximum of $1.5 million for identical provisions during a calendar year

2. The HIPAA violation had a reasonable cause and was not due to willful neglect.

$1,000-$50,000 for each violation, up to a maximum of $1.5 million for identical provisions during a calendar year

3. The HIPAA violation was due to willful neglect but the violation was corrected within the required time period.

$10,000-$50,000 for each violation, up to a maximum of $1.5 million for identical provisions during a calendar year

4. The HIPAA violation was due to willful neglect and was not corrected.

$50,000 or more for each violation, up to a maximum of $1.5 million for identical provisions during a calendar year

Criminal penaltiesTier Potential jail sentence

Unknowingly or with reasonable cause Up to one year

Under false pretenses Up to five yearsFor personal gain or malicious reasons Up to ten years

Page 104: Intro to Cloud Computing. Source:

HHS Imposes a $4.3 Million Civil Money Penalty for HIPAA Privacy Rule ViolationsThe HHS Office for Civil Rights (OCR) has issued a Notice of Final Determination finding that a covered entity, Cignet Health of Prince George’s County, MD (Cignet), violated the Privacy Rule of the Health Insurance Portability and Accountability Act of 1996 (HIPAA).  HHS has imposed a civil money penalty (CMP) of $4.3 million for the violations, representing the first CMP issued by the Department for violations of the HIPAA Privacy Rule. The CMP is based on the violation categories and increased penalty amounts authorized by Section 13410(d) of the Health Information Technology for Economic and Clinical Health (HITECH) Act.

Page 105: Intro to Cloud Computing. Source:

Benefits

• Scalability• Simplicity – don’t have to configure new

equipment• Knowledgeable vendors• More internal resources – hire less people• Security – strict privacy policies, employ

proven cryptographic methods

Page 106: Intro to Cloud Computing. Source:

Limitations

• Certain applications not ready– Needs lot of bandwidth to communicate

(expensive)– Effort to integrate with other applications– Mashup– May not be compatible with variety browsers and

operate using SSL – Cannot communicate securely– SECURITY

Page 107: Intro to Cloud Computing. Source:

The same old things or New contributions?

• Different from previous models (Sun white paper):"Introduction to Cloud Computing Architecture"– Information technology as service over the

network– Services that are encapsulated, have API, available

over network (both compute and storage resources)

– Efficiency above all– Tools to handle 80% of use cases

Others?

Page 108: Intro to Cloud Computing. Source:

The same old things or New contributions?

– Can use own data center or clouds– Illusion resources are infinite– Predominant model – Infrastructure as a service

IaaS– Builds on established trends driving cost of

delivery– Increases speed and agility for sketching

application architecture to actual deployment– Virtualization, on-demand deployment, internet

delivery of services and open source software

Page 109: Intro to Cloud Computing. Source:

Different view on what is new about clouds

• Build on established practices, but changes how we– Invent, develop, deploy, scale, update, maintain

and pay for application and infrastructure

• See if you agree with this at the end of the semester

Page 110: Intro to Cloud Computing. Source:

Can you create your own local/private cloud?

• IaaS• Local – if stored in-house• Private – only used by enterprise• Everyone wants to be compatible with AWS EC2

(most popular public cloud)• APIs consistent with AWS API so can reuse tools,

images and scripts• 70% of "private clouds" aren't really clouds at all

Page 111: Intro to Cloud Computing. Source:

Open-source Clouds

• Open-source cloud wars - • Why do they all have “stack” in their name?

– Because are moving up the stack from layer 1 (physical) to layer 7 (applications) of the OSI (Open Systems Interconnection) model

• So how do they make money?• All of them use hypervisors

Page 112: Intro to Cloud Computing. Source:

Open-source Cloud - Hypervisors

• Hypervisors– KVM, Xen, Vmware, Oracle VM

• Run on a host OS, but can emulate using virtualization many guest OSs– E.g. KVM host must be Linux, but supports guest

OSs Linux, Windows, Solaris, BSD

Page 113: Intro to Cloud Computing. Source:

Open-source Cloud - Hypervisors

– KVM: host OS has to be Linux• Can’t use in older CPUs before virtualization extensions

– Xen: been around a lot longer• Can use on machines that don’t have virtualization

extensions• Currently better performance• EC2 uses Xen

– VMware• Geared towards performance

Page 114: Intro to Cloud Computing. Source:

Type 1 vs Type 2 hypervisors

• XenServer, HyperV Server are type 1, VMware workstation and VirtualBox are type 2

• KVM is a kernel module, but mostly type 2

Page 115: Intro to Cloud Computing. Source:

Open-source Clouds• OpenStack

– Started by Rackspace (storage files) and NASA in 2010– Both Ubuntu and Red Hat distributions– Hypervisors: KVM, Xen and VMware

• CloudStack being revived under Apache– OpenStack owner (Citrix) now own CloudStack (2009) and

dropped OpenStack– More “Amazon like”– Hypervisors: KVM, vSphere, XenServer, Oracle VM– Better for enterprises

Page 116: Intro to Cloud Computing. Source:

Open-source Clouds

• OpenNebula– Developed 2008 – European– Xen, KVM, Vmware– Interfaces: EC2, OGF OCCI, vCloud

• Nimbus– Developed 2009– EC2/S2 compatible– Xen, KVM– Combine with OpenStack, Amazon, others

Page 117: Intro to Cloud Computing. Source:

Open-source Clouds– Eucalyptus“Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems”

• Developed 2008• VMware, Xen, KVM• Ubuntu, Red Hat, RHEL, CentOS, Fedora, other flavors

of Linux• Only project based on GPL (GNU general SW license)

and not ASL (Apache SW license)• Implement AWS API on top of Eucalyptus• AWS agrees to support Eucalyptus, users can migrate

workloads between the two, applications compatible with both