2. Patterns
• Design patterns are solutions to software
design problems in real-world application
development
• 23 GOF patterns
• 30+ enterprise application architecture
patterns
3. Patterns for Cloud!!
• GOF patterns are about reusable designs and
interactions of objects
• Enterprise patterns are about use of
enterprise application integration and
message-oriented middleware
• Cloud patterns are about taking advantage of
cloud-platform services
4. Behold
• 24 design patterns that are useful in cloud-
hosted applications.
• 8 categories of the most common problem
area
Availability
Data
Management
Design &
Implementation
Messaging
Management &
Monitoring
Performance &
Scalability
Resiliency Security
5. Essentials
• We will focus on the patterns relevant to Data
Service and App Service
• Patterns to follow to kick start
A. Cache-aside
B. Static Content Hosting
C. Retry
D. Materialized View
6. Cache-A-Side
• Data Management Pattern
• (What) Cached data is not always consistent
with the data in the data store.
• (When) Load data on demand without
prediction and when a cache does not provide
native read-through and write-through
operations
• Azure: Azure Redis Cache, Azure Managed
Cache, and Azure In-Role Cache
7.
8. Static Content Hosting
• Design & Implementation Pattern
• (What) Application uses computing instances
to handle static content request which is
costly.
• (When) Minimizing the hosting cost, Exposing
static resource to on-premises servers, use a
storage instance.
• Azure: blob storage
9.
10. Retry
• Resiliency Pattern
• (What)Application faces temporary failures
when it attempts to connect to a service or
network resource, in big picture effects the
application experience.
• (When) Errors that are expected to be short
lived
• Azure: Custom Implementation
11.
12. Materialized View
• Data Management Pattern
• (What)Application needs subset data of few
entities, but have to extract all data due to
organization of data and have a negative effect
on queries.
• (When) Direct queries is very complex from data
that is stored in a normalized, semi-structured,
or unstructured way
• Azure: Table storage
13.
14. References
• http://azure.microsoft.com
• Building Cloud Apps with Microsoft Azure
- By Scott Guthrie, Mark Simms, Tom Dykstra, Rick Anderson,
and Mike Wasson
• Windows Azure programming patterns for
Start-ups
-By Riccardo Becker