a generic architecture for developing cloud applicationsltahvild/courses/... · a generic...

18
A Generic Architecture for Developing Cloud Applications Mohammad Hamdaqa, Tassos Livogiannis Group 1 Department of Electrical and Computer Engineering University of Waterloo ECE750 Topic 5 – Spring 2010 Project supervisor: Ladan Tahvildari {mhamdaqa, livtasos}@uwaterloo.ca July 7, 2010 1 ECE 750 - Presentation I - G1 07/07/2010

Upload: others

Post on 18-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Generic Architecture for Developing Cloud Applicationsltahvild/courses/... · A Generic Architecture for Developing Cloud Applications Mohammad Hamdaqa, Tassos Livogiannis Group

A Generic Architecture for

Developing Cloud Applications

Mohammad Hamdaqa, Tassos Livogiannis Group 1

Department of Electrical and Computer Engineering University of Waterloo

ECE750 Topic 5 – Spring 2010 Project supervisor: Ladan Tahvildari

{mhamdaqa, livtasos}@uwaterloo.ca

July 7, 2010

1 ECE 750 - Presentation I - G1 07/07/2010

Page 2: A Generic Architecture for Developing Cloud Applicationsltahvild/courses/... · A Generic Architecture for Developing Cloud Applications Mohammad Hamdaqa, Tassos Livogiannis Group

Outline

• Introduction – What is cloud computing?

– Key benefits

– Classic IT problem / managed cloud

• Project description – Motivation

– Problem

– Contribution / Expected results

• Methodology

07/07/2010 ECE 750 - Presentation I - G1 2

Page 3: A Generic Architecture for Developing Cloud Applicationsltahvild/courses/... · A Generic Architecture for Developing Cloud Applications Mohammad Hamdaqa, Tassos Livogiannis Group

What is Cloud Computing?

• Virtually infinite computing resources

• Provisioned on-demand

• Pay per use

• Available over the internet – “in the cloud”

3 ECE 750 - Presentation I - G1 07/07/2010

Page 4: A Generic Architecture for Developing Cloud Applicationsltahvild/courses/... · A Generic Architecture for Developing Cloud Applications Mohammad Hamdaqa, Tassos Livogiannis Group

Key Benefits

• Business agility

• Cost reduction – Reuse, Reuse, Reuse (AS A SERVICE)

– Reduce Time To Market

– Provisioning time from 35000 to 30 minutes [Lilly, David Powers]

• Reliability & Flexibility – Disaster recovery

– Redundancy

4 ECE 750 - Presentation I - G1 07/07/2010

Page 5: A Generic Architecture for Developing Cloud Applicationsltahvild/courses/... · A Generic Architecture for Developing Cloud Applications Mohammad Hamdaqa, Tassos Livogiannis Group

Classic IT problem Solution: managed cloud

From http://www.rightscale.com 5 ECE 750 - Presentation I - G1 07/07/2010

Page 6: A Generic Architecture for Developing Cloud Applicationsltahvild/courses/... · A Generic Architecture for Developing Cloud Applications Mohammad Hamdaqa, Tassos Livogiannis Group

Motivation

• Vendor Lock-in

– What is the reason behind cost reduction?

• Elasticity and portability

– Many providers (MS, Google, SalesForce)

– Different cloud platforms

• Virtual Machine

• API

• PSM that is not suitable for generic design

• Similar Concepts (virtual machines, persistence)

6 ECE 750 - Presentation I - G1 07/07/2010

Page 7: A Generic Architecture for Developing Cloud Applicationsltahvild/courses/... · A Generic Architecture for Developing Cloud Applications Mohammad Hamdaqa, Tassos Livogiannis Group

Problem

• Lack of modeling language, to model cloud applications

• Lack of cloud computing standards

• Lack of vocabulary and design patterns

7 ECE 750 - Presentation I - G1 07/07/2010

Page 8: A Generic Architecture for Developing Cloud Applicationsltahvild/courses/... · A Generic Architecture for Developing Cloud Applications Mohammad Hamdaqa, Tassos Livogiannis Group

Project contribution

• Providing a generic cloud architecture, that provides stakeholders with the basic components for modeling and developing cloud applications, Independent of the platform

• Generating a profile for cloud architecture using the eclipse modeling framework (EMF)

• Using the architecture to design a cloud application

• Using the generated profile to generate a skeleton code for a sample cloud application

8 ECE 750 - Presentation I - G1 07/07/2010

Page 9: A Generic Architecture for Developing Cloud Applicationsltahvild/courses/... · A Generic Architecture for Developing Cloud Applications Mohammad Hamdaqa, Tassos Livogiannis Group

Platform-as-a-Service

Software-as-a-service

Infrastructure-as-a-Service

Where are we?

Page 10: A Generic Architecture for Developing Cloud Applicationsltahvild/courses/... · A Generic Architecture for Developing Cloud Applications Mohammad Hamdaqa, Tassos Livogiannis Group

Methodology Study Current Cloud

Platforms

Extract Main Cloud Components

Define the Relation between Cloud Components

Draw the Generic Cloud Architecture

Building a UML Profile for The Cloud Architecture

Design a Case Study

Generate Skeleton Code

10 ECE 750 - Presentation I - G1 07/07/2010

Page 11: A Generic Architecture for Developing Cloud Applicationsltahvild/courses/... · A Generic Architecture for Developing Cloud Applications Mohammad Hamdaqa, Tassos Livogiannis Group

Methodology (1/6) Study Current Cloud

Platforms

Extract Main Cloud Components

Define the Relation between Cloud Components

Draw the Generic Cloud Architecture

Building a UML Profile for The Cloud Architecture

Design a Case Study

Generate Skeleton Code

11 ECE 750 - Presentation I - G1 07/07/2010

Page 12: A Generic Architecture for Developing Cloud Applicationsltahvild/courses/... · A Generic Architecture for Developing Cloud Applications Mohammad Hamdaqa, Tassos Livogiannis Group

Methodology (2/6) Study Current Cloud

Platforms

Extract Main Cloud Components

Define the Relation between Cloud Components

Draw the Generic Cloud Architecture

Building a UML Profile for The Cloud Architecture

Design a Case Study

Generate Skeleton Code

•Not regular components •Not regular services •Special types of services •Has its own characteristics

o Size of VM o Number of instances o Back end or web service o Endpoints o Certificates o Miscellaneous properties

12 ECE 750 - Presentation I - G1 07/07/2010

Page 13: A Generic Architecture for Developing Cloud Applicationsltahvild/courses/... · A Generic Architecture for Developing Cloud Applications Mohammad Hamdaqa, Tassos Livogiannis Group

Methodology (3/6) Study Current Cloud

Platforms

Extract Main Cloud Components

Define the Relation between Cloud Components

Draw the Generic Cloud Architecture

Building a UML Profile for The Cloud Architecture

Design a Case Study

Generate Skeleton Code

•Types of relation ships •How different cloud components intercommunicate

oEx. What is the relationship between back end services and web services

13 ECE 750 - Presentation I - G1 07/07/2010

Page 14: A Generic Architecture for Developing Cloud Applicationsltahvild/courses/... · A Generic Architecture for Developing Cloud Applications Mohammad Hamdaqa, Tassos Livogiannis Group

Methodology (4/6) Study Current Cloud

Platforms

Extract Main Cloud Components

Define the Relation between Cloud Components

Draw the Generic Cloud Architecture

Building a UML Profile for The Cloud Architecture

Design a Case Study

Generate Skeleton Code

14 ECE 750 - Presentation I - G1 07/07/2010

TwitterClient

Twitter

End

po

int

FeedPresenter

End

po

int

ViewsSelection En

dp

oin

t

Internet

Cloud

Ex. How can a Generic Architecture capture the scenario below:

FeedProcessor

End

po

int

Page 15: A Generic Architecture for Developing Cloud Applicationsltahvild/courses/... · A Generic Architecture for Developing Cloud Applications Mohammad Hamdaqa, Tassos Livogiannis Group

Methodology (5/6) Study Current Cloud

Platforms

Extract Main Cloud Components

Define the Relation between Cloud Components

Draw the Generic Cloud Architecture

Building a UML Profile for The Cloud Architecture

Design a Case Study

Generate Skeleton Code

15 ECE 750 - Presentation I - G1 07/07/2010

Page 16: A Generic Architecture for Developing Cloud Applicationsltahvild/courses/... · A Generic Architecture for Developing Cloud Applications Mohammad Hamdaqa, Tassos Livogiannis Group

Methodology (6/6) Study Current Cloud

Platforms

Extract Main Cloud Components

Define the Relation between Cloud Components

Draw the Generic Cloud Architecture

Building a UML Profile for The Cloud Architecture

Design a Case Study

Generate Skeleton Code

16 ECE 750 - Presentation I - G1 07/07/2010

Page 17: A Generic Architecture for Developing Cloud Applicationsltahvild/courses/... · A Generic Architecture for Developing Cloud Applications Mohammad Hamdaqa, Tassos Livogiannis Group

17 ECE 750 - Presentation I - G1 07/07/2010

Page 18: A Generic Architecture for Developing Cloud Applicationsltahvild/courses/... · A Generic Architecture for Developing Cloud Applications Mohammad Hamdaqa, Tassos Livogiannis Group

References [1] M. Armbrust, A. Fox, R. Griffith, A.D. Joseph, R.H. Katz, A. Konwinski, G. Lee, D.A. Patterson, A. Rabkin, I. Stoica, and others, “Above the clouds: A berkeley view of cloud computing,” EECS Department, University of California, Berkeley, Tech. Rep. UCB/EECS-2009-28, 2009. [2] J. Cała and P. Watson, “Automatic Software Deployment in the Azure Cloud,” Distributed Applications and Interoperable Systems, 2010, pp. 155-168. [3] G. Reese, Cloud Application Architectures, O'Reilly Media, 2009. [4] D.S. Linthicum, Cloud Computing and SOA Convergence in Your Enterprise: A Step-by-Step Guide, Addison-Wesley Professional, 2009. [5] T. Leveque, J. Estublier, and G. Vega, “Extensibility and Modularity for Model Driven Engineering Environments,” Proceedings of the 16th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems, 2009, pp. 305-314. [6] K. Czarnecki and S. Helsen, “Feature-based survey of model transformation approaches,” IBM Systems Journal, 2006. [7] S. Crawley, “Generating software from models,” Proceedings of the International Conference on Software Methods and Tools, 2000, pp. 233-239. [8] D. Thomas, “MDA: revenge of the modelers or UML utopia?,” IEEE Software Journal, vol. 21, pp. 15-17, 2004. [9] S. Kent, “Model Driven Engineering,” Integrated Formal Methods, Springer, 2002, pp. 286-29 [10] M. Brandel, “The Trouble with Cloud: Vendor Lock-in - CIO.com,” www.cio.com, Apr. 2009.

07/07/2010 ECE 750 - Presentation I - G1 18