resilient software design pt 1: introduction · 5/10/16 resilient software design pt 1:...

14
5/10/16 Resilient Software Design Pt 1: Introduction Bugsquashing Seminar Dominique Cheray, Janek Gröhl

Upload: others

Post on 13-Mar-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Resilient Software Design Pt 1: Introduction · 5/10/16 Resilient Software Design Pt 1: Introduction Bugsquashing Seminar Dominique Cheray, Janek Gröhl

5/10/16

Resilient Software Design

Pt 1: Introduction

Bugsquashing Seminar

Dominique Cheray, Janek Gröhl

Page 2: Resilient Software Design Pt 1: Introduction · 5/10/16 Resilient Software Design Pt 1: Introduction Bugsquashing Seminar Dominique Cheray, Janek Gröhl

Welcome to the DKFZ!

Page 3: Resilient Software Design Pt 1: Introduction · 5/10/16 Resilient Software Design Pt 1: Introduction Bugsquashing Seminar Dominique Cheray, Janek Gröhl

Page35/10/16 |

Dominique Cheray

Janek Gröhl

Context

• Distributed Systems

• Service Oriented Architectures

• Microservices

• Resilient Software Design

Page 4: Resilient Software Design Pt 1: Introduction · 5/10/16 Resilient Software Design Pt 1: Introduction Bugsquashing Seminar Dominique Cheray, Janek Gröhl

Page45/10/16 |

Dominique Cheray

Janek Gröhl

Context

• Distributed Systems

• Service Oriented Architectures

• Microservices

• Resilient Software Design

MITK PLUSOpen IGTLink

Page 5: Resilient Software Design Pt 1: Introduction · 5/10/16 Resilient Software Design Pt 1: Introduction Bugsquashing Seminar Dominique Cheray, Janek Gröhl

Page55/10/16 |

Dominique Cheray

Janek Gröhl

Introduction Quote

“We will prepare for the armies of illogical users who do crazy,

unpredictable things”

- Michael Nygard

Page 6: Resilient Software Design Pt 1: Introduction · 5/10/16 Resilient Software Design Pt 1: Introduction Bugsquashing Seminar Dominique Cheray, Janek Gröhl

Page65/10/16 |

Dominique Cheray

Janek Gröhl

Definition

• 1. the power or ability to return to the original form, position, etc., after being bent, compressed, or stretched; elasticity.

Random House Kernerman Webster's College Dictionary, © 2010 K Dictionaries Ltd. Copyright 2005, 1997, 1991 by Random House, Inc. All rights reserved.

• 2. ability to recover readily from illness, depression, adversity,or the like; buoyancy.

Random House Kernerman Webster's College Dictionary, © 2010 K Dictionaries Ltd. Copyright 2005, 1997, 1991 by Random House, Inc. All rights reserved.

Page 7: Resilient Software Design Pt 1: Introduction · 5/10/16 Resilient Software Design Pt 1: Introduction Bugsquashing Seminar Dominique Cheray, Janek Gröhl

Page75/10/16 |

Dominique Cheray

Janek Gröhl

Main Concept

• MTTF = Mean Time To Failure• MTTR = Mean Time To Recover

Page 8: Resilient Software Design Pt 1: Introduction · 5/10/16 Resilient Software Design Pt 1: Introduction Bugsquashing Seminar Dominique Cheray, Janek Gröhl

Page85/10/16 |

Dominique Cheray

Janek Gröhl

IT Definition

• Resilience:

• Ability of a system to handle unexpected situations

• Best case: without the user noticing it

• Worst case: with a graceful degradation of service

Page 9: Resilient Software Design Pt 1: Introduction · 5/10/16 Resilient Software Design Pt 1: Introduction Bugsquashing Seminar Dominique Cheray, Janek Gröhl

Page95/10/16 |

Dominique Cheray

Janek Gröhl

Example

https://help.netflix.com/en/node/14164

Page 10: Resilient Software Design Pt 1: Introduction · 5/10/16 Resilient Software Design Pt 1: Introduction Bugsquashing Seminar Dominique Cheray, Janek Gröhl

Page105/10/16 |

Dominique Cheray

Janek Gröhl

Example

• Simian Army

• Fault Injection Testing

Page 11: Resilient Software Design Pt 1: Introduction · 5/10/16 Resilient Software Design Pt 1: Introduction Bugsquashing Seminar Dominique Cheray, Janek Gröhl

Page115/10/16 |

Dominique Cheray

Janek Gröhl

Example

• Chaos Monkey

• Arbitrarily shuts down• Services

• At peak usage times

System needs to handle this

Page 12: Resilient Software Design Pt 1: Introduction · 5/10/16 Resilient Software Design Pt 1: Introduction Bugsquashing Seminar Dominique Cheray, Janek Gröhl

Page125/10/16 |

Dominique Cheray

Janek Gröhl

Example

• Chaos Gorilla

• Arbitrarily shuts down• Servers

Page 13: Resilient Software Design Pt 1: Introduction · 5/10/16 Resilient Software Design Pt 1: Introduction Bugsquashing Seminar Dominique Cheray, Janek Gröhl

Page135/10/16 |

Dominique Cheray

Janek Gröhl

Example

• Chaos Kong

• Arbitrarily shuts down• Server Cluster Regions

Page 14: Resilient Software Design Pt 1: Introduction · 5/10/16 Resilient Software Design Pt 1: Introduction Bugsquashing Seminar Dominique Cheray, Janek Gröhl

Thank you foryour attention!

Questions?