Professional Documents
Culture Documents
the Cloud:
Problem
We need to do Cloud Computing!
multi-tenancy
elasticity
dynamic
tooling
provider
virtualization
PaaS
management
business model
data center
availability
platform
IaaS
have always
thissharing
before!
hybridWe SaaS
resource
public done it like
collaboration
cost SLA
pay-per-use
Where will we end, if everybody did private
it like that?
standardization
process
scale
community
outsourcing
location
messaging
business
architecture
compute
storage
The Reason
We need to do Cloud!
Typical Resulting Questions
"Which cloud infrastructure (provider) is the right one for our enterprise?
"Is this application suitable for the cloud?"
"Why isn't it as easy to deploy an application in our data center as it is to
deploy a sample application in my favorite public cloud?
Business Process
Application
Platform
Infrastructure
bottom up approach
Business Process
Business Process
Applications
Applications
Server
Server
Server
Server
Server
(Virtual)
Server
Server
Server
Server
Server
Server
Virtual
Server
Infrastructure
Infrastructure
Cloud Infrastructure
7
Business Process
Cloud native
applications
Applications
Applications
Server
Server
Server
Server
Server
(Virtual)
Server
Server
Server
Server
Server
Server
Server
Infra-
Infrastructure
structure
Cloud Infrastructure
8
The Approach
What we learned by mining and applying the patterns, and what they are
good for!
Example requirements:
Deal with dynamic load patterns without provisioning for peak-load
save money!
Make application deployments easier and faster
save time through standardization!
10
Better Questions
(Requirement Driven)
Business Process
Application
Platform
Infrastructure
top down
12
13
Functional
Make coffee-related specialities and sell them to walk-in customers
Non-functional requirements
Deal with varying amount of simultaneous customers according to
the time of the day
Maximize order throughput!
Keep lines as short as possible
14
Blender
Guy who
Takes order
Makes drink
Takes cash
You
15
Blender
Guy who
Takes order
Makes drink
Takes cash
Coffee Shop
Coffee
Machine
Blender
Guy who
Takes order
Makes drink
Takes cash
You
16
Data Store
Pick-up counter
Enjoy!
Pick up
With correlation
token
Cashier counter
Yummy Sweets
Elastic Web Frontend / Apps
Notification
With correlation
token
Correlation
Token
(name)
Cash
+name
Adapted from: Gregor Hohpe: Your Coffee Shop Doesnt Use Two-Phase Commit, IEEE Software 2005
invoice
You
order
17
Blender
Blender
Barista
Barista
Order Queue
Output Queue
Cashier
You
18
Elastic Platform
High-Available Message
Oriented Middleware
Elastic Infrastructure
Elastic Queue
19
vs.
Environment-based
availability
Node-based availability
20
Modularization!
Make sure you can scale different parts of your system according to
their workload
Seperate short-running transactions with the user from long-running
transactions in backend
Use asynchronous messaging and compensation-based
transaction models in backend
Resource Sharing!
21
Workload
Patterns
Multi-Tenancy
Integration
Application Components
Application
Development &
Management
Infrastructure & Platform Offerings (Network, Compute, Storage) & their Properties
22
Pattern Format
Title = Unique Name
Intent = Purpose and Goal
Icon to use in Diagrams
Driving Question
Cloud Offerings
Cloud Computing Fundamentals
Cloud Application
Management
http://cloudcomputingpatterns.org
Questions?
http://cloudcomputingpatterns.org
ralph.retter@daimler.com
25