fpss ws1516 part4b v05 20160117 - tu...

66
Future-Proof Software-Systems 1 Prof. Dr. Frank J. Furrer - WS 2015/16 Future-Proof Software-Systems (Zukunftsfähige Software-Systeme) Frank J. Furrer Prof. Dr. sc. techn. ETH-Zürich TU Dresden WS 2015/2016 Part 4B: Architecting for Resilience Part 4B: Architecting for Resilience V0.5 / 17.01.2016

Upload: others

Post on 06-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems

1 Prof. Dr. Frank J. Furrer - WS 2015/16

Future-Proof Software-Systems(Zukunftsfähige Software-Systeme)

Frank J. FurrerProf. Dr. sc. techn. ETH-Zürich

TU Dresden WS 2015/2016

Part 4B: Architecting for ResiliencePart 4B: Architecting for Resilience

V0.5 / 17.01.2016

Page 2: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems:

2 Prof. Dr. Frank J. Furrer - WS 2015/16

Content

Part 4A:

1. Managed Evolution (Repetition)

2. Resilience

3. Architecting for Resilience

4. Resilience Architecture Principles

• Universal Resilience Architecture Principles

Part 4B:

• Specific Resilience Architecture Principles

• Autonomic Computing

Page 3: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

3 Prof. Dr. Frank J. Furrer - WS 2015/16

Future-Proof Software-Systems:

Risk Analysis

Page 4: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

4 Prof. Dr. Frank J. Furrer - WS 2015/16

The «resilience dilemma»

my system/application

?resilience

medium high very high

cost

low

low

veryhigh

RiskAnalysis

Page 5: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

5 Prof. Dr. Frank J. Furrer - WS 2015/16

Confidentiality

Certifiability

Security

Availability

Integrity

Safety

Reliability

Traceability

Non-Repudiation

Fault-Tolerance

Accountability

Standards adherence

Diagnosability

Business Continuity

Survivability

Fail-Save Behaviour

Real-TimeCapability

Auditability

Graceful Degradation

Recoverability

Performance etc.

htt

p:/

/w

ww

.aero

art

inc.c

om

Resilience properties of the SW-system

Page 6: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

6 Prof. Dr. Frank J. Furrer - WS 2015/16

identical forall systems

Resilience set:dependent onapplication area

Additionalqualityproperties:dependent onapplication area

Resilience ProfileQuality Property Type

Business Value Primary Characteristic

Agility Primary Characteristic

Availability

Security

Safety

Privacy/Confidentiality

Performance

Usability

Robustness

Operating Cost

Reusability

Compliance to laws and regulations

Adherence to industry-standards

Memory Size

Power consumption

Testability

etc.

= Resilience

Page 7: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

IT-System

Future-Proof Software-Systems: Architecting for Resilience

7 Prof. Dr. Frank J. Furrer - WS 2015/16

How do I find out which specific resilience principles andpatterns are important for my application?

htt

p:/

/m

an

agem

en

tresearc

hdevelo

pm

en

t.com by executing a risk analysis

ProtectionAssets

Risk Analysis

Step 2:Threats & Vulnerabilities

Step 3:Risk Assessment & Mitigation

Step 1:Asset Evaluation

Page 8: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

8 Prof. Dr. Frank J. Furrer - WS 2015/16

Risk Analysis

Step 2:Threats & Vulnerabilities

Step 3:Risk Assessment & Mitigation

Step 1:Asset Evaluation

Identify and assess the valueof the (IT-) assets in thecompany or the product

Define the protectionmechanisms and processeswhich protect the assets

Identify and understand boththe threats and dangerswhich apply to the assets

Page 9: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

9 Prof. Dr. Frank J. Furrer - WS 2015/16

Example: System = Financial Institution

htt

p:/

/seatt

lew

ebdesig

n

Protection Assets

• …• Customer Data• …

Threats & Dangers

• …• Unauthorized

Access• …

Protection Means

• Authentication• Authorization• Access Control• …

Page 10: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

10 Prof. Dr. Frank J. Furrer - WS 2015/16

Example: System = Passenger Car

htt

ps:/

/ro

adlo

an

s.c

om

/

Protection Assets

• …• Life & Health of

Passengers• …

