A Reference Architecture for Distributed Software Deployment

24
A Reference Architecture for Distributed Software Deployment Sander van der Burg Delft University of Technology, EEMCS, Department of Software Technology June 3, 2013 Sander van der Burg A Reference Architecture for Distributed Software Deployment

description

Slides for the laymen's talk of my PhD thesis defence

Transcript of A Reference Architecture for Distributed Software Deployment

Page 1: A Reference Architecture for Distributed Software Deployment

A Reference Architecture for Distributed Software

Deployment

Sander van der Burg

Delft University of Technology, EEMCS,

Department of Software Technology

June 3, 2013

Sander van der Burg A Reference Architecture for Distributed Software Deployment

Page 2: A Reference Architecture for Distributed Software Deployment

A Reference Architecture for Distributed Software

Deployment

Sander van der Burg A Reference Architecture for Distributed Software Deployment

Page 3: A Reference Architecture for Distributed Software Deployment

A Reference Architecture for Distributed Software

Deployment

Sander van der Burg A Reference Architecture for Distributed Software Deployment

Page 4: A Reference Architecture for Distributed Software Deployment

Software deployment

Sander van der Burg A Reference Architecture for Distributed Software Deployment

Page 5: A Reference Architecture for Distributed Software Deployment

Software deployment

Sander van der Burg A Reference Architecture for Distributed Software Deployment

Software deployment

All of the activities that make a software system available

for use.

Page 6: A Reference Architecture for Distributed Software Deployment

Challenges

Sander van der Burg A Reference Architecture for Distributed Software Deployment

Page 7: A Reference Architecture for Distributed Software Deployment

Challenges

Sander van der Burg A Reference Architecture for Distributed Software Deployment

Software deployment

Time consuming

Error prone

Destructive upgrades

Page 8: A Reference Architecture for Distributed Software Deployment

Some history: Early history

Sander van der Burg A Reference Architecture for Distributed Software Deployment

Page 9: A Reference Architecture for Distributed Software Deployment

Some history: High-level languages and operating systems

Sander van der Burg A Reference Architecture for Distributed Software Deployment

Page 10: A Reference Architecture for Distributed Software Deployment

Some history: High-level languages and operating systems

Sander van der Burg A Reference Architecture for Distributed Software Deployment

Software components

Requires compiler or interpreter and a compatible operating

system

Page 11: A Reference Architecture for Distributed Software Deployment

Some history: Component-based software engineering

Sander van der Burg A Reference Architecture for Distributed Software Deployment

Page 12: A Reference Architecture for Distributed Software Deployment

Some history: Component-based software engineering

Sander van der Burg A Reference Architecture for Distributed Software Deployment

Software components

Components increase programmer productivity

Components increase quality of software

Page 13: A Reference Architecture for Distributed Software Deployment

Some history: Component-based software engineering

Disadvantages:

Sander van der Burg A Reference Architecture for Distributed Software Deployment

Page 14: A Reference Architecture for Distributed Software Deployment

Nowadays: Services on the Internet

Sander van der Burg A Reference Architecture for Distributed Software Deployment

Page 15: A Reference Architecture for Distributed Software Deployment

Nowadays: Services on the internet

Challenges:

Sander van der Burg A Reference Architecture for Distributed Software Deployment

Page 16: A Reference Architecture for Distributed Software Deployment

Nowadays: Services on the Internet

Challenges:

Sander van der Burg A Reference Architecture for Distributed Software Deployment

Software components

Software deployment has become increasingly more compli-

cated

Page 17: A Reference Architecture for Distributed Software Deployment

Earlier research: Nix deployment system

Sander van der Burg A Reference Architecture for Distributed Software Deployment

Page 18: A Reference Architecture for Distributed Software Deployment

Earlier research: Nix deployment system

Sander van der Burg A Reference Architecture for Distributed Software Deployment

Nix deployment

Fully automated deployment

Reliable

Reproducible

Generic

Efficient

Page 19: A Reference Architecture for Distributed Software Deployment

Deploying service-oriented systems

Nix and NixOS are not sufficient for deploying service-oriented

systems:

Sander van der Burg A Reference Architecture for Distributed Software Deployment

Page 20: A Reference Architecture for Distributed Software Deployment

Deploying service-oriented systems

Nix and NixOS are not sufficient for deploying service-oriented

systems:

Sander van der Burg A Reference Architecture for Distributed Software Deployment

Page 21: A Reference Architecture for Distributed Software Deployment

Deploying service-oriented systems

Nix and NixOS are not sufficient for deploying service-oriented

systems:

Sander van der Burg A Reference Architecture for Distributed Software Deployment

Non-functional requirements

Is privacy-sensitive data secured?

Do the analysis components perform well?

Is the system resilient to machine crashes?

Page 22: A Reference Architecture for Distributed Software Deployment

A Reference Architecture for Distributed Software

Deployment

Sander van der Burg A Reference Architecture for Distributed Software Deployment

Page 23: A Reference Architecture for Distributed Software Deployment

An Architecture for Distributed Software Deployment

Sander van der Burg A Reference Architecture for Distributed Software Deployment

Page 24: A Reference Architecture for Distributed Software Deployment

Questions

Sander van der Burg A Reference Architecture for Distributed Software Deployment