cloud computing dr. peter depasquale the college of new jersey computer science

53
Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Upload: veronica-fox

Post on 11-Jan-2016

219 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Cloud Computing

Dr. Peter DePasqualeThe College of New JerseyComputer Science

Page 2: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

OverviewIntroduction to cloud computingIntroduction to Amazon Web Services (AWS)Hands-On portion

Work with your own virtual server (via my AWS account)Execute AWS sample Java programs that use

Simple Storage Service (S3) Simple Email Service (SES) DynamoDB (NoSQL service) Execute PHP-based address book application

Page 3: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Introduction to Cloud Computing

Page 4: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Introduction to Cloud ComputingMajor players include

Page 5: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Introduction to Cloud ComputingMajor users include products / companies such as

Page 6: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Old School

Page 7: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

New School

Page 8: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Wikipedia on AWSAmazon Web Services (abbreviated AWS) is a collection of

remote computing services (also called web services) that together make up a cloud computing platform, offered over the Internet by Amazon.com.

The most central and well-known of these services are Amazon EC2 and Amazon S3. The service is advertised as providing a large computing capacity (potentially many servers) much faster and cheaper than building a physical server farm. - http://en.wikipedia.org/wiki/Amazon_Web_Services

Page 9: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Amazon’s History with respect to the cloud

Some early services from 2002+

XML/SOAP capability to query products, prices, etc. to include to your web site

~2006 post holiday sales: capacity > demand

Resell services (storage, network, computation, email, etc.)