Threats & Dangers

• …• Electronic

System Failure• …

Protection Means

• …• Fault tolerance• Safe states• …

Page 11: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

11 Prof. Dr. Frank J. Furrer - WS 2015/16

Risk Analysis

Step 2:Threats & Vulnerabilities

Step 3:Risk Assessment & Mitigation

Step 1:Asset Evaluation

Protection Mechanisms

AuthenticationAuthorizationAccess ControlMonitoring……

…Fault toleranceSafe states…

Page 12: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

12 Prof. Dr. Frank J. Furrer - WS 2015/16

Protection Mechanisms

AuthenticationAuthorizationAccess ControlMonitoring……

…Fault toleranceSafe states…

Risk Analysis For a specific domain, system,product or application

Safety

Security

Varioustaxonomiesexist forsecurity, safety,etc.

(inconsistent,but still helpful)

Page 13: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

13 Prof. Dr. Frank J. Furrer - WS 2015/16

Protection Mechanisms

AuthenticationAuthorizationAccess ControlMonitoring……

…Fault toleranceSafe states…

Risk Analysis

Safety

Security

ApplicableResiliencePrinciples

andPatterns

Page 14: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

14 Prof. Dr. Frank J. Furrer - WS 2015/16

Summaryh

ttp:/

/seatt

lew

ebdesig

nh

ttps:/

/ro

adlo

an

s.c

om

/

1. Specify your system

… others

Decide on general (overarching) principles

2. Resilience Analysis

Risk Analysis

ProtectionMechanisms

3. Applicable Principlesand Patterns

ResiliencePrinciples

andPatterns

Page 15: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

15 Prof. Dr. Frank J. Furrer - WS 2015/16

Summary

ApplicableResiliencePrinciples

andPatterns

https://www.npmjs.com

Resilience Engineer:• Security Engineer• Safety Engineer• Certification Engineer• …

Important andinteresting role

Page 16: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

16 Prof. Dr. Frank J. Furrer - WS 2015/16

Summary

3. Applicable Principles and Patterns

ResiliencePrinciples

andPatterns

Specific (Property-dependent)Resilience Architecture

Principles & Patterns

Page 17: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

17 Prof. Dr. Frank J. Furrer - WS 2015/16

Future-Proof Software-Systems:

Specific (Property-dependent)Resilience Architecture

Principles & Patterns

Page 18: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

18 Prof. Dr. Frank J. Furrer - WS 2015/16

R1: Fault Containment Regions

R2: Single Points of Failure

R3: Multiple Lines of Defense

R4: Fail-Safe States

R5: Graceful Degradation

R6: Dependable Foundation

General Resilience Architecture Principles

Specific (Property-dependent)Resilience Architecture Principles

htt

p:/

/en

.wik

ipedia

.org

/w

iki/

Cze

ch

oslo

vak_b

ord

er_

fort

ific

ati

on

s

Resilience

Page 19: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

19 Prof. Dr. Frank J. Furrer - WS 2015/16

Specific IT Resilience Architecture Principles & Patterns

htt

p:/

/w

ww

.ou

tdoor-

magazi

n.c

om

… a very large and rich field of engineering

Page 20: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

20 Prof. Dr. Frank J. Furrer - WS 2015/16

Security

Page 21: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

21 Prof. Dr. Frank J. Furrer - WS 2015/16

Safety

Page 22: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

22 Prof. Dr. Frank J. Furrer - WS 2015/16

Fault-Tolerance

Page 23: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

23 Prof. Dr. Frank J. Furrer - WS 2015/16

Patterns

Page 24: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

24 Prof. Dr. Frank J. Furrer - WS 2015/16

htt

ps:/

/w

ww

.npm

js.c

om

We cannot become full

Resilience Engineers

in this lecture

What can we learn in this lecture?

… but we can learn:

• The methodology

• Some important principles & patterns

Page 25: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

25 Prof. Dr. Frank J. Furrer - WS 2015/16

We will focus on Principles & Patterns for:• Security• Safety

• Integrity

Safety is the state of being protected against failure, damage, error,accidents, harm, or any other event that could be considered non-desirable in order to achieve an acceptable level of risk

Choice for thislecture

