A Software Architecture Framework for Quality-Aware...

27
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 A Software Architecture Framework for Quality-Aware DevOps D. A. Tamburri, E. Di Nitto, M. Guerriero, P. Jamshidi, I. Spais

Transcript of A Software Architecture Framework for Quality-Aware...

Page 1: A Software Architecture Framework for Quality-Aware DevOpswp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/sites/75/2018/01/QU… · Architecture Frameworks, in DevOps! o The ISO/IEC/IEEE

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

A Software Architecture Framework for Quality-Aware DevOps

D. A. Tamburri, E. Di Nitto, M. Guerriero,

P. Jamshidi, I. Spais

Page 2: A Software Architecture Framework for Quality-Aware DevOpswp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/sites/75/2018/01/QU… · Architecture Frameworks, in DevOps! o The ISO/IEC/IEEE

What are we up to, today?

2

o Architecture Frameworks, bits and pills

o Quality-Aware DevOps Concerns

o Quality-Aware DevOps Architecture Descriptions& Requirements

o What’s missing from the state of the art

Our research solution, SQUID!

SQUID implementation and usage in Data-IntensiveArchitectures (DIA)

Page 3: A Software Architecture Framework for Quality-Aware DevOpswp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/sites/75/2018/01/QU… · Architecture Frameworks, in DevOps! o The ISO/IEC/IEEE

Architecture Frameworks, bits and pills

o The ISO/IEC/IEEE 42010 Conceptual Model ofArchitecture Description[1] defines the termarchitecture framework as:

“a (set of) common practice(s) for creating, interpreting, analyzing and using architecture descriptions within a particular domain of application or stakeholder community”

3

Page 4: A Software Architecture Framework for Quality-Aware DevOpswp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/sites/75/2018/01/QU… · Architecture Frameworks, in DevOps! o The ISO/IEC/IEEE

Architecture Frameworks, bits and pills

o The ISO/IEC/IEEE 42010 Conceptual Model of Architecture Description[1] defines the term architecture framework as:

“a (set of) common practice(s) for creating, interpreting, analyzing and using architecture descriptions within a particular domain of application or stakeholder community”

4

Page 5: A Software Architecture Framework for Quality-Aware DevOpswp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/sites/75/2018/01/QU… · Architecture Frameworks, in DevOps! o The ISO/IEC/IEEE

Architecture Frameworks, in DevOps!

o The ISO/IEC/IEEE 42010 Conceptual Model ofArchitecture Description[1] defines the termarchitecture framework as:

“a (set of) common practice(s)* for creating, interpreting, analyzing and using architecture*descriptions* within a particular domain of application* or stakeholder community”

5

* Continuously!

Page 6: A Software Architecture Framework for Quality-Aware DevOpswp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/sites/75/2018/01/QU… · Architecture Frameworks, in DevOps! o The ISO/IEC/IEEE

Architecture Frameworks, in DevOps!

o The ISO/IEC/IEEE 42010 Conceptual Model ofArchitecture Description[1] defines the termarchitecture framework as:

“a (set of) common practice(s)* for creating, interpreting, analyzing and using architecture*descriptions* within a particular domain of application* or stakeholder community”

6

* Continuously**!** With Quality!

Page 7: A Software Architecture Framework for Quality-Aware DevOpswp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/sites/75/2018/01/QU… · Architecture Frameworks, in DevOps! o The ISO/IEC/IEEE

o Concerns Automation

Heterogeneous maturity(systems & orgs.)

End-to-end Architecting

QoS-, Business- andTechnical-drivenContinuous Architecting

o Practices Trial-and-error!

7

Quality-Aware DevOps Concerns*

* 30+ Interviews and 7 Focus-Groups with industrial partnersin the EU H2020 DICE and other industrials

Page 8: A Software Architecture Framework for Quality-Aware DevOpswp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/sites/75/2018/01/QU… · Architecture Frameworks, in DevOps! o The ISO/IEC/IEEE

1. Fine-grained architecturedescriptions specific toDevOps frameworks andmiddleware;

1. Architecture blueprintswith infrastructure,platform and applicationtopology specs;

2. Model-based synch of allof the above;

8

Quality-Aware DevOps Architecture Descriptions: Requirements!

Page 9: A Software Architecture Framework for Quality-Aware DevOpswp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/sites/75/2018/01/QU… · Architecture Frameworks, in DevOps! o The ISO/IEC/IEEE

o Comparative evaluation of previous well-known/established arch. Frameworks:

MODAF

RM-ODP

DODAF

TOGAF

4+1-Views

9

Systematic mapping of previous architecture frameworks[2]

Quality-Aware DevOps Architecture Descriptions *

Page 10: A Software Architecture Framework for Quality-Aware DevOpswp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/sites/75/2018/01/QU… · Architecture Frameworks, in DevOps! o The ISO/IEC/IEEE

o Comparative evaluation of previous well-known/established arch. Frameworks:

MODAF

RM-ODP

DODAF

TOGAF

4+1-Views

10

Systematic mapping of previous architecture frameworks[2]

Quality-Aware DevOps Architecture Descriptions *

Page 11: A Software Architecture Framework for Quality-Aware DevOpswp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/sites/75/2018/01/QU… · Architecture Frameworks, in DevOps! o The ISO/IEC/IEEE

11

The 4+1 Views[3] model offers a basis consistent with the identified stakeholders and concerns for quality-aware DevOps…

Quality-Aware DevOps Architecture Descriptions