Page 10: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Overview of AWS services32+ services in 5 service areas (see

http://aws.amazon.com/products/)

Compute & Networking

Storage & Content Delivery Network (CDN)

Database

Deployment and Management

Application Services

Page 11: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Overview of AWS services5 service areas

Compute & Networking

EC2, Auto Scaling, Auto Load Balancing, Elastic Map Reduce

Storage & Content Delivery Network (CDN)

S3, Glacier, Elastic Block Store

Database

Relational Database Service, DynamoDB, Redshift, ElastiCache

Page 12: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Overview of AWS services5 service areas

Deployment and Management

Identity and Access Management, Cloud Watch, Elastic Beanstalk, Cloud Formation, Data Pipeline

Application Services

Simple Email Service, Simple Queue Service, Simple Notification Service, Cloud Search, Flexible Payments Service, Elastic Transcoder

Page 13: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

AWS services – EC2Amazon Elastic Compute Cloud (EC2)

“…is a web service that provides resizable compute capacity in the cloud. It is designed to make web-scale computing easier for developers.”

Virtual Servers

Various configurations (O/S, memory, CPUs)

Pay for what you use – computing power/time & bandwidth (outbound)

Pricing: micro instances (613 MB memory, up to 2 cores): $0.02 / hr

Page 14: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

AWS services – EC2Elastic Compute Cloud (EC2)

”…3,809 compute instances, each with 8 cores and 7GB of RAM, for a total of 30,472 cores, 26.7TB of RAM and 2PB (petabytes) of disk space. Security was ensured with HTTPS, SSH and 256-bit AES encryption, and the cluster ran across data centers in three Amazon regions in the United States and Europe.” – ArsTechnica (9/2011, http://goo.gl/lJ2AL)

Created for a “Top 5 Pharma” companyThe cost? $1,279 per hour

Page 15: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

AWS services – S3Simple Storage Service (S3)

“…provides a simple web services interface that can be used to store and retrieve any amount of data, at any time, from anywhere on the web.”

Designed to provide 99.99% durability and 99.99% availability of objects over a given year

Pricing: $0.095 / GB / month for first 1TB, data transfer, request pricing (get, put, copy, list…)

Page 16: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

AWS services – SESSimple Email Service (SES)

“…is a highly scalable and cost-effective bulk and transactional email-sending service for businesses and developers.”

Pricing from:First 2,000 emails free each day from EC2 / elastic

beanstalk$0.10 / thousand emails$0.12 / GB of attachmentsSubject to data transfer (outbound) pricing

Page 17: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

AWS services – DYNAMODBDynamoDB

“…is a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability.”

Hash table built on solid state drives (SSD)

Pricing from:

Write: $0.0065 / hour for every 10 units of write (1 write/sec of 1KB)

Read: $0.065 / hour for every 50 units of read (1 read/sec of 1KB)

First 100MB of storage per month is free, $1.00 / GB thereafter

Subject to data transfer (outbound) pricing

Page 18: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Accessing the ServicesWeb-based AWS “console”

Various APIs for programmatic use Java .NET / Visual Studio PHP Python Rails Node.JS iOS Android

Page 19: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Amazon’s TopologyAWS is broken across 10 geographic “regions”

around the world.

These 10 regions are placed in distinct areas: North America South America Europe/Middle East/Africa Asia Pacific

Page 20: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Amazon’s TopologyAWS Regions

US East (Virginia) US West (No. California) US West (Oregon) GovCloud (US Northwest) São Paulo EU (Ireland) Asia Pacific (Singapore) Asia Pacific (Sydney) Asia Pacific (Tokyo) Asia Pacific (Beijing)

Page 21: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Amazon’s TopologyAWS Regions

Each region is housed in a single country and all data and services stay within the region

Regions are on different tectonic plates

Each region has multiple “availability zones” – data centers

Availability zones (AZs) are distinct and isolated from each other; prevents outages from crossing zones

Page 22: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Amazon’s TopologyAWS Regions

Some services (S3, DynamoDB) operate across availability zones

Some services can be configured to replicate across zones to spread demand and avoid downtime

Page 23: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

A Word About CostsEach service has it’s own cost(s); see the product page for

detail.

Costs really do go down, not up!

Costs vary by region based on hardware, power, personnel, etc.

Grants $100 per student when used for a class Academic grants for research

Free Tier…

Page 24: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Free Tier12 months of limited free service for new users

Examples 1 EC2 micro instance 24x7 (750 hrs / mo.) (Windows or Linux) 750 hrs of load balancer 30GB Elastic Block Storage (EBS; block device) 1,000,000 Simple Queue (SQS) requests / mo. 5GB Simple Storage Service (S3) / mo. 15GB Data Transfer (outbound) / mo. 2,000 email messages sent / day And more…

Page 25: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

CONCLUDING THOUGHTSCloud computing is changing how companies

develop and deploy applications - web-based and otherwise

Pay for what you use

Scale up or down based on demand

Great for startups

Cheap storage!

Page 26: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

CONCLUDING THOUGHTSAmazon has a robust offering of services

“5 years ahead of everyone else”

Broad API to use for Java, PHP, JavaScript, .NET, iOS, Python, Ruby, Android

Platform lock-in?Alternative: OpenStack

Many alternatives in space (Dell, Microsoft, HP, Rackspace, …)

Page 27: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Chapter 1 – Introduction

27Cloud Computing: Theory and Practice. Chapter 1

Page 28: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Network-centric computing

Information processing can be done more efficiently on large farms of computing and storage systems accessible via the Internet. Grid computing – initiated by the National Labs in the early 1990s; targeted

primarily at scientific computing. Utility computing – initiated in 2005-2006 by IT companies and targeted at

enterprise computing.

The focus of utility computing is on the business model for providing computing services; it often requires a cloud-like infrastructure.

Cloud computing is a path to utility computing embraced by major IT companies including: Amazon, HP, IBM, Microsoft, Oracle, and others.

28

Cloud Computing: Theory and Practice. Chapter 1

Page 29: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Network-centric content

Content: any type or volume of media, be it static or dynamic, monolithic or modular, live or stored, produced by aggregation, or mixed.

The “Future Internet” will be content-centric.

The creation and consumption of audio and visual content is likely to transform the Internet to support increased quality in terms of resolution, frame rate, color depth, stereoscopic information.

29

Cloud Computing: Theory and Practice. Chapter 1

Page 30: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Network-centric computing and content Data-intensive: large scale simulations in science and engineering

require large volumes of data. Multimedia streaming transfers large volume of data.

Network-intensive: transferring large volumes of data requires high bandwidth networks.

Low-latency networks for data streaming, parallel computing, computation steering.

The systems are accessed using thin clients running on systems with limited resources, e.g., wireless devices such as smart phones and tablets.

The infrastructure should support some form of workflow management.

Cloud Computing: Theory and Practice. Chapter 1

30

Page 31: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Evolution of concepts and technologiesThe concepts and technologies for network-centric computing and

content evolved along the years. The web and the semantic web - expected to support composition of

services. The web is dominated by unstructured or semi-structured data, while the semantic web advocates inclusion of sematic content in web pages.

The Grid - initiated in the early 1990s by National Laboratories and Universities; used primarily for applications in the area of science and engineering.

Peer-to-peer systems. Computer clouds.

Cloud Computing: Theory and Practice. Chapter 1

31

Page 32: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Cloud computingUses Internet technologies to offer scalable and elastic services.

The term “elastic computing” refers to the ability of dynamically acquiring computing resources and supporting a variable workload.

The resources used for these services can be metered and the users can be charged only for the resources they used.

The maintenance and security are ensured by service providers.

The service providers can operate more efficiently due to specialization and centralization.

32

Cloud Computing: Theory and Practice. Chapter 1

Page 33: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Cloud computing (cont’d)Lower costs for the cloud service provider are passed to the cloud

users.

Data is stored: closer to the site where it is used. in a device and in a location-independent manner.

The data storage strategy can increase reliability, as well as security, and can lower communication costs.

Cloud Computing: Theory and Practice. Chapter 1

33

Page 34: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Types of clouds

Public Cloud - the infrastructure is made available to the general public or a large industry group and is owned by the organization selling cloud services.

Private Cloud – the infrastructure is operated solely for an organization.

Community Cloud - the infrastructure is shared by several organizations and supports a community that has shared concerns.

Hybrid Cloud - composition of two or more clouds (public, private, or community) as unique entities but bound by standardized technology that enables data and application portability.

Cloud Computing: Theory and Practice. Chapter 1

34

Page 35: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

The “good” about cloud computing

Resources, such as CPU cycles, storage, network bandwidth, are shared.

When multiple applications share a system, their peak demands for resources are not synchronized thus, multiplexing leads to a higher resource utilization.

Resources can be aggregated to support data-intensive applications.

Data sharing facilitates collaborative activities. Many applications require multiple types of analysis of shared data sets and multiple decisions carried out by groups scattered around the globe.

35

Cloud Computing: Theory and Practice. Chapter 1

Page 36: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

More “good” about cloud computing

Eliminates the initial investment costs for a private computing infrastructure and the maintenance and operation costs.

Cost reduction: concentration of resources creates the opportunity to pay as you go for computing.

Elasticity: the ability to accommodate workloads with very large peak-to-average ratios.

User convenience: virtualization allows users to operate in familiar environments rather than in idiosyncratic ones.

Cloud Computing: Theory and Practice. Chapter 1

36

Page 37: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Why cloud computing could be successful when other paradigms have failed?

It is in a better position to exploit recent advances in software, networking, storage, and processor technologies promoted by the same companies who provide cloud services.

It is focused on enterprise computing; its adoption by industrial organizations, financial institutions, government, and so on could have a huge impact on the economy.

A cloud consists of a homogeneous set of hardware and software resources.

The resources are in a single administrative domain (AD). Security, resource management, fault-tolerance, and quality of service are less challenging than in a heterogeneous environment with resources in multiple ADs.

37

Cloud Computing: Theory and Practice. Chapter 1

Page 38: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Challenges for cloud computing

Availability of service; what happens when the service provider cannot deliver?

Diversity of services, data organization, user interfaces available at different service providers limit user mobility; once a customer is hooked to one provider it is hard to move to another. Standardization efforts at NIST!

Data confidentiality and auditability, a serious problem.

Data transfer bottleneck; may applications are data-intensive.

38

Cloud Computing: Theory and Practice. Chapter 1

Page 39: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

More challengesPerformance unpredictability, one of the consequences of resource

sharing. How to use resource virtualization and performance isolation for QoS

guarantees? How to support elasticity, the ability to scale up and down quickly?

Resource management; are self-organization and self-management the solution?

Security and confidentiality; major concern.

Addressing these challenges provides good research opportunities!!

Cloud Computing: Theory and Practice. Chapter 1

39

Page 40: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Cloud Computing: Theory and Practice. Chapter 1

40

Delivery models

Infrastructure as a Service (IaaS)

Software as a Service (SaaS)

Platform as a Service (PaaS)

Deployment models

Private cloud

Hybrid cloud

Public cloud

Community cloud

Defining attributes

Massive infrastructure

Accessible via the Internet

Utility computing. Pay-per-usage

Elasticity

Cloud computing

Resources

Networks

Compute & storage servers

Services

Applications

InfrastructureDistributed infrastructure

Resource virtualization

Autonomous systems

Page 41: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Cloud delivery models

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Cloud Computing: Theory and Practice. Chapter 1

41

Page 42: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Software-as-a-Service (SaaS)

Applications are supplied by the service provider.

The user does not manage or control the underlying cloud infrastructure or individual application capabilities.

Services offered include: Enterprise services such as: workflow management, group-ware and

collaborative, supply chain, communications, digital signature, customer relationship management (CRM), desktop software, financial management, geo-spatial, and search.

Web 2.0 applications such as: metadata management, social networking, blogs, wiki services, and portal services.

Not suitable for real-time applications or for those where data is not allowed to be hosted externally.

Examples: Gmail, Google search engine.

Cloud Computing: Theory and Practice. Chapter 1

42

Page 43: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Platform-as-a-Service (PaaS)

Allows a cloud user to deploy consumer-created or acquired applications using programming languages and tools supported by the service provider.

The user: Has control over the deployed applications and, possibly, application hosting

environment configurations. Does not manage or control the underlying cloud infrastructure including

network, servers, operating systems, or storage.

Not particularly useful when: The application must be portable. Proprietary programming languages are used. The hardware and software must be customized to improve the performance

of the application.

Cloud Computing: Theory and Practice. Chapter 1

43

Page 44: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Infrastructure-as-a-Service (IaaS)

The user is able to deploy and run arbitrary software, which can include operating systems and applications.

The user does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of some networking components, e.g., host firewalls.

Services offered by this delivery model include: server hosting, Web servers, storage, computing hardware, operating systems, virtual instances, load balancing, Internet access, and bandwidth provisioning.

Cloud Computing: Theory and Practice. Chapter 1

44

Page 45: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Cloud Computing: Theory and Practice. Chapter 1

45

Facilities

Hardware

Core

connectivity

Abstraction

API

Software as a Service

Facilities

Hardware

Core

connectivity

Abstraction

API

Integration and middleware

Data Metadata

Applications

API

Presentation

Infrastructure as a Service

Facilities

Hardware

Core

connectivity

Abstraction

API

Integration and middleware

Platform as a Service

Page 46: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Cloud activities necessary to support 3 delivery models

Service management and provisioning including:Virtualization. Service provisioning. Call center.Operations management. Systems management. QoS management. Billing and accounting, asset management. SLA management.Technical support and backups.

Cloud Computing: Theory and Practice. Chapter 1

46

Page 47: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Cloud activities necessary to support 3 delivery models

Security management including: ID and authentication.Certification and accreditation. Intrusion prevention. Intrusion detection. Virus protection. Cryptography. Physical security, incident response. Access control, audit and trails, and firewalls.

Cloud Computing: Theory and Practice. Chapter 1

47

Page 48: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Cloud activities necessary to support 3 delivery models

Customer services such as: Customer assistance and on-line help. Subscriptions. Business intelligence. Reporting. Customer preferences. Personalization.

Integration services including: Data management. Development.

Cloud Computing: Theory and Practice. Chapter 1

48

Page 49: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

NIST cloud reference model

Cloud Computing: Theory and Practice. Chapter 1

49

Carrier

Security

Privacy

Service Consumer BrokerService Provider

Auditor

Security audit

Privacy impact audit

Performance audit

Service Management

Business support

Provisioning

Portability/Interoperability

IAASIaaS

SaaS

Service Layer

PaaS

Carrier

Hardware

Facility

Physical resource layer

Resource abstraction and

control layer

Intermediation

Aggregation

Arbitrage

Page 50: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Ethical issues

Paradigm shift with implications on computing ethics: The control is relinquished to third party services. The data is stored on multiple sites administered by several

organizations. Multiple services interoperate across the network.

Implications Unauthorized access. Data corruption. Infrastructure failure, and service unavailability.

Cloud Computing: Theory and Practice. Chapter 1

50

Page 51: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

De-perimeterisation

Systems can span the boundaries of multiple organizations and cross the security borders.

The complex structure of cloud services can make it difficult to determine who is responsible in case something undesirable happens.

Identity fraud and theft are made possible by the unauthorized access to personal data in circulation and by new forms of dissemination through social networks and they could also pose a danger to cloud computing.

Cloud Computing: Theory and Practice. Chapter 1

51

Page 52: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Privacy issues

Cloud service providers have already collected petabytes of sensitive personal information stored in data centers around the world. The acceptance of cloud computing therefore will be determined by privacy issues addressed by these companies and the countries where the data centers are located.

Privacy is affected by cultural differences; some cultures favor privacy, others emphasize community. This leads to an ambivalent attitude towards privacy in the Internet which is a global system.

Cloud Computing: Theory and Practice. Chapter 1

52

Page 53: Cloud Computing Dr. Peter DePasquale The College of New Jersey Computer Science

Cloud vulnerabilities

Clouds are affected by malicious attacks and failures of the infrastructure, e.g., power failures.

Such events can affect the Internet domain name servers and prevent access to a cloud or can directly affect the clouds:

in 2004 an attack at Akamai caused a domain name outage and a major blackout that affected Google, Yahoo, and other sites.

in 2009, Google was the target of a denial of service attack which took down Google News and Gmail for several days;

in 2012 lightning caused a prolonged down time at Amazon. XMAS eve 2012 – ELBs failed (see

http://techblog.netflix.com/2012/12/a-closer-look-at-christmas-eve-outage.html)

Cloud Computing: Theory and Practice. Chapter 1

53