Your Coffee Shop Uses Cloud Computing
M.A student : Ali Reza Khosh Zaban
In The Name Of Allah
What is the cloud? Where is the cloud? Are we in the cloud now?
• The cloud is just a metaphor for the Internet
• storing and accessing data and programs over the
Internet instead of your computer's hard drive
• Network Attached Storage (NAS)
• My Cloud
• cloud computing can be done anywhere, anytime.
Your Coffee Shop Uses Cloud Computing
• For fundamental cloud computing patterns, we
show that coffee shops similarly handle the five
design phases of cloud applications:
1. decomposition
2. Workload
3. data (state)
4. component refinement
5. elasticity and resiliency.
• In other words, you can experience all the design
phases first-hand by buying a coffee.
Phase 1: Decomposition
• Clouds are large distributed systems providing
resources for computation, communication,
and storage.
• The best practice for decomposing application
functionality is captured by the distributed
application pattern.
the distributed application pattern
• This pattern summarizes three decomposition
strategies
1. Layer‐based decomposition
• for example, user interface , processing , and data handling layers
2. Process‐based decomposition
• such as the Business Process Execution Language (BPEL) or Business
Process Model and Notation (BPMN).
3. pipes‐and‐filters-based decomposition
• The coffee shop uses the third decomposition strategy
• user interface, coffee processing, and special processing for frozen coffee
Phase 2: Workload
• The workload the application experiences
substantially affects its development after
decomposition
• Logical application components are commonly
grouped and assigned to multiple tiers.
for example, to multiple virtual servers
• In a Cloud environnent, tiers can commonly
scale independently.
Five workload patterns
• Static workload
• Periodic workload
• Once‐in‐a‐lifetime workload
• Unpredictable workload
• Continuously changing workload
In Your Coffee Shop
• In the coffee shop, the user group generates
periodic workload
• Peaks occur in the morning when customers
start their day, and in the afternoon when
school is out.
• the severity of the peaks differs significantly
due to the processing complexity.
• The result queue rarely needs to store a lot of
finished products.
Phase 3: Data (State)
• As a prerequisite :
1. The location where data are stored
2. Data consistency are extremely important
• We differentiate two types of state:
1. Session state
for example, a shopping basket in an online shop
2. Application state
such as the customer data, the currently processed orders
Phase 3: Data (State)
• Strict consistency
Data is stored at different locations to improve response times
and avoid loss in case of failures, while replica consistency is
ensured at all times
• Eventual consistency
Performance and data availability during network partitioning
are enabled by ensuring data consistency eventually and not at
all times.
In Your Coffee Shop
1. Session state
Where is my coffee?
Where is the coffee for Chris?
2. Application state
Coffee, Chai, Mocha,…
3. Eventual consistency
It will be ready in about five minutes.
lie a little bit as the business case allows.
Phase 4: Component Refinement
• We must refine the application’s functional
aspects
1. User interface component
Handle the synchronous interaction with human users
2. Processing component
Functionality is made configurable to support different customer requirements.
Processing component in a coffee shop
• How the application can handle these
processing requests by keeping them in a
queue and spreading them among multiple
processing components.
• Baristas will take cups from the request
queue, handle the order, and put the finished
coffee in the result queue.
Your Coffee Shop / Your cloud
• Coffee shop employees aren’t as flexible as
most cloud resources. Calling them to come
to work and sending them home every few
minutes would be impractical
• Therefore, coffee shops usually
ensure that employees can fulfill
different roles:
baristas can help out as employees at cash registers and
vice versa.
Phase 5: Elasticity and Resiliency
• The last design phase for cloud applications
considers how components are provisioned
and decommissioned to meet the current
workload and cope with failures.
• For elastic scalability, IT architects must first
determine the current workload and reflect it
by adjusting resource numbers
Availability using the following two patterns
1. Node‐based availability
A cloud provider guarantees that individual nodes are available
such as individual virtual servers, middleware components, or hosted
application components.
2. Environment‐based availability
A cloud provider guarantees that the environment hosting individual nodes
such as virtual servers or hosted application components , will be available.
• Through redundancy, the application’s availability can
increase.
Scalability and resiliency are also
important in the coffee shop
• Number of customers
• Coffee cups awaiting processing
• Node‐based availability The coffee machine
• Environment‐based availability The overall set of employees
• Fail
number of workers
Sickness
Restroom breaks
Deterioration of the machine
And so on
References
• Your Coffee Shop Uses Cloud Computing
Christoph Fehling, Frank Leymann, and Ralph Retter • University of Stuttgart
• www.cpmag.com

Cloud computing

  • 1.
    Your Coffee ShopUses Cloud Computing M.A student : Ali Reza Khosh Zaban In The Name Of Allah
  • 2.
    What is thecloud? Where is the cloud? Are we in the cloud now? • The cloud is just a metaphor for the Internet • storing and accessing data and programs over the Internet instead of your computer's hard drive • Network Attached Storage (NAS) • My Cloud • cloud computing can be done anywhere, anytime.
  • 3.
    Your Coffee ShopUses Cloud Computing • For fundamental cloud computing patterns, we show that coffee shops similarly handle the five design phases of cloud applications: 1. decomposition 2. Workload 3. data (state) 4. component refinement 5. elasticity and resiliency. • In other words, you can experience all the design phases first-hand by buying a coffee.
  • 5.
    Phase 1: Decomposition •Clouds are large distributed systems providing resources for computation, communication, and storage. • The best practice for decomposing application functionality is captured by the distributed application pattern.
  • 6.
    the distributed applicationpattern • This pattern summarizes three decomposition strategies 1. Layer‐based decomposition • for example, user interface , processing , and data handling layers 2. Process‐based decomposition • such as the Business Process Execution Language (BPEL) or Business Process Model and Notation (BPMN). 3. pipes‐and‐filters-based decomposition • The coffee shop uses the third decomposition strategy • user interface, coffee processing, and special processing for frozen coffee
  • 7.
    Phase 2: Workload •The workload the application experiences substantially affects its development after decomposition • Logical application components are commonly grouped and assigned to multiple tiers. for example, to multiple virtual servers • In a Cloud environnent, tiers can commonly scale independently.
  • 8.
    Five workload patterns •Static workload • Periodic workload • Once‐in‐a‐lifetime workload • Unpredictable workload • Continuously changing workload
  • 9.
    In Your CoffeeShop • In the coffee shop, the user group generates periodic workload • Peaks occur in the morning when customers start their day, and in the afternoon when school is out. • the severity of the peaks differs significantly due to the processing complexity. • The result queue rarely needs to store a lot of finished products.
  • 11.
    Phase 3: Data(State) • As a prerequisite : 1. The location where data are stored 2. Data consistency are extremely important • We differentiate two types of state: 1. Session state for example, a shopping basket in an online shop 2. Application state such as the customer data, the currently processed orders
  • 12.
    Phase 3: Data(State) • Strict consistency Data is stored at different locations to improve response times and avoid loss in case of failures, while replica consistency is ensured at all times • Eventual consistency Performance and data availability during network partitioning are enabled by ensuring data consistency eventually and not at all times.
  • 13.
    In Your CoffeeShop 1. Session state Where is my coffee? Where is the coffee for Chris? 2. Application state Coffee, Chai, Mocha,… 3. Eventual consistency It will be ready in about five minutes. lie a little bit as the business case allows.
  • 14.
    Phase 4: ComponentRefinement • We must refine the application’s functional aspects 1. User interface component Handle the synchronous interaction with human users 2. Processing component Functionality is made configurable to support different customer requirements.
  • 15.
    Processing component ina coffee shop • How the application can handle these processing requests by keeping them in a queue and spreading them among multiple processing components. • Baristas will take cups from the request queue, handle the order, and put the finished coffee in the result queue.
  • 16.
    Your Coffee Shop/ Your cloud • Coffee shop employees aren’t as flexible as most cloud resources. Calling them to come to work and sending them home every few minutes would be impractical • Therefore, coffee shops usually ensure that employees can fulfill different roles: baristas can help out as employees at cash registers and vice versa.
  • 17.
    Phase 5: Elasticityand Resiliency • The last design phase for cloud applications considers how components are provisioned and decommissioned to meet the current workload and cope with failures. • For elastic scalability, IT architects must first determine the current workload and reflect it by adjusting resource numbers
  • 18.
    Availability using thefollowing two patterns 1. Node‐based availability A cloud provider guarantees that individual nodes are available such as individual virtual servers, middleware components, or hosted application components. 2. Environment‐based availability A cloud provider guarantees that the environment hosting individual nodes such as virtual servers or hosted application components , will be available. • Through redundancy, the application’s availability can increase.
  • 19.
    Scalability and resiliencyare also important in the coffee shop • Number of customers • Coffee cups awaiting processing • Node‐based availability The coffee machine • Environment‐based availability The overall set of employees • Fail number of workers Sickness Restroom breaks Deterioration of the machine And so on
  • 20.
    References • Your CoffeeShop Uses Cloud Computing Christoph Fehling, Frank Leymann, and Ralph Retter • University of Stuttgart • www.cpmag.com