Page 12: A Software Architecture Framework for Quality-Aware DevOpswp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/sites/75/2018/01/QU… · Architecture Frameworks, in DevOps! o The ISO/IEC/IEEE

12

The 4+1 Views[3] model offers a basis consistent with the identified stakeholders and concerns for quality-aware DevOps…

RQ1: Fine-grained architecture descriptions

Quality-Aware DevOps Architecture Descriptions

Page 13: A Software Architecture Framework for Quality-Aware DevOpswp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/sites/75/2018/01/QU… · Architecture Frameworks, in DevOps! o The ISO/IEC/IEEE

13

The 4+1 Views[3] model offers a basis consistent with the identified stakeholders and concerns for quality-aware DevOps…

RQ1: Infrastructure, platform & app topology specs

Quality-Aware DevOps Architecture Descriptions

Page 14: A Software Architecture Framework for Quality-Aware DevOpswp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/sites/75/2018/01/QU… · Architecture Frameworks, in DevOps! o The ISO/IEC/IEEE

14

The 4+1 Views[3] model offers a basis consistent with the identified stakeholders and concerns for quality-aware DevOps…

RQ1: Model-based synching of arch. views

Quality-Aware DevOps Architecture Descriptions

Page 15: A Software Architecture Framework for Quality-Aware DevOpswp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/sites/75/2018/01/QU… · Architecture Frameworks, in DevOps! o The ISO/IEC/IEEE

Quality-Aware DevOps Architecture Descriptions

But…

15

<…moment of suspense…>

Page 16: A Software Architecture Framework for Quality-Aware DevOpswp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/sites/75/2018/01/QU… · Architecture Frameworks, in DevOps! o The ISO/IEC/IEEE

Something is missing, for example…

1. The Logical architecture view needs synch with quality propertiesverification views

16

Quality Properties View

Privacy

Safety

Page 17: A Software Architecture Framework for Quality-Aware DevOpswp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/sites/75/2018/01/QU… · Architecture Frameworks, in DevOps! o The ISO/IEC/IEEE

2. The Dev- architecture view needs synch with the -Ops view (i.e.,special Physical view)

17

Operations

Something is missing, for example*…

* More on the paper

Page 18: A Software Architecture Framework for Quality-Aware DevOpswp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/sites/75/2018/01/QU… · Architecture Frameworks, in DevOps! o The ISO/IEC/IEEE

Summing it all up: SQUID Views and Transformations

Page 19: A Software Architecture Framework for Quality-Aware DevOpswp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/sites/75/2018/01/QU… · Architecture Frameworks, in DevOps! o The ISO/IEC/IEEE

Summing it all up: SQUID Views and Transformations

Dev Area Views (Development structure, business logic, quality verification)

Ops Area Views (Deployment, process, monitoring)

Page 20: A Software Architecture Framework for Quality-Aware DevOpswp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/sites/75/2018/01/QU… · Architecture Frameworks, in DevOps! o The ISO/IEC/IEEE

SQUID continuous architecting in action

1. Specify Architecture components and restrictions… UMLprofile!

Page 21: A Software Architecture Framework for Quality-Aware DevOpswp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/sites/75/2018/01/QU… · Architecture Frameworks, in DevOps! o The ISO/IEC/IEEE

2. Transform architecture elements in techs. Usingad-hoc tech-packs

SQUID continuous architecting in action

Page 22: A Software Architecture Framework for Quality-Aware DevOpswp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/sites/75/2018/01/QU… · Architecture Frameworks, in DevOps! o The ISO/IEC/IEEE

3. Verify quality properties by means of ad-hocannotations and tools

SQUID continuous architecting in action

Page 23: A Software Architecture Framework for Quality-Aware DevOpswp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/sites/75/2018/01/QU… · Architecture Frameworks, in DevOps! o The ISO/IEC/IEEE

4. Deploy improved architecture

SQUID continuous architecting in action

Page 24: A Software Architecture Framework for Quality-Aware DevOpswp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/sites/75/2018/01/QU… · Architecture Frameworks, in DevOps! o The ISO/IEC/IEEE

5. Monitor and continuously enhance/architect/(re-)deploy

SQUID continuous architecting in action

Page 25: A Software Architecture Framework for Quality-Aware DevOpswp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/sites/75/2018/01/QU… · Architecture Frameworks, in DevOps! o The ISO/IEC/IEEE

For example*…

25Featuring the DICE H2020 EU Project

Page 26: A Software Architecture Framework for Quality-Aware DevOpswp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/sites/75/2018/01/QU… · Architecture Frameworks, in DevOps! o The ISO/IEC/IEEE

In conclusion… Take-home messages!

o MDE and DevOps are made for each other

SQUID offers a complete approach for Quality-AwareMDE-based continuous architecting (e.g., of DIAs)

Heavy use of M2M and M2T transformations

o Needs in DevOps rotate around multi-view andcontinuous-architecting

Speedy modeling, synch and (re-)deployment arecritical

26

Page 27: A Software Architecture Framework for Quality-Aware DevOpswp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/sites/75/2018/01/QU… · Architecture Frameworks, in DevOps! o The ISO/IEC/IEEE

Bibliography

o [1] Group, I. A. W. (2000), 'IEEE Std 1471-2000, Recommendedpractice for architectural description of software-intensive systems' ,Technical report, IEEE , IEEE , i--23 .

o [2]http://www.iso-architecture.org/42010/afs/frameworks-table.html

o [3] Kruchten, P. (1995), 'Architectural Blueprints: The "4+1" ViewModel of Software Architecture', IEEE Software 12 (6), 42-50.

27