27
ANTIFRAGILE New way to think about Systems

Introduction_to_AntiFragile

Embed Size (px)

Citation preview

ANTIFRAGILE

New way to think about Systems

LINEAR AGENDA

• A look at Fragile Systems

• Introduction to AntiFragile

• Examples of Antifragile System

• Building for Antifragility

• Learn more

Linear Agenda is usually Boring, I like Non-Linear

WHAT IS FRAGILE ?

WHAT ARE FRAGILE SYSTEMS

IF FRAGILE SYSTEMS ARE NOT PROTECTED ?

IF FRAGILE SYSTEMS ARE NOT PROTECTED ?

They get Hurt

IF FRAGILE SYSTEMS ARE NOT PROTECTED ?

Little Learning is provided

IF FRAGILE SYSTEMS ARE NOT PROTECTED ?

They learn to protect against

failures

RESISTING FRAGILITY

1. Test Cases 2. Continuous Delivery 3. Monitoring and Diagnostics 4. Stateless Systems

“A FRAGILE system can become

RESILIENT if its prepared to LEARN

from small non-catastrophic

Failures”

Managing Failures

Self Healing

Fault Tolerance

Durable

Resisting Failure

ANOTHER EXAMPLE

IMMUNE SYSTEM

ANOTHER EXAMPLE

IMMUNE SYSTEM GETS BETTER

VACCINE

Injects Manageable Disease-causing Virus / Bacteria / Microbes

Immune System

Fault Tolerance

Rigid

Resilient

Immune System

Antifragile =

The origin of AntiFragile

The resilient resists shocks and stays the same;

the antifragile gets better

The origin of AntiFragile

Examples of Antifragility

Muscle Evolution

Successful Organizations Biological Cognitive Ability

Antifragility in Software Architecture

AntiFragile System

Fragile

Fragile

Fragile

Fragile

Fragile

Fragile

Fragile

Fragile

Fragile

Trending Pattern

“The Software System expects Fragility of individual parts of the System”

Antifragility in Software Architecture

Trending Pattern

We cannot anticipate, or predict all types of system failures. We cannot build systems to prevent failures. We must build systems to embrace and be better on failures.

Antifragility in Software Architecture

Trending Pattern

Apply Stress to the System continuously so that we are forced to simplify, homogenize and automate.

Antifragility in Software Architecture

Trending Pattern

“Being Debuggable” as one of the key Non-Functional Requirement of Software System

Antifragility in Software Products

Trending Pattern

Kill your own Code / Products, before some competitor does it for you

Amazon’s Kindle Business overrules its physical Book

business

Apple’s iPad kills the market for its

Portable computing products

Toshiba killed its Hard Disk business by introducing Flash

memory

Antifragility in Practice

Google and Amazon’s Game Days

Simulate destruction of Data Center and Critical Production

systems during peak Production time

Netflix’s Simian Army

Automated Tools to simulate random failure conditions on

Netflix AWS Infrastructure

Antifragility in Practice

A Monolith can never be Antifragile

A Services based System can be made Antifragile ? 1. Address AntiFragility as an Architecture Concern

2. Measure and Monitor system for its Antifragile

properties though Game Days.

3. Train Developers and Architects on building capabilities to Learn from failures

Machine Learning

Predictive Modelling of Events (Failures, Errors)

To Learn more

1. Game Days : http://queue.acm.org/detail.cfm?id=2371297

2. On Antifragility in Systems and Organizational Architecture : http://continuousdelivery.com/2013/01/on-antifragility-in-systems-and-organizational-architecture/

3. Upcoming book on Antifragile Software : https://leanpub.com/antifragilesoftware

4. Antifragile Book by Naseem Taleb : http://www.amazon.com/dp/1400067820?tag=contindelive-20