Information security protects the confidentiality, integrity andavailability of computer system data and functionality fromunauthorized and malicious accesses

Integrity assures that functions or data are executed asimplemented and have not been altered, modified, deleted or replaced

Page 26: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

26 Prof. Dr. Frank J. Furrer - WS 2015/16

Future-Proof Software-Systems:

Specific (Property-dependent)Resilience Architecture Principles for:

Security

Page 27: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

27 Prof. Dr. Frank J. Furrer - WS 2015/16

Information security protects the confidentiality, integrity andavailability of computer system data and functionality fromunauthorized and malicious accesses

Protection Assets

• …• Customer Data• …

Threats & Dangers

• …• Unauthorized

Access• …

Protection Means

• Authentication• Authorization• Access Control• …

Page 28: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

28 Prof. Dr. Frank J. Furrer - WS 2015/16

Authentication

htt

p:/

/en

gin

eeri

ng.u

nl.edu

Real world

http

://w

ww

.ran

d.o

rg

Computer representation

Electronicchannel

?

Page 29: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

29 Prof. Dr. Frank J. Furrer - WS 2015/16

Authentication

Authenticator Pattern[Schuhmacher, ISBN 978-0-470-85884-4]

AUTHENTICATOR

Subject

ID 1..*

1

request AuthenticationInformationchecks

1

1

Proof ofIdentity

28e91f00aH

creates1

1..*

Page 30: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

User NamePassword

Future-Proof Software-Systems: Architecting for Resilience

30 Prof. Dr. Frank J. Furrer - WS 2015/16

Authentication

Authenticator Pattern[Schuhmacher, ISBN 978-0-470-85884-4]

AUTHENTICATOR

Subject

ID 1..*

1

request AuthenticationInformationchecks

1

1

Proof ofIdentity

28e91f00aH

creates1

1..*

Page 31: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

31 Prof. Dr. Frank J. Furrer - WS 2015/16

Authorization

RBAC Pattern[Fernandez, ISBN 978-1-119-99894-5]

Full Access with Errors Pattern[Schuhmacher, ISBN 978-0-470-85884-4]

http

://sto

neh

ou

sesig

ns.c

om

Authorization:

Allow or deny access

to a computer resource

Page 32: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

32 Prof. Dr. Frank J. Furrer - WS 2015/16

RBAC Pattern[Fernandez, ISBN 978-1-119-99894-5]

Authorization

The User and Role classes describe registered users and their predefined

roles. Users are assigned to roles, roles are given rights according to theirfunctions

User

idname

Right

accessType

checkRights

accessDataRole

idname

**

memberOf

ProtectionObject

idname

* *

isAuthorizedFor

Page 33: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

33 Prof. Dr. Frank J. Furrer - WS 2015/16

Authorization

Full Access with Errors Pattern[Schuhmacher, ISBN 978-0-470-85884-4]

User

idname

accessDataInterface

OperationErrors**

calls

accessDataSystem

OperationErrors**

forward call

Access Rights

accessType

checkRights

checkrights

allowdeny

*

1

Error Message

Error message

Page 34: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

34 Prof. Dr. Frank J. Furrer - WS 2015/16

Access Control

Security Session Pattern[Schuhmacher, ISBN 978-0-470-85884-4]

User

Sign inWorkSign off

Check Point

Sign inSign off

1..* 1

Sign inSign off

Session Manager

Create session

createsession

1

1

accessDataSession

User infoRightstiming

11

managesession

accessDataComponent

OperationErrors

checkrights

1..*

1

access component

Page 35: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

35 Prof. Dr. Frank J. Furrer - WS 2015/16

Future-Proof Software-Systems:

Specific (Property-dependent)Resilience Architecture Principles for:

Safety

Page 36: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

36 Prof. Dr. Frank J. Furrer - WS 2015/16

Protection Assets

• …• Life & Health of

Passengers• …

Threats & Dangers

• …• Electronic

System Failure• …

Protection Means

• …• Fault tolerance• Safe states• …

Safety is the state of being protected against failure, damage, error,accidents, harm, or any other event that could be considered non-desirable in order to achieve an acceptable level of risk

Safety

Page 37: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

37 Prof. Dr. Frank J. Furrer - WS 2015/16

Safety

