Applying Architectural Patterns for the Cloud:
Lessons Learned During Pattern Mining and Application
Ralph Retter (Daimler TSS GmbH) ralph.retter@daimler.com Christoph Fehling (University of Stuttgart, Germany)
Applying Architectural Patterns for the Cloud: Lessons Learned - - PowerPoint PPT Presentation
Applying Architectural Patterns for the Cloud: Lessons Learned During Pattern Mining and Application Ralph Retter (Daimler TSS GmbH) ralph.retter@daimler.com Christoph Fehling (University of Stuttgart, Germany) Problem We need to do Cloud
Lessons Learned During Pattern Mining and Application
Ralph Retter (Daimler TSS GmbH) ralph.retter@daimler.com Christoph Fehling (University of Stuttgart, Germany)
Problem We need to do Cloud Computing!
We never did it like this before! We have always done it like this before! Where will we end, if everybody did it like that?
public private resource sharing hybrid SLA
location messaging
virtualization community
business scale collaboration
storage compute availability provider network
process
multi-tenancy data center
architecture business model platform tooling management
dynamic
2
Cloud Computing Architectural Patterns A Structured Approach
patterns mined at different enterprises by different people!
3
The Reason
Why did we mine the patterns?
4
We need to do Cloud! Typical Resulting Questions
deploy a sample application in my favorite public cloud?“
5
What Happens Next…
bottom up approach
6
Cloud Infrastructure
Typical Result of Bottom Up
Applications Server Server Server Server Server Server
(Virtual) Infra- structure
Applications Server Server Server Server Server Server
Virtual Infra- structure
Business Process Business Process
7
What You Really Want
Cloud Infrastructure Applications Server Server Server Server Server Server Applications Server Server Server Server Server Server Business Process Business Process
(Virtual) Infra- structure Infra- structure
Cloud native applications
8
The Approach
What we learned by mining and applying the patterns, and what they are good for!
9
Real Requirements != We need to do Cloud!
10
Better Questions (Requirement Driven)
properties of underlying applications?
can they deal with:
and pay per use?
to support these applications?
11
Top Down Approach
top down
12
How To Use the Patterns
illustrative example - the coffee shop
13
Requirements of Illustrative Example:
the time of the day
14
Traditional Small Coffee Shop Architecture
Coffee Shop Guy who
You Coffee Machine Blender
15
Cloud-Based Bigger Coffee Shop Architecture
You Coffee Shop Guy who
Coffee Machine Blender Coffee Shop Guy who
Coffee Machine Blender
16
Example: Cloud Native Application Coffee-Shop Architecture
Cashier counter Pick-up counter
Correlation Token (name)
You
„invoice“ Cash +name
Yummy Sweets Order (cup with correlation token) Complex processing
Notification With correlation token Enjoy! Pick up With correlation token
Elastic Web Frontend / Apps Elastic Complex Business Logic Message Queuing Data Store
Adapted from: Gregor Hohpe: Your Coffee Shop Doesn‘t Use Two-Phase Commit, IEEE Software 2005
17
Cloud-Native Bigger Coffee Shop Architecture
Coffee Shop Barista You Cashier Coffee Machine Blender Barista Order Queue Output Queue Coffee Machine Blender
18
Example Pattern: 3-Tier Cloud Native Application
Required Services @ Cloud Provider
Elastic Load Balancer Elastic Platform High-Available Message Oriented Middleware Elastic Infrastructure Scalable, High Available Data Store Elastic Queue
read
19
Requirements on Cloud Platform / Infrastructure Requirements resulting from Application Design
Environment-based availability Node-based availability
20
Some More Lessons Learned
implications
– Decision to trade towards higher availability and eventual consistency has impact on business processes!
their workload
transactions in backend
transaction models in backend
21
Top-Down Approach + Pattern Map
Cloud Native Applications Application Components Composite (Hybrid) Cloud Applications Workload Patterns Application Development & Management Integration Multi-Tenancy Infrastructure & Platform Offerings (Network, Compute, Storage) & their Properties Fundametal Architecture
22
Pattern Format
Title tle = Unique Name Intent nt = Purpose and Goal Icon to use in Diagrams Driving Question Context: When is this pattern applicable Solution: Brief escription how problem is solved Sketch: Big Picture how Pattern works Result: Detailed description of solution and its results Related Patterns: Links to other patterns Known Uses: Publicly Accessible Services, Solutions, Descriptions… that implement the pattern
23
Cloud Computing Patterns - Summary
http://cloudcomputingpatterns.org
communication functionality
Provide runtime functionality
Characterize the environment
Composite Cloud Applications Cloud Computing Fundamentals Cloud Offerings Cloud Application Architectures Cloud Application Management Not all Cloud Computing Patterns are new! Many existing patterns can be transferred or simply used in the area of cloud computing.
24
Questions?
http://cloudcomputingpatterns.org
ralph.retter@daimler.com
25