The Client Side of Cloud Computing
SE aus Informatik, SS 2009
Mario Höfer, Gernot Howanitz
26. Mai 2009
1 Cloud Clients
Definition
Hardware Clients Software Clients Software Cloud Clients
2 Service Look-Up
Services and the Cloud Look-Up Strategies After Look-Up
3 Resumé 4 Literature
1 Cloud Clients
Definition
Hardware Clients Software Clients Software Cloud Clients
2 Service Look-Up
Services and the Cloud Look-Up Strategies After Look-Up
3 Resumé 4 Literature
Definition Cloud Client
A cloud client consists of computer hardware and/or computer software which relies on cloud computing for application delivery, or which is specifically designed for delivery of cloud services and which, in either case, is essentially useless without it. (Wikipedia: Cloud Client)
[I]nterface of the cloud to the common computer user through web browsers and thin computing terminals. (Youseff et al. 2008)
Hardware Clients
I Thick clients (e.g. desktop PC)
I Thin clients (e.g. CherryPal, OnLive hardware)
I Smartphone (e.g. iPhone, Android phone, Windows mobile phone)
Examples for Use
I Thick clients:
Amazon S3, EC2; Microsoft Live Mesh
I Thin clients:
OnLive MicroConsole
I Smartphones:
Sorts of Software Clients
From more desktop-related to more web-related
I Rich or fat clients
I Smart clients
I Web-applications/Thin Clients
Properties of Cloud Clients
I A client that has to be installed, is (mostly) lightweight
I The client moves the computational work to the cloud servers
I Often different ways to access the cloud
I Access can be different for users/user groups (administrator – end user)
Software Cloud Clients
I Web-based clients
I Client applications
I Application with cloud extension
Examples for Applications
I Web-based:
Salesforce.com Customer Relationship Management, Google Apps, Google Docs
I Client applications:
Microsoft Live Mesh application, Amazon EC2 command line tool
I Applications with cloud extension: MatLab, Mathematica
Cloud Client Issues
I For web-based clients often plugins necessary, but installation not everywhere possible
I No existing standards; clients will only work with their own cloud service
I Performance (delay, RTT)
I Security
1 Cloud Clients
Definition
Hardware Clients Software Clients Software Cloud Clients
2 Service Look-Up
Services and the Cloud Look-Up Strategies After Look-Up
3 Resumé 4 Literature
Services in the Cloud
I One key problem of the cloud: How to discover services?
I Why do we need service look-ups?
I They could improve self-adaptation, (e.g. in order to boost performance: vertical scaling, using better services, etc.)
I Definition problem: Services is a very broad term
Definition Problems Illustrated
A Tale of Clouds: Paradigm Comparisons and Some Thoughts on Research Issues
Cloud computing is a paradigm that focuses on sharing data and computations over a scalable network of nodes. Examples of such nodes include end user computers, data centers, and Web
services. (Mei et al. 2008, 1)
I Mei et al. compare cloud, service and pervasive computing
I Implication: Cloud computing is not service computing
Service Discovery in the Cloud
I Commonly used key phrases: Software as a Service (SaaS), Infrastructure as a Service (IaaS), Platform as a Service (PaaS) (cf Vaquero et al.)
I Assumption: Service discovery for IaaS/PaaS should not be too much of a problem
I SaaS is problematic
I Existing solution: Web Services
Web Services Look-Up
I Universal Description, Discovery and Integration (UDDI) by IBM, Microsoft, SAP – has been shut down
I White Pages (basic information), Yellow Pages (categorisation), Green Pages (interface information)
I UDDI Problems: No role-based access to services, no life cycle management
I Current example: http://www.seekda.com
I Basically, dynamically discovering a device is a semantic web problem
Example
Technical Pecularities
I Web Service is identified via Uniform Resource Identifier
I Web Service Definition Language (WSDL) based on XML
I Communication uses SOAP (formerly known as Simple Object Access Protocol)
I SOAP also based on XML
I SOAP uses TCP/IP
WSDL
Service Found. What Now?
A service can be defined as a highly cohesive software component, which requires minimum coupling wrapped by a service-level agreement which defines all the terms and conditions of its use. (Bennett et al.)
I TCB!
I Service ranking and selection
I Gaining additional (dynamic) meta data such as QoS for...
I ...meta-negotiating!
1 Cloud Clients
Definition
Hardware Clients Software Clients Software Cloud Clients
2 Service Look-Up
Services and the Cloud Look-Up Strategies After Look-Up
3 Resumé 4 Literature
Resumé
I Software client classified in 3 categories:
web-based, application, software with extension into the cloud
I No client standards or general definitions
I Depending on the service type, service look-up can be problematic
1 Cloud Clients
Definition
Hardware Clients Software Clients Software Cloud Clients
2 Service Look-Up
Services and the Cloud Look-Up Strategies After Look-Up
3 Resumé 4 Literature
Literature
I Bennett, Layzell, Budgen et al. 2000. Service-Based
Software: The Future for Flexible Software, in Proceedings of the 2000 IEEE Asia-Pacific Software Engineering Conference.
http://www.co.umist.ac.uk/~pjl/publications/
APSEC2000.pdf.
I Mei, Chan, Tse. 2008. A Tale of Clouds: Paradigm
Comparisons and Some Thoughts on Research Issues, in Proceedings of the 2008 IEEE Asia-Pacific Services Computing Conference.
I Vaquero, Rodero-Merino, Caceres et al. 2009. A Break in the Clouds: Towards a Cloud Definition, in ACM SIGCOMM Computer Communication Review, 39:1/2009.
Additional Literature
I Armbrust, Fox, Griffith et al. 2009. Above the Clouds: A Berkeley View of Cloud Computing. http://www.eecs.
berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.pdf.
I Buyya, Yeo, Venugopal. 2009. Market-Oriented Cloud Computing: Vision, Hype, and Reality for Delivering IT Services as Computing Utilities.
http://arxiv.org/pdf/0808.3558.
I Jarke, Stetter. 2005. Realization Strategies for Rich Clients by Web Services, 4/2005,
http://www-i5.informatik.rwth-aachen.de/
lehrstuhl/staff/chatti/theses/kingkarn/thesis.pdf.
I Youseff, Butrico, Da Silva. 2008. Toward a Unified Ontology of Cloud Computing.
http://www.cs.ucsb.edu/~lyouseff/resume.htm.