• No results found

Cloud computing: the state of the art and challenges. Jānis Kampars Riga Technical University

N/A
N/A
Protected

Academic year: 2021

Share "Cloud computing: the state of the art and challenges. Jānis Kampars Riga Technical University"

Copied!
28
0
0

Loading.... (view fulltext now)

Full text

(1)

Cloud computing: the state

of the art and challenges

Jānis Kampars

Riga Technical University

(2)

Presentation structure

• Enabling technologies

• Cloud computing defined

• Dealing with load in cloud

computing

• Service & deployment models

• Architecting applications for the

cloud

• Challenges

(3)

Enabling technologies

• Utility computing

• Distributed computing

• Service oriented architecture

• Virtualization

• Autonomic computing

(4)

Utility computing

• A business model more than a technology

– No need to build data centers, purchase

licenses, servers

– No up-front expenses

– Rent the service provided by 3rd party

• ~1961, John McCarthy, American scientist

said:

«If computers of the kind I have advocated

become the computers of the future, then

computing may someday be organized as a

public utility, just as the telephone system...»

(5)

Electricity supply

• In 1900s most factories had private generators

• Technological evolution made central supply a reality

• Private generators were abandoned in favor of central supply

• Computing shows a similar trend today

© Nicholas Carr, 2006.

(6)

Distributed computing

• Uses multiple independent components that are perceived as a single entity and are trying to achieve one global goal

• Allow to share and utilize resources efficiently

• Clusters

– ~1980

– Power of commodity machines combined to solve complex problems

– Underutilized

• Grids

– ~1990

– Evolution of cluster computing

– Dynamic aggregation of geographically dispersed heterogeneous computing nodes

• SETI (Search for Extraterrestrial Intelligence) has more than 5 million users

– QoS is an issue

(7)

Service oriented architecture

• Build applications (mashups) from services

• Characteristics of a web service

– Platform-agnostic – use them from anywhere – Implementation abstraction

– Self-describing

– Loosely coupled and reusable

– QoS – response time, availability, scalability

• Most popular WS architectural styles

– Representation state transfer (REST)

• Easier to implement

• Less limiting for developers

– Simple Object Access protocol (SOAP)

• Well standardized - Web Service Description Language (WSDL), WS-Security, WS*

• More complex to implement

(8)

Virtualization

Hardware Hypervisor Virtual machine

OS Application

Virtual machine

OS Application

Virtual machine

OS Application

(9)

Advantages of virtualization

• Run multiple OS on a single server

• High level server utilization

– Most traditional servers are only 15% loaded – Improve energy efficiency, reduced carbon

emissions

• Efficient network-attached storage usage

– Thin provisioning

• VMs are provisioned in much less time

• Isolation & mobility

– Applications can be isolated in VMs

– Failure of one virtual machine doesn’t affect others

– Easily move VMs from one server to another

(10)

Autonomic computing

• Systems should manage themselves (with

high-level guidance from humans)

– Monitoring probes

– Adaption engine

• Features of autonomic system

– Self-configuration

– Self-optimization

– Self-healing

– Self-protection

• Very important for large data center

automation

(11)

Cloud computing defined (I)

• Often confused with previously mentioned

technologies, although it’s a broader term

• Definition by NIST:

– 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

(12)

Cloud computing defined (II)

• Definition by Buyya et al.:

– A cloud is a type of parallel and distributed

system consisting of a collection of

interconnected and virtualized computers

that are dynamically provisioned and

presented as one or more unified computing

resources based on service-level

agreements established through negotiation

between the service provider and consumers.

(13)

Characteristics of CC

• Cloud provider & cloud consumer

• Service-level agreements (SLA)

• On demand self-service – acquire the resources through management interface

• Ubiquitous access – as far as you are connected to Internet, you can use your cloud resources, data centers located in many countries

• Resource pooling – millions of concurrent users can be supported (Skype - 60 millions)

• Rapid elasticity – scale up or down when required in a matter of minutes

• Metered service – pay-per-use (Salesforce, AWS)

(14)

Virtual machine Virtual machine

CC general architecture

Hardware Hypervisor Virtual machine

OS Application

Virtual machine Virtual machine Virtual machine

OS Application

Virtual machine Virtual machine Virtual machine

OS Application

Hardware Hypervisor

Hardware Hypervisor

Cloud Computing platform

(15)

Dealing with varying load -

traditional approach

Time Computing

power

Initial power

Power shortage Power surplus

Losses due to dropped requests

Underutilized resources

Available power

Actual number of requests

(16)

Dealing with varying load –

CC approach

Time Computing

power

Initial power

Scale-up in small steps

Computing power Number of requests

Scale-down when needed

Start small (>=2 nodes)

(17)

Most suitable load scenarios

Time

Load

Time

Load

Time

Load

Time

Load

Periodic with possible downtime Modeling software, sending out the newsletter

Periodic

Submission of annual income declaration

Continiously changing

Continiously growing web site Unpredictable

11. September and CNN news page

(18)

CC service models

• Cloud services can categorized as

– Infrastructure as a Service (IaaS)

– Platform as a Service (PaaS)

– Software as a Service (SaaS)

(19)

IaaS

• Virtualized resources

• Most common of all service models

• On-demand provisioning (based on load)

• Almost any system can be deployed in

IaaS (at least using a single node)

Pay-per-use (based resource size and

uptime)

• Hardware managed by provider

• OS and programs managed by consumer

• Examples – disk space, virtual machines

• Examples – Dropbox, AWS

• Target audience – administrators,

developers

(20)

PaaS

• A platform used to deploy applications

– Virtual machine might be still used

• Not all systems can be deployed using PaaS

• Already available components like persistent

file storage, database, load balancers and

queues are provided

• Limited options to choose programing

language and development environment

• Vendor lock-in

• HW, OS, runtime managed by provider

• Software managed by consumer

• Examples – Google App Engine

• Target audience - developers

(21)

SaaS

• A software deployed in the cloud

• Typically accessible through browser

or thin client

• Charged based on number of users

• Provider manages HW, OS, runtime

and application

• Examples – Office 365, Salesforce,

Adobe Creative Cloud

• Target audience - users

(22)

CC Deployment models (I)

• Private cloud

– CC infrastructure built for a single

enterprise

– Next step of evolution of corporate

data center

• Community cloud

– Infrastructure shared by similar

organizations (government,

universities)

(23)

CC Deployment models (II)

• Public cloud

– CC infrastructure publicly available

– Easy to develop and deploy apps

• Hybrid cloud

– A mix of above mentioned models

– Non-crucial parts are deployed to public

cloud, while most critical ones are in

private cloud

– Cloud bursting – when reaching certain

load threshold, requests are served by

public cloud

(24)

Architectural differences

• Self-hosted traditional application

• Cloud native application deployed in

AWS

(25)

Self-hosted application

© AWS

(26)

Cloud-hosted application

© AWS

(27)

Challenges (I)

• IaaS – how many resources to

provision and for how long

• Security – infrastructure for data

processing is owned by someone else

• Legal issues – data storage location

and jurisdiction

– You might be asked to store data in your

country, but where will the data end up?

– How can U.S. enforcer get data from U.S.

Company that stores it in EU based

cloud?

(28)

Challenges (II)

• Development of cloud native

applications and migration of existing

ones to the cloud

– Stateless nodes

– Distributed computing

• Compatibility between different cloud

providers

– Cloud Computing Interoperability Forum

(CCIF) works on Unified Cloud Interface

(UCI)

– Open Virtual Format (OVF) – packaging

of virtual machine (virtual applicances)

References

Related documents

 A model for on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort or

• In a large, nationally representative study of acute myocardial infarction care in Western medicine hospitals throughout China, use of traditional Chinese medicine for

specification fire appliance pump is capable to delivering 4 bars pressure at a firefighting branch when supplied through four lengths of British standard BS 6391:1983 45 mm, 51 mm

shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned with minimal management effort

Menghadirkan suatu wadah / sarana yang dapat memfasilitasi jasa transportasi udara yang lebih diminati oleh para pengguna atau pengunjung yang mana tak hanya sebagai

networks, servers, storage, applications and services, that can be rapidly provisioned and released with minimal management effort or service provider interaction.” 6

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

Cloud computing is a model for enabling on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with