dice fault injection tool - fortissdownload.fortiss.org › ... › qudos2016 › slides ›...

15
DICE Horizon 2020 Research & Innovation Action Grant Agreement no. 644869 http://www.dice-h2020.eu Funded by the Horizon 2020 Framework Programme of the European Union DICE Fault Injection Tool Craig Sheridan, Darren Whigham Flexiant Limited Matej Artač XLAB d.o.o.

Upload: others

Post on 05-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DICE Fault Injection Tool - fortissdownload.fortiss.org › ... › qudos2016 › slides › 05-DICE_Fault_Injectio… · DICE Fault Injection Tool Craig Sheridan, Darren Whigham

DICE

Horizon 2020 Research & Innovation Action

Grant Agreement no. 644869

http://www.dice-h2020.eu

Funded by the Horizon 2020Framework Programme of the European Union

DICE Fault Injection Tool

Craig Sheridan, Darren Whigham

Flexiant Limited

Matej Artač

XLAB d.o.o.

Page 2: DICE Fault Injection Tool - fortissdownload.fortiss.org › ... › qudos2016 › slides › 05-DICE_Fault_Injectio… · DICE Fault Injection Tool Craig Sheridan, Darren Whigham

Overview

o Motivation

o Fault Injection Tool

o DICE project and DevOps

o Conclusion

2©DICE

Page 3: DICE Fault Injection Tool - fortissdownload.fortiss.org › ... › qudos2016 › slides › 05-DICE_Fault_Injectio… · DICE Fault Injection Tool Craig Sheridan, Darren Whigham

Motivation

o Infrastructure equipment fails

o Expensive approach:

Making hardware completely reliable

Making sure that software never fails

o Reasonable approach:

Make systems resilient to failures

o Need for on-demand failures

3©DICE

Page 4: DICE Fault Injection Tool - fortissdownload.fortiss.org › ... › qudos2016 › slides › 05-DICE_Fault_Injectio… · DICE Fault Injection Tool Craig Sheridan, Darren Whigham

Fault Injection Tool4

©DICE

Page 5: DICE Fault Injection Tool - fortissdownload.fortiss.org › ... › qudos2016 › slides › 05-DICE_Fault_Injectio… · DICE Fault Injection Tool Craig Sheridan, Darren Whigham

Fault Injection Tool

o Problem

When testing, it is difficult to reproduce faultshappening in production

o Goal

Causes environmental problems or failures on demand

Lets users control the levels and seriousness of induced failures

5/©DICE

Page 6: DICE Fault Injection Tool - fortissdownload.fortiss.org › ... › qudos2016 › slides › 05-DICE_Fault_Injectio… · DICE Fault Injection Tool Craig Sheridan, Darren Whigham

Design

6©DICE

Page 7: DICE Fault Injection Tool - fortissdownload.fortiss.org › ... › qudos2016 › slides › 05-DICE_Fault_Injectio… · DICE Fault Injection Tool Craig Sheridan, Darren Whigham

Supported VM-level Faults

• Shutdown random VM (black list or white list)

• High CPU for VM

• High Memory usage for VM

• Block VM external network access

• High Network Bandwidth usage

• High Disk I/O usage

• Stop a service running on VM

7©DICE

Page 8: DICE Fault Injection Tool - fortissdownload.fortiss.org › ... › qudos2016 › slides › 05-DICE_Fault_Injectio… · DICE Fault Injection Tool Craig Sheridan, Darren Whigham

Supported Cloud-level Faults

o Shutdown a Node

o High CPU for Node

o High Memory usage for Node

o High Bandwidth usage

8/©DICE

Page 9: DICE Fault Injection Tool - fortissdownload.fortiss.org › ... › qudos2016 › slides › 05-DICE_Fault_Injectio… · DICE Fault Injection Tool Craig Sheridan, Darren Whigham

Usage example command9

©DICE

$ fleximonkey --stressmem \2 \ test loops2048m \ total [email protected] \ ssh host-no \ no passwordhome/ubuntu/SSHKEYS/VMkey.key

Page 10: DICE Fault Injection Tool - fortissdownload.fortiss.org › ... › qudos2016 › slides › 05-DICE_Fault_Injectio… · DICE Fault Injection Tool Craig Sheridan, Darren Whigham

Usage example result10

©DICE

Page 11: DICE Fault Injection Tool - fortissdownload.fortiss.org › ... › qudos2016 › slides › 05-DICE_Fault_Injectio… · DICE Fault Injection Tool Craig Sheridan, Darren Whigham

Innovation

o ChaosMonkey: only accesses AWS & terminates VMs.

o Cocoma: developed but not supported, suffers from high resource usage, complex config & limited extensibility.

o FIT generates various cloud agnostic faults at VM & Cloud.

o Range of functions, greater flexibility to generate multiple faults

o Lightweight and only installs required tools and components on target VMs.

o Future extensibility in mind considering the needs and challenges of cloud service providers such as scalability and resiliency of the cloud consumption marketplace.

11©DICE

Page 12: DICE Fault Injection Tool - fortissdownload.fortiss.org › ... › qudos2016 › slides › 05-DICE_Fault_Injectio… · DICE Fault Injection Tool Craig Sheridan, Darren Whigham

Big Data Technologies

Cloud (Priv/Pub)`

DICE Framework

12©DICE

DICE IDE

Profile

Plugins

Sim Ver Opt

DPIM

DTSM

DDSM TOSCAMethodology

Deploy Config Test

Mon

Anomaly

Trace

Iter. Enh.

Data Intensive Application (DIA)

Cont.Int. Fault Inj.

WP4

WP3

WP2

WP5

WP1 WP6 - Demonstrators

Page 13: DICE Fault Injection Tool - fortissdownload.fortiss.org › ... › qudos2016 › slides › 05-DICE_Fault_Injectio… · DICE Fault Injection Tool Craig Sheridan, Darren Whigham

Use in DevOps

o Continuous Integration/Testing

Regular resilience tests

o Anomaly detection

Induce faults, check for anomalies

Help with quality enhancement

13/©DICE

Page 14: DICE Fault Injection Tool - fortissdownload.fortiss.org › ... › qudos2016 › slides › 05-DICE_Fault_Injectio… · DICE Fault Injection Tool Craig Sheridan, Darren Whigham

Conclusion and future work

o Aimed at developers using quality driven DevOps approach

o Helps cloud operators perform stress analysis

o Difficulties and possibilities of extensibility by external users and investigating limitations

o Consider different topologies, operating systems and vendor agnostic cloud provider infrastructure

o Evaluate the overhead of operation

o Containerised environments will be a future target to help understand effect on microservices when injecting faults to the underlying host

14©DICE

Page 15: DICE Fault Injection Tool - fortissdownload.fortiss.org › ... › qudos2016 › slides › 05-DICE_Fault_Injectio… · DICE Fault Injection Tool Craig Sheridan, Darren Whigham

Release: February 2017

https://github.com/dice-project/DICE-Fault-Injection-Tool

15/©DICE