a generic architecture for developing cloud applicationsltahvild/courses/... · a generic...
TRANSCRIPT
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
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
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
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
Classic IT problem Solution: managed cloud
From http://www.rightscale.com 5 ECE 750 - Presentation I - G1 07/07/2010
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
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
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
Platform-as-a-Service
Software-as-a-service
Infrastructure-as-a-Service
Where are we?
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
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
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
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
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
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
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
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
17 ECE 750 - Presentation I - G1 07/07/2010
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