Presentation is loading. Please wait.

Presentation is loading. Please wait.

Masashi Narumoto | Senior Program Manager Larry Brader | Senior SDET

Similar presentations


Presentation on theme: "Masashi Narumoto | Senior Program Manager Larry Brader | Senior SDET"— Presentation transcript:

1 Masashi Narumoto | Senior Program Manager Larry Brader | Senior SDET
Cloud Design Patterns Masashi Narumoto | Senior Program Manager Larry Brader | Senior SDET

2 Meet Masashi Narumoto | @dragon119
Senior Program Manager, Microsoft PM in p&p focused on Windows Azure Blogging at Over 20 years of industry experience SDE, SDET, PM, Consultant, Evangelist in PSS, MCS, DPE and p&p Author of Windows Azure Guidance Moving Applications to the Cloud Developing Multi-Tenant Applications for the Cloud Building Hybrid Applications in the Cloud Developing Big Data Solutions in the Cloud Cloud Design Patterns

3 Meet Larry Brader | @nullfire42
Senior Tester, Microsoft Tester in p&p focused on Test Over 30 years of industry experience Microsoft 10 years SDET, PM, Consultant, in p&p for Azure, Prism Developed mathematical approach to patterns design & testing – review 900+ Author of Test Guidance Testing for Continuous Delivery with Visual Studio 2012 Building a Release Pipeline with Team Foundation Server 2012 Military based worked Developed & tested critical flight software for B1, B2, Built a base computer model of the entire B2 aircraft to validate system

4 Course Topics Cloud Design Patterns
01 | Cloud Design Patterns 1 – Patterns for Resiliency and Availability 02 | Cloud Design Patterns 2 – Patterns for Scalability 03 | 04 | 05 |

5 Agenda Module 1 – Patterns for Resiliency & Availability
01 | Design Patterns in the Cloud 02 | Resiliency Problems 03 | Circuit Breaker Pattern 04 | Throttling Pattern 05 | Health Endpoint Monitoring Pattern Module 2 – Patterns for Scalability 01 | Scalability Problems 02 | Valet Key Pattern 03 | Sharding Pattern 04 | Materialized View Pattern 05 | Event Sourcing Pattern 06 | CQRS Pattern

6 Module 1: Cloud Design Patterns 1
Masashi Narumoto | Senior Program Manager Larry Brader | Senior SDET

7 Design Patterns in the Cloud

8 Cloud Design Patterns

9 What is design pattern? Definition Examples
Reusable solution to a commonly occurring problem within a given context in software design Examples Design Patterns - GoF Patterns of Enterprise Application Architecture - Martin Fowler Enterprise Integration Patterns - Gregor Hohpe

10 Logical model

11 Problem areas in Cloud Applications
Resiliency Scalability Security Availability Management & Monitoring Messaging Distributed Data Management Design & Implementation

12 Resiliency & Availability Problems

13 Resiliency & Availability Problems
? X

14 Circuit Breaker Pattern

15 Circuit Breaker – Context & Problem

16 Circuit Breaker - Solution

17 Circuit Breaker - Considerations
Exception handling Testing the failed operations Manual override Resource differentiation Accelerated circuit breaking

18 Circuit Breaker – When (not) to Use
Prevent applications from attempting to invoke a remote service that is highly likely to fail Handle accessing local private resource in an application

19 Circuit Breaker - Example

20 Throttling Pattern

21 Throttling – Context & Problem

22 Throttling – Solution

23 Throttling – Solution

24 Throttling – Considerations
Design the strategy early on Perform quickly Return a specific error code Can be used together w/ Auto-scaling Consider aggressive auto-scaling if demands grow very quickly

25 Throttling – When to use
Ensure a system meets SLA Handle burst activity Prevent a single tenant from monopolizing Help cost-optimize a system by limiting the maximum resource levels Combine with auto-scaling

26 Health Endpoint Monitoring Pattern

27 Health Endpoint Monitoring – Context & Problem

28 Health Endpoint Monitoring – Solution

29 Health Endpoint Monitoring – Considerations
Validation of the response Type of information to collect How to secure the endpoints How to test the agent Third party tools

30 Health Endpoint Monitoring – When to Use
Monitor applications to verify availability Monitor middle-tier or shared services to detect and isolate a failure Complement existing instrumentations

31 Health Endpoint Monitoring - Example

32 Module 1 - Summary

33 Circuit Breaker X

34 Throttling

35 Health Endpoint Monitoring
?

36

37 Credit and license of photos
Circuit Breaker : Photo from : material from Yusmar Yahaya under creative commons license. Throttling : material from Ramon Cutanda Lopez under creative commons license., Cropped from original Health Endpoint Monitoring : material from jasleen kaur under creative commons license. Valet Key: material from Dave Dugdale under creative commons license, Sharding: material from Lucian Savluc under creative commons license , Cropped from original Materialized View: material from sburke2478 under creative commons license, Cropped from original Event Souring: material from grover_net under creative commons license CQRS: material from Ben Schumin under creative commons license


Download ppt "Masashi Narumoto | Senior Program Manager Larry Brader | Senior SDET"

Similar presentations


Ads by Google