Architectural Patterns[Hanmer, ISBN 978-0-470-31979-6]

Detection Patterns[Hanmer, ISBN 978-0-470-31979-6]

Error Recovery Patterns[Hanmer, ISBN 978-0-470-31979-6]

Error Mitigation Patterns[Hanmer, ISBN 978-0-470-31979-6]

Fault Treatment Patterns[Hanmer, ISBN 978-0-470-31979-6]

Page 38: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

38 Prof. Dr. Frank J. Furrer - WS 2015/16

Safety

Fault Tolerance

Functional/DataComponent

FunctionalityData

MalfunctionDetection

• Functional• Temporal• Data integrity

monitor

Functional/DataComponent

FunctionalityData

Functional/DataComponent

FunctionalityData

Functional/DataComponent

FunctionalityData

monitor

monitor

monitor

activate

Redundancy

Page 39: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

39 Prof. Dr. Frank J. Furrer - WS 2015/16

Safety

Fail Safe State Pattern

FunctionalComponent

functionality

Data

DataInformation

DataIntegrityChecking

Monitoring

Error/FailureDetection

Monitoring

**

**

monitor

monitor

accessDataError Recovery

Recovery mechanisms

signal signal accessDataSave State

Safe statesAB…**

trigger

Page 40: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

40 Prof. Dr. Frank J. Furrer - WS 2015/16

Future-Proof Software-Systems:

Specific (Property-dependent)Resilience Architecture Principles for:

Integrity

Page 41: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

41 Prof. Dr. Frank J. Furrer - WS 2015/16

htt

p:/

/w

ww

.ph

dcon

str

ucti

on

.com

/

Enterprise Record Archive

Each enterprise is obliged by law to generate records and to keep themavailable unaltered for 10 years (CH)

Protection Assets

• ElectronicRecords(Archive)

Threats & Dangers

• Recordmodification

Protection Means

• Integrityprotection

Page 42: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

42 Prof. Dr. Frank J. Furrer - WS 2015/16

htt

p:/

/w

ww

.nelb

alipro

pert

y.c

om

Data Integrity

How can you assure and prove that

a digital document has not been

altered?

Digital Data Integrity Protection Technology:

Hashing & Digital Signatures

http

s:/

/w

ww

.tsl.te

xas.g

ov/

Hashing & Digital Signatures are a secure

technique to preserve the integrity of a

digital document over long periods of time

Page 43: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

43 Prof. Dr. Frank J. Furrer - WS 2015/16

htt

p:/

/w

ww

.nelb

alipro

pert

y.c

om

Data Integrity

Hashing &Digital Signatures

http

://de.d

ream

stim

e.c

om

http

://w

ww

.3gfo

ren

sic

s.c

o.u

k

Document IDTime StampHash Value Digital Signature

Page 44: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Architecting for Resilience

44 Prof. Dr. Frank J. Furrer - WS 2015/16

Data Integrity Assurance Pattern

Document/RecordsGeneration

DocumentProduction

Document/RecordsRetrieval

DocumentAccess

accessData# Signature Server

Sign document #

hash & sign

accessDataARCHIVE

Secure document store

deliver

CertificationAgency [CA]

# signature# key

accessDataIntegrity Check

Periodic DocumentIntegrity Checking

automatic retrieve

accessData# Integrity Check

Check document sign

# key

retrieve

retrieve

accessDataIntegrityViolationHandling

Procedures

exception

Page 45: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Resilience Engineering

45 Prof. Dr. Frank J. Furrer - WS 2015/16

Future-Proof Software-Systems:

Principle-BasedResilience Engineering

[Key Points]

Page 46: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Resilience Engineering

46 Prof. Dr. Frank J. Furrer - WS 2015/16

FF

F F

F

FF

FFF

F F

Existing SW-System

FF

F F

F

FF

FFF

F F

F

F

F

Extended SW-SystemS

yste

m-

Exte

nsio

n

htt

p:/

/cla

ssro

om

clipart

.com

New BusinessRequirements

ResiliencePrinciples

&Patterns

Page 47: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Resilience Engineering

47 Prof. Dr. Frank J. Furrer - WS 2015/16

Resilient Architecture

http

://w

ww

.marin

abaysan

ds.c

om

ResilienceArchitecturePrinciples &

Patterns

Strong, resilient architecture

Page 48: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Resilience Engineering

48 Prof. Dr. Frank J. Furrer - WS 2015/16

The Principles & Patterns Challenge

Principles & Patterns =

Very valuable software/system architecture knowledge in

proven & easily accessible form

Page 49: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Resilience Engineering

49 Prof. Dr. Frank J. Furrer - WS 2015/16

… However,

htt

ps:/

/pm

tgu

rum

an

tra.w

ord

pre

ss.c

om

Principles & Patterns are not directly applicable( they represent generic solutions)

Principles & Patterns in the literature are ofteninconsistent:• Different terminology• Different representations• Duplicated functionality• Functional overlaps• … even some contradictions

Page 50: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Resilience Engineering

50 Prof. Dr. Frank J. Furrer - WS 2015/16

Example

htt

ps:/

/pm

tgu

rum

an

tra.w

ord

pre

ss.c

om

Subject

ID

Authenticator Pattern[Schuhmacher, ISBN 978-0-470-85884-4]

RBAC Pattern[Fernandez, ISBN 978-1-119-99894-5]

User

idname

Page 51: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Resilience Engineering

51 Prof. Dr. Frank J. Furrer - WS 2015/16

htt

ps:/

/cm

s.s

ach

sen

.sch

ule

Principles & Patterns are not directly

applicable:

Need for adaptation & integration

into your system!

Future-Proof Software-Systems Engineer

Learn&

understand

Apply&

enforce

Page 52: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Resilience Engineering

52 Prof. Dr. Frank J. Furrer - WS 2015/16

Architecture &ResiliencePrinciples& Patterns

Future-Proof Software-Systems Engineer

Apply &enforce

PatternIntegration

Page 53: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Autonomic Computing

53 Prof. Dr. Frank J. Furrer - WS 2015/16

Future-Proof Software-Systems:

Autonomic Computing

Page 54: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Autonomic Computing

54 Prof. Dr. Frank J. Furrer - WS 2015/16

SpecificCountermeasures( Risk Analysis)

ArchitecturalCountermeasures

(Principles)

AdaptiveBehaviour

(«AutonomicComputing»)

Resilient Code

Resilient Architecture

Resilient System

Page 55: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Autonomic Computing

55Prof. Frank J. Furrer - WS 2015/16

Example: Vision „Autonomic Computing“

time

arbitraryscale

2014 2025

Complexity

Importance toindividuals &society

Threats &risks

htt

p:/

/w

ww

.aseym

ou

r.com

Can we humans successfullycope with these trends ?

Page 56: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Autonomic Computing

56Prof. Frank J. Furrer - WS 2015/16

Example: Vision „Autonomic Computing“h

ttp:/

/w

ww

.aseym

ou

r.com

Can we humans successfully

cope with the trends of:

increasing complexity

raising importance

accelerating threats & risks

?

http

://m

cvcbca.b

logspot.c

h/2012

Probably NOT

… we will need the supportof intelligent machines

VisionPaul Horn,IBM, 2001

Page 57: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Autonomic Computing

57 Prof. Dr. Frank J. Furrer - WS 2015/16

Autonomic Computing (IBM Concept 2001)

htt

ps:/

/w

ww

.illu

str

ati

on

sou

rce.c

om

Basic idea: Enable the computer for self-defense

Page 58: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Autonomic Computing

58 Prof. Dr. Frank J. Furrer - WS 2015/16

2010 2010

t

Complexity

t

Tractability

System

Safety Case

Disruptive Incidents1. Xxx2. Yyy3. Zzz

predictpredict adjustadjust

System

Incid

ent

?

ResilientSystem

Page 59: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Autonomic Computing

59 Prof. Dr. Frank J. Furrer - WS 2015/16

Autonomic Computing has four areas of concern:

1. Self-Configuration

2. Self-Healing (error correction, fault recovery)

3. Self-Optimization (automatic resource control for optimalfunctioning)

4. Self-Protection (identification and protection from attacksin a proactive manner)

… often called the self-X properties

htt

ps:/

/w

ww

.illu

str

ati

on

sou

rce.c

om

Autonomic Computing Vision

Page 60: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Autonomic Computing

60 Prof. Dr. Frank J. Furrer - WS 2015/16

Autonomic =

Computer systems and networks that configure themselves to

changing conditions and are self-healing in the event of failure

and self-defending in the event of attacks. "Autonomic" means

"automatic responses" to unpredictable events.

Autonomic computing is an approach to address the complexity

and evolution problems in software systems.

A software system that operates on its own or with a minimum

of human interference according to a set of rules is called

autonomic.

Page 61: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Autonomic Computing

61Prof. Frank J. Furrer - WS 2015/16

Example: Vision „Autonomic Computing“

„Horn envisioned autonomic computers that could sense, analyzeand respond to situations automatically“

Self-protecting

Self-configuringSelf-healing

Self-optimizing

monitorKnowledge

analyze plan

execute

Sensors Actors

Managed Resources

AutonomicManager

Page 62: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Autonomic Computing

62 Prof. Dr. Frank J. Furrer - WS 2015/16

htt

p:/

/w

ww

.gra

mm

ate

ch

.com Autonomic Computing Schema:

Knowledge

Page 63: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Autonomic Computing

63 Prof. Dr. Frank J. Furrer - WS 2015/16

htt

p:/

/w

ww

.gra

mm

ate

ch

.com Autonomic Computing Schema:

Artificial Intelligence

Page 64: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Autonomic Computing

64 Prof. Dr. Frank J. Furrer - WS 2015/16

Example: Autonomic Computing for Traffic Controlhttp://iict.bas.bg/acomin/events/3-4-October-2013/KStoilova_ppt.pdf

htt

p:/

/w

ww

.au

toevolu

tion

.com

• The autonomy is achievedby applying multileveloptimization for the controlprocess

• Thus, an increase of thetransport parameters,defined as solutions of theoptimization problem, isachieved.

Large area traffic control

Applications:

Rules, optimization and artificial intelligence (cognition)

instead of fixed algorithms

Page 65: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Resilient Software Systems

65Prof. Frank J. Furrer - WS 2015/16

References:

ReferencesHariri06 Salim Hariri, Manish Parashar (Editors):

Autonomic Computing - Concepts, Infrastructure, and Applications

CRC Press Inc., Boca Raton, USA, 2006. ISBN 978-0849393679IBM06 IBM Business Consulting Services:

An Architectural Blueprint for Autonomic Computing

IBM Autonomic Computing, 4th edition, June 2006.

Downloadable from: http://www-01.ibm.com/software/tivoli/autonomic/Kephart03 Jeffrey O. Kephart, David M. Chess:

The Vision of Autonomic Computing

IEEE Computer Society, New York, January 2003, pp. 41-50.

Downloadable from: http://www-01.ibm.com/software/tivoli/autonomic/Murch04 Richard Murch:

Autonomic Computing

IBM Press, Prentice Hall PTR, NJ, USA, 2004. ISBN 978-0-13-315319-3Cong-Vinh11 Phan Cong-Vinh (Editor):

Formal and Practical Aspects of Autonomic Computing and Networking – Specification,Development, and Verification

Premier Reference Source, Information Science Reference Publishing, 2011. ISBN 978-1-60960-845-3Müller06 Hausi A. Müller, Liam O’Brien, Mark Klein, Bill Wood:

Autonomic Computing

Carnegie Mellon University, Technical Note CMU/SEI-2006-TN-006, 2006. Downloadable from:http://www.sei.cmu.edu/reports/06tn006.pdf [last accessed 14.1.2016]

Lalanda13 Philippe Lalanda:

Autonomic Computing – Principles, Design and Implementation

Springer-Verlag, London, 2013. ISBN 978-1-4471-5006-0

Page 66: FPSS WS1516 Part4B V05 20160117 - TU Dresdenst.inf.tu-dresden.de/...WS1516_Part4B_V05_20160117.pdf · Future-Proof Software-Systems: Architecting for Resilience Prof. Dr. Frank J

Future-Proof Software-Systems: Content

66 Prof. Dr. Frank J. Furrer - WS 2015/16

This is the end of Parts 1-4:

You know now the foundations and principles of future-proof software-systems

Part 5:

Describes the „future-proof software-systems engineer“and his working context