SlideShare a Scribd company logo
1 of 25
Download to read offline
A Self-Adaptive Deployment Framework for
Service-Oriented Systems
Sander van der Burg Eelco Dolstra
Delft University of Technology, EEMCS,
Department of Software Technology
May 24, 2011
Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework for Service-Oriented Syst
Service Oriented Computing
The Service Oriented Computing (SOC) paradigm is very popular
to build distributed applications.
Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
Service Oriented Computing
Systems are composed of distributable components (or services),
working together to achieve a common goal.
Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
Networks
Services are deployed in networks of machines having various
properties and capabilities.
Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
Networks
Various events may occur in a network of machines:
Crashing machines
Adding a new machine
Change of a capability (e.g. increase of RAM)
Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
Implications
Events have a number of implications:
The system may partially or completely break
The deployment may become suboptimal
Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
Self-adaptive deployment
In case of an event, a redeployment may be performed
(Re)deployment is difficult, time consuming and error prone
Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
Software deployment
Software deployment
All of the activities that make a software system available for use
Carzaninga et al.
Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
Deployment tooling
Some deployment tools reconfigure service behaviour and
connections, but do not redeploy a complete system
A number of deployment tools are designed for specific
component technologies
e.g. DRAGO, OSGi
A number of deployment planning algorithms have been
developed, but little of them are used in tooling which
perform actual deployment.
Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
Disnix: A distributed service deployment tool
$ disnix-env -s services.nix -i infrastructure.nix -d
distribution.nix
Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
Disnix: A Distributed Service Deployment tool
Disnix is built on top of the purely functional deployment
properties of the Nix package manager:
A generic approach; Many types of services can be supported
Declarative language to describe components and
infrastructure
Store multiple versions/variants of components safely next to
each other
(Almost) atomic upgrades/rollbacks
Garbage collector to safely remove obsolete components
Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
Dynamic deployment extension
How to extend Disnix to deal with events occuring in a network?
Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
Dynamic deployment extension
Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
Dynamic deployment extension
Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
Extensions
The infrastructure generator discovers machines in the
network and their properties
The infrastructure augmenter adds privacy sensitive
properties to the infrastructure model
The distribution model maps services to machines
based on a user-defined QoS policy
The generated infrastructure and distribution model
are used by Disnix to perform redeployment.
Distribution generator
qos.nix
{ services, infrastructure
, initialDistribution, previousDistribution, filters}:
filters.filterB {
inherit services infrastructure;
...
distribution = filters.filterA {
inherit services infrastructure;
distribution = initialDistribution;
...
};
}
The distribution generator uses a QoS model to implement a
distribution policy
By composing functions, a desirable distribution can be
generated
Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
Distribution generator
Typically, a QoS model has the following structure:
Candidate host selection phase. For each service, decide which
host is suitable by looking to service and system properties
Division phase. Divide services across the candidate hosts,
using some strategy.
Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
Distribution generator
Various filter functions are supported:
One-dimensional (highest bidder, lowest bidder, greedy)
Multi-way cut approximation (to reduce the amount of
network links)
Minimum set cover (cost efficient deployment)
Vertex coloring (to maximize the number of network links
using the minimum amount of machines)
Framework is extensible; custom filter functions can be easily
implemented
Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
Evaluation
Example cases:
Staff Tracker. Toy SOA system which comes in two variants
(PHP/MySQL and Webservices).
ViewVC. Open-source web based Subversion repository viewer
(http://viewvc.tigris.org).
SDS2. Industrial SOA case study from Philips Research.
Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
Evaluation
Evaluation method:
Each case study is tested in a network of 20 Xen Virtual
machines
For each case study, we fire various events: adding machines,
crashing machines
We measure the times of the redeployment phases for each
event
Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
Evaluation
StaffTracker (PHP/MySQL)
State Description Discovery (s) Generation (s) Build (s) Distribution (s) Transition (s)
0 Initial deployment 1.0 27.9 31.9 1.2 1.6
1 Add MySQL server 2 1.0 8.3 4.7 1.7 1.7
2 Add MySQL server 3 1.0 4.4 4.5 1.2 1.3
3 Add Apache server 2 1.0 4.4 4.4 1.3 1.5
4 Remove MySQL server 2 1.0 8.2 4.6 1.5 1.8
5 Remove Apache server 1 1.0 8.8 4.4 0.9 1.2
StaffTracker (Web services)
0 Initial deployment 1.0 28.6 169.8 13.1 4.0
1 Add MySQL server $500 1.0 10.7 17.7 6.1 2.9
2 Add Tomcat server $500 1.0 8.4 10.2 13.7 5.7
3 Remove Tomcat server $500 1.0 4.2 0.5 0.6 2.0
4 Remove MySQL server $500 1.0 4.2 0.5 1.2 1.8
ViewVC
0 Initial deployment 1.0 28.5 555.9 9.5 17.5
1 Add MySQL server 1.0 8.2 0.6 0.6 1.1
2 Add Apache server 1.0 8.4 0.5 0.6 1.0
3 Add Subversion server + repo 1.0 8.4 6.3 3.7 8.2
4 Remove Apache server 1 1.0 8.4 4.6 7.5 1.9
5 Remove MySQL server 1 1.0 8.3 5.7 1.9 1.8
SDS2
0 Initial deployment 1.0 28.6 642.9 122.8 147.7
1 Add MySQL server 2 (hospital) 1.0 6.7 0.6 19.1 1.9
2 Add Tomcat server 2 (Philips) 1.0 8.4 0.6 18.5 1.8
3 Remove Tomcat server 1 (Philips) 1.0 8.3 360.2 26.9 6.3
4 Remove MySQL server 1 (hospital) 1.2 10.5 370.4 120.8 124.3
Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
Evaluation
StaffTracker (PHP/MySQL)
State Description Discovery (s) Generation (s) Build (s) Distribution (s) Transition (s)
0 Initial deployment 1.0 27.9 31.9 1.2 1.6
1 Add MySQL server 2 1.0 8.3 4.7 1.7 1.7
2 Add MySQL server 3 1.0 4.4 4.5 1.2 1.3
3 Add Apache server 2 1.0 4.4 4.4 1.3 1.5
4 Remove MySQL server 2 1.0 8.2 4.6 1.5 1.8
5 Remove Apache server 1 1.0 8.8 4.4 0.9 1.2
StaffTracker (Web services)
0 Initial deployment 1.0 28.6 169.8 13.1 4.0
1 Add MySQL server $500 1.0 10.7 17.7 6.1 2.9
2 Add Tomcat server $500 1.0 8.4 10.2 13.7 5.7
3 Remove Tomcat server $500 1.0 4.2 0.5 0.6 2.0
4 Remove MySQL server $500 1.0 4.2 0.5 1.2 1.8
ViewVC
0 Initial deployment 1.0 28.5 555.9 9.5 17.5
1 Add MySQL server 1.0 8.2 0.6 0.6 1.1
2 Add Apache server 1.0 8.4 0.5 0.6 1.0
3 Add Subversion server + repo 1.0 8.4 6.3 3.7 8.2
4 Remove Apache server 1 1.0 8.4 4.6 7.5 1.9
5 Remove MySQL server 1 1.0 8.3 5.7 1.9 1.8
SDS2
0 Initial deployment 1.0 28.6 642.9 122.8 147.7
1 Add MySQL server 2 (hospital) 1.0 6.7 0.6 19.1 1.9
2 Add Tomcat server 2 (Philips) 1.0 8.4 0.6 18.5 1.8
3 Remove Tomcat server 1 (Philips) 1.0 8.3 360.2 26.9 6.3
4 Remove MySQL server 1 (hospital) 1.2 10.5 370.4 120.8 124.3
Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
Results
Initial deployment times are long; redeployment times
are significantly shorter
If a new machine is added: only a short downtime
occurs when activating the new configuration
In case of a crashing machine: if a network has been
deployed before, you can switch instantly back
In some cases SDS2 has long redeployment times, due
to bad design decisions
Conclusion
We have shown a self-adaptive deployment extension around
Disnix
A system gets redeployed in case of an event
A distribution policy can be implemented, by using a
collection of algorithms
Due to the purely functional properties of Nix, redeployment
is reliable and efficient.
Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
Future work
Support complex network topologies.
Implement more sophisticated deployment planning
algorithms:
e.g. Avala
Support mutable state.
Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
References
Disnix (and other related Nix tooling) is available under Free and
Open Source licenses:
Disnix homepage: http://nixos.org/disnix
Other Nix related software: http://nixos.org
Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
Questions
Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework

More Related Content

What's hot

Fiware cloud capabilities_and_setting_up_your_environment
Fiware cloud capabilities_and_setting_up_your_environmentFiware cloud capabilities_and_setting_up_your_environment
Fiware cloud capabilities_and_setting_up_your_environmentMiguel García González
 
Simple docker hosting on fiware lab
Simple docker hosting on fiware labSimple docker hosting on fiware lab
Simple docker hosting on fiware labKenneth Nagin
 
Setting up your virtual infrastructure using fi-lab cloud
Setting up your virtual infrastructure using fi-lab cloudSetting up your virtual infrastructure using fi-lab cloud
Setting up your virtual infrastructure using fi-lab cloudFernando Lopez Aguilar
 
OpenStack Benelux - Cloud, OpenStack and a Market In Motion - Sept 2015final
OpenStack Benelux -  Cloud, OpenStack and a Market In Motion - Sept 2015final OpenStack Benelux -  Cloud, OpenStack and a Market In Motion - Sept 2015final
OpenStack Benelux - Cloud, OpenStack and a Market In Motion - Sept 2015final John Zannos
 
Cloud Factsheet Ubuntu Open Stack
Cloud  Factsheet Ubuntu Open StackCloud  Factsheet Ubuntu Open Stack
Cloud Factsheet Ubuntu Open StackThe World Bank
 
Openstack in action2 canonical - openstack cloud on ubuntu it is happening ...
Openstack in action2   canonical - openstack cloud on ubuntu it is happening ...Openstack in action2   canonical - openstack cloud on ubuntu it is happening ...
Openstack in action2 canonical - openstack cloud on ubuntu it is happening ...eNovance
 
Cisco deploying openstack with UCS
Cisco deploying openstack with UCSCisco deploying openstack with UCS
Cisco deploying openstack with UCSsolarisyougood
 
Building your own personal cloud with Eucalyptus
Building your own personal cloud with EucalyptusBuilding your own personal cloud with Eucalyptus
Building your own personal cloud with EucalyptusOrlando_Ruby_Users_Group
 
OpenStack Boston User Group, OpenStack overview
OpenStack Boston User Group, OpenStack overviewOpenStack Boston User Group, OpenStack overview
OpenStack Boston User Group, OpenStack overviewOpen Stack
 
What Is OpenStack | OpenStack Tutorial For Beginners | OpenStack Training | E...
What Is OpenStack | OpenStack Tutorial For Beginners | OpenStack Training | E...What Is OpenStack | OpenStack Tutorial For Beginners | OpenStack Training | E...
What Is OpenStack | OpenStack Tutorial For Beginners | OpenStack Training | E...Edureka!
 
Deploying private cloud with eucalyptus
Deploying private cloud with eucalyptusDeploying private cloud with eucalyptus
Deploying private cloud with eucalyptusBeny Raja
 
OpenStack: Everything You Need to Know To Get Started
OpenStack: Everything You Need to Know To Get StartedOpenStack: Everything You Need to Know To Get Started
OpenStack: Everything You Need to Know To Get StartedAll Things Open
 
The Ubuntu OpenStack interoperability lab - Proven integration testing Nicola...
The Ubuntu OpenStack interoperability lab - Proven integration testing Nicola...The Ubuntu OpenStack interoperability lab - Proven integration testing Nicola...
The Ubuntu OpenStack interoperability lab - Proven integration testing Nicola...Cloud Native Day Tel Aviv
 
Cisco UCS for OpenStack Cloud
Cisco UCS for OpenStack CloudCisco UCS for OpenStack Cloud
Cisco UCS for OpenStack CloudLora O'Haver
 
TECHNICAL WHITE PAPER▶ Applying Data Center Security with VMware NSX
TECHNICAL WHITE PAPER▶ Applying Data Center Security with VMware NSXTECHNICAL WHITE PAPER▶ Applying Data Center Security with VMware NSX
TECHNICAL WHITE PAPER▶ Applying Data Center Security with VMware NSXSymantec
 
OpenStack + VMware at the Hong Kong OpenStack Summit
OpenStack + VMware at the Hong Kong OpenStack SummitOpenStack + VMware at the Hong Kong OpenStack Summit
OpenStack + VMware at the Hong Kong OpenStack SummitDan Wendlandt
 
VIO30 Technical Overview
VIO30 Technical OverviewVIO30 Technical Overview
VIO30 Technical OverviewJulienne Pham
 

What's hot (20)

Fiware cloud capabilities_and_setting_up_your_environment
Fiware cloud capabilities_and_setting_up_your_environmentFiware cloud capabilities_and_setting_up_your_environment
Fiware cloud capabilities_and_setting_up_your_environment
 
Virtualization
Virtualization Virtualization
Virtualization
 
Simple docker hosting on fiware lab
Simple docker hosting on fiware labSimple docker hosting on fiware lab
Simple docker hosting on fiware lab
 
FIWARE Lab
FIWARE LabFIWARE Lab
FIWARE Lab
 
Setting up your virtual infrastructure using fi-lab cloud
Setting up your virtual infrastructure using fi-lab cloudSetting up your virtual infrastructure using fi-lab cloud
Setting up your virtual infrastructure using fi-lab cloud
 
OpenStack Benelux - Cloud, OpenStack and a Market In Motion - Sept 2015final
OpenStack Benelux -  Cloud, OpenStack and a Market In Motion - Sept 2015final OpenStack Benelux -  Cloud, OpenStack and a Market In Motion - Sept 2015final
OpenStack Benelux - Cloud, OpenStack and a Market In Motion - Sept 2015final
 
Join FIWARE Lab
Join FIWARE LabJoin FIWARE Lab
Join FIWARE Lab
 
Cloud Factsheet Ubuntu Open Stack
Cloud  Factsheet Ubuntu Open StackCloud  Factsheet Ubuntu Open Stack
Cloud Factsheet Ubuntu Open Stack
 
Openstack in action2 canonical - openstack cloud on ubuntu it is happening ...
Openstack in action2   canonical - openstack cloud on ubuntu it is happening ...Openstack in action2   canonical - openstack cloud on ubuntu it is happening ...
Openstack in action2 canonical - openstack cloud on ubuntu it is happening ...
 
Cisco deploying openstack with UCS
Cisco deploying openstack with UCSCisco deploying openstack with UCS
Cisco deploying openstack with UCS
 
Building your own personal cloud with Eucalyptus
Building your own personal cloud with EucalyptusBuilding your own personal cloud with Eucalyptus
Building your own personal cloud with Eucalyptus
 
OpenStack Boston User Group, OpenStack overview
OpenStack Boston User Group, OpenStack overviewOpenStack Boston User Group, OpenStack overview
OpenStack Boston User Group, OpenStack overview
 
What Is OpenStack | OpenStack Tutorial For Beginners | OpenStack Training | E...
What Is OpenStack | OpenStack Tutorial For Beginners | OpenStack Training | E...What Is OpenStack | OpenStack Tutorial For Beginners | OpenStack Training | E...
What Is OpenStack | OpenStack Tutorial For Beginners | OpenStack Training | E...
 
Deploying private cloud with eucalyptus
Deploying private cloud with eucalyptusDeploying private cloud with eucalyptus
Deploying private cloud with eucalyptus
 
OpenStack: Everything You Need to Know To Get Started
OpenStack: Everything You Need to Know To Get StartedOpenStack: Everything You Need to Know To Get Started
OpenStack: Everything You Need to Know To Get Started
 
The Ubuntu OpenStack interoperability lab - Proven integration testing Nicola...
The Ubuntu OpenStack interoperability lab - Proven integration testing Nicola...The Ubuntu OpenStack interoperability lab - Proven integration testing Nicola...
The Ubuntu OpenStack interoperability lab - Proven integration testing Nicola...
 
Cisco UCS for OpenStack Cloud
Cisco UCS for OpenStack CloudCisco UCS for OpenStack Cloud
Cisco UCS for OpenStack Cloud
 
TECHNICAL WHITE PAPER▶ Applying Data Center Security with VMware NSX
TECHNICAL WHITE PAPER▶ Applying Data Center Security with VMware NSXTECHNICAL WHITE PAPER▶ Applying Data Center Security with VMware NSX
TECHNICAL WHITE PAPER▶ Applying Data Center Security with VMware NSX
 
OpenStack + VMware at the Hong Kong OpenStack Summit
OpenStack + VMware at the Hong Kong OpenStack SummitOpenStack + VMware at the Hong Kong OpenStack Summit
OpenStack + VMware at the Hong Kong OpenStack Summit
 
VIO30 Technical Overview
VIO30 Technical OverviewVIO30 Technical Overview
VIO30 Technical Overview
 

Viewers also liked

Model Manipulation Using Embedded DSLs in Scala
Model Manipulation Using Embedded DSLs in ScalaModel Manipulation Using Embedded DSLs in Scala
Model Manipulation Using Embedded DSLs in ScalaFilip Krikava
 
Unisys Service Oriented Self Adaptive Systems
Unisys Service Oriented Self Adaptive SystemsUnisys Service Oriented Self Adaptive Systems
Unisys Service Oriented Self Adaptive SystemsGovCloud Network
 
Self-Adaptive Federated Authorisation Infrastructures
Self-Adaptive Federated Authorisation InfrastructuresSelf-Adaptive Federated Authorisation Infrastructures
Self-Adaptive Federated Authorisation InfrastructuresLionel Montrieux
 
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software Architectures
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software ArchitecturesACTRESS: Domain-Specific Modeling of Self-Adaptive Software Architectures
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software ArchitecturesFilip Krikava
 
A Self-Adaptive Evolutionary Negative Selection Approach for Anom
A Self-Adaptive Evolutionary Negative Selection Approach for AnomA Self-Adaptive Evolutionary Negative Selection Approach for Anom
A Self-Adaptive Evolutionary Negative Selection Approach for AnomLuis J. Gonzalez, PhD
 
Intensive Surrogate Model Exploitation in Self-adaptive Surrogate-assisted CM...
Intensive Surrogate Model Exploitation in Self-adaptive Surrogate-assisted CM...Intensive Surrogate Model Exploitation in Self-adaptive Surrogate-assisted CM...
Intensive Surrogate Model Exploitation in Self-adaptive Surrogate-assisted CM...Ilya Loshchilov
 
Domain specific languages and Scala
Domain specific languages and ScalaDomain specific languages and Scala
Domain specific languages and ScalaFilip Krikava
 
Hausi Müller - Towards Self-Adaptive Software-Intensive Systems
Hausi Müller - Towards Self-Adaptive Software-Intensive SystemsHausi Müller - Towards Self-Adaptive Software-Intensive Systems
Hausi Müller - Towards Self-Adaptive Software-Intensive SystemsCHOOSE
 
Do Search-Based Approaches Improve the Design of Self-Adaptive Systems ? A Co...
Do Search-Based Approaches Improve the Design of Self-Adaptive Systems ? A Co...Do Search-Based Approaches Improve the Design of Self-Adaptive Systems ? A Co...
Do Search-Based Approaches Improve the Design of Self-Adaptive Systems ? A Co...Sandro Andrade
 
Architectural Design Spaces for Feedback Control in Self-Adaptive Systems Con...
Architectural Design Spaces for Feedback Control in Self-Adaptive Systems Con...Architectural Design Spaces for Feedback Control in Self-Adaptive Systems Con...
Architectural Design Spaces for Feedback Control in Self-Adaptive Systems Con...Sandro Andrade
 
Self-Adaptive SLA-Driven Capacity Management for Internet Services
Self-Adaptive SLA-Driven Capacity Management for Internet ServicesSelf-Adaptive SLA-Driven Capacity Management for Internet Services
Self-Adaptive SLA-Driven Capacity Management for Internet ServicesBruno Abrahao
 
AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices
AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT DevicesAdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices
AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT DevicesDemetris Trihinas
 
201209 An Introduction to Building Affective-Driven Self-Adaptive Software
201209 An Introduction to Building Affective-Driven Self-Adaptive Software 201209 An Introduction to Building Affective-Driven Self-Adaptive Software
201209 An Introduction to Building Affective-Driven Self-Adaptive Software Javier Gonzalez-Sanchez
 

Viewers also liked (20)

Model Manipulation Using Embedded DSLs in Scala
Model Manipulation Using Embedded DSLs in ScalaModel Manipulation Using Embedded DSLs in Scala
Model Manipulation Using Embedded DSLs in Scala
 
Unisys Service Oriented Self Adaptive Systems
Unisys Service Oriented Self Adaptive SystemsUnisys Service Oriented Self Adaptive Systems
Unisys Service Oriented Self Adaptive Systems
 
Self-Adaptive Federated Authorisation Infrastructures
Self-Adaptive Federated Authorisation InfrastructuresSelf-Adaptive Federated Authorisation Infrastructures
Self-Adaptive Federated Authorisation Infrastructures
 
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software Architectures
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software ArchitecturesACTRESS: Domain-Specific Modeling of Self-Adaptive Software Architectures
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software Architectures
 
A Self-Adaptive Evolutionary Negative Selection Approach for Anom
A Self-Adaptive Evolutionary Negative Selection Approach for AnomA Self-Adaptive Evolutionary Negative Selection Approach for Anom
A Self-Adaptive Evolutionary Negative Selection Approach for Anom
 
Intensive Surrogate Model Exploitation in Self-adaptive Surrogate-assisted CM...
Intensive Surrogate Model Exploitation in Self-adaptive Surrogate-assisted CM...Intensive Surrogate Model Exploitation in Self-adaptive Surrogate-assisted CM...
Intensive Surrogate Model Exploitation in Self-adaptive Surrogate-assisted CM...
 
PhD Thesis Defense
PhD Thesis DefensePhD Thesis Defense
PhD Thesis Defense
 
Domain specific languages and Scala
Domain specific languages and ScalaDomain specific languages and Scala
Domain specific languages and Scala
 
Hausi Müller - Towards Self-Adaptive Software-Intensive Systems
Hausi Müller - Towards Self-Adaptive Software-Intensive SystemsHausi Müller - Towards Self-Adaptive Software-Intensive Systems
Hausi Müller - Towards Self-Adaptive Software-Intensive Systems
 
Do Search-Based Approaches Improve the Design of Self-Adaptive Systems ? A Co...
Do Search-Based Approaches Improve the Design of Self-Adaptive Systems ? A Co...Do Search-Based Approaches Improve the Design of Self-Adaptive Systems ? A Co...
Do Search-Based Approaches Improve the Design of Self-Adaptive Systems ? A Co...
 
Architectural Design Spaces for Feedback Control in Self-Adaptive Systems Con...
Architectural Design Spaces for Feedback Control in Self-Adaptive Systems Con...Architectural Design Spaces for Feedback Control in Self-Adaptive Systems Con...
Architectural Design Spaces for Feedback Control in Self-Adaptive Systems Con...
 
Self-Adaptive SLA-Driven Capacity Management for Internet Services
Self-Adaptive SLA-Driven Capacity Management for Internet ServicesSelf-Adaptive SLA-Driven Capacity Management for Internet Services
Self-Adaptive SLA-Driven Capacity Management for Internet Services
 
Tan smart city infrastucture framework
Tan smart city infrastucture frameworkTan smart city infrastucture framework
Tan smart city infrastucture framework
 
AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices
AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT DevicesAdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices
AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices
 
201209 An Introduction to Building Affective-Driven Self-Adaptive Software
201209 An Introduction to Building Affective-Driven Self-Adaptive Software 201209 An Introduction to Building Affective-Driven Self-Adaptive Software
201209 An Introduction to Building Affective-Driven Self-Adaptive Software
 
Tan Smart City Infrastucture Framework
Tan Smart City Infrastucture FrameworkTan Smart City Infrastucture Framework
Tan Smart City Infrastucture Framework
 
Unit 1- simple stress and strain
Unit 1- simple stress and strainUnit 1- simple stress and strain
Unit 1- simple stress and strain
 
Robots: state of-the-art and future trends
Robots: state of-the-art and future trendsRobots: state of-the-art and future trends
Robots: state of-the-art and future trends
 
Unit 8: Torsion of circular shafts and elastic stability of columns
Unit 8: Torsion of circular shafts and elastic stability of columnsUnit 8: Torsion of circular shafts and elastic stability of columns
Unit 8: Torsion of circular shafts and elastic stability of columns
 
Force, Pressure and Torque measurements
Force, Pressure and Torque measurementsForce, Pressure and Torque measurements
Force, Pressure and Torque measurements
 

Similar to A Self-Adaptive Deployment Framework for Service-Oriented Systems

Automated Deployment of Hetergeneous Service-Oriented System
Automated Deployment of Hetergeneous Service-Oriented SystemAutomated Deployment of Hetergeneous Service-Oriented System
Automated Deployment of Hetergeneous Service-Oriented SystemSander van der Burg
 
Virtualization In Software Testing
Virtualization In Software TestingVirtualization In Software Testing
Virtualization In Software TestingColloquium
 
High Performance Computing (HPC) and Engineering Simulations in the Cloud
High Performance Computing (HPC) and Engineering Simulations in the CloudHigh Performance Computing (HPC) and Engineering Simulations in the Cloud
High Performance Computing (HPC) and Engineering Simulations in the CloudThe UberCloud
 
High Performance Computing (HPC) and Engineering Simulations in the Cloud
High Performance Computing (HPC) and Engineering Simulations in the CloudHigh Performance Computing (HPC) and Engineering Simulations in the Cloud
High Performance Computing (HPC) and Engineering Simulations in the CloudWolfgang Gentzsch
 
Weave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapWeave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapPatrick Chanezon
 
Cloud-native .NET-Microservices mit Kubernetes @BASTAcon
Cloud-native .NET-Microservices mit Kubernetes @BASTAconCloud-native .NET-Microservices mit Kubernetes @BASTAcon
Cloud-native .NET-Microservices mit Kubernetes @BASTAconMario-Leander Reimer
 
CloudStack EU user group - CloudStack news
CloudStack EU user group - CloudStack newsCloudStack EU user group - CloudStack news
CloudStack EU user group - CloudStack newsShapeBlue
 
Cozystack: Free PaaS platform and framework for building clouds
Cozystack: Free PaaS platform and framework for building cloudsCozystack: Free PaaS platform and framework for building clouds
Cozystack: Free PaaS platform and framework for building cloudsAndrei Kvapil
 
What is this DevOps thing and why do I need it?
What is this DevOps thing and why do I need it?What is this DevOps thing and why do I need it?
What is this DevOps thing and why do I need it?Safe Swiss Cloud
 
Reston Virtualization Group 9-18-2014
Reston Virtualization Group 9-18-2014 Reston Virtualization Group 9-18-2014
Reston Virtualization Group 9-18-2014 VMwareJenn
 
VMworld 2015: vCloud Air 2015 – Getting Started with Hybrid Cloud
VMworld 2015: vCloud Air 2015 – Getting Started with Hybrid CloudVMworld 2015: vCloud Air 2015 – Getting Started with Hybrid Cloud
VMworld 2015: vCloud Air 2015 – Getting Started with Hybrid CloudVMworld
 
VMware ventaja competitiva
VMware ventaja competitivaVMware ventaja competitiva
VMware ventaja competitivaGrupo Texium
 
Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...
Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...
Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...Eduardo Patrocinio
 
Virtualization meisen 042811
Virtualization meisen 042811Virtualization meisen 042811
Virtualization meisen 042811Morty Eisen
 
CIT-2697 - Customer Success Stories with IBM PureApplication System
CIT-2697 - Customer Success Stories with IBM PureApplication SystemCIT-2697 - Customer Success Stories with IBM PureApplication System
CIT-2697 - Customer Success Stories with IBM PureApplication SystemHendrik van Run
 
Spirent HyperScale Test Solution
Spirent HyperScale Test SolutionSpirent HyperScale Test Solution
Spirent HyperScale Test SolutionMalathi Malla
 
ZCM update VAI Brainforce
ZCM update VAI BrainforceZCM update VAI Brainforce
ZCM update VAI BrainforceRoel van Bueren
 

Similar to A Self-Adaptive Deployment Framework for Service-Oriented Systems (20)

Automated Deployment of Hetergeneous Service-Oriented System
Automated Deployment of Hetergeneous Service-Oriented SystemAutomated Deployment of Hetergeneous Service-Oriented System
Automated Deployment of Hetergeneous Service-Oriented System
 
Virtualization In Software Testing
Virtualization In Software TestingVirtualization In Software Testing
Virtualization In Software Testing
 
High Performance Computing (HPC) and Engineering Simulations in the Cloud
High Performance Computing (HPC) and Engineering Simulations in the CloudHigh Performance Computing (HPC) and Engineering Simulations in the Cloud
High Performance Computing (HPC) and Engineering Simulations in the Cloud
 
High Performance Computing (HPC) and Engineering Simulations in the Cloud
High Performance Computing (HPC) and Engineering Simulations in the CloudHigh Performance Computing (HPC) and Engineering Simulations in the Cloud
High Performance Computing (HPC) and Engineering Simulations in the Cloud
 
Weave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapWeave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 Recap
 
Cloud-native .NET-Microservices mit Kubernetes @BASTAcon
Cloud-native .NET-Microservices mit Kubernetes @BASTAconCloud-native .NET-Microservices mit Kubernetes @BASTAcon
Cloud-native .NET-Microservices mit Kubernetes @BASTAcon
 
CloudStack EU user group - CloudStack news
CloudStack EU user group - CloudStack newsCloudStack EU user group - CloudStack news
CloudStack EU user group - CloudStack news
 
Cozystack: Free PaaS platform and framework for building clouds
Cozystack: Free PaaS platform and framework for building cloudsCozystack: Free PaaS platform and framework for building clouds
Cozystack: Free PaaS platform and framework for building clouds
 
Windows azure overview for SharePoint Pros
Windows azure overview for SharePoint Pros Windows azure overview for SharePoint Pros
Windows azure overview for SharePoint Pros
 
What is this DevOps thing and why do I need it?
What is this DevOps thing and why do I need it?What is this DevOps thing and why do I need it?
What is this DevOps thing and why do I need it?
 
Reston Virtualization Group 9-18-2014
Reston Virtualization Group 9-18-2014 Reston Virtualization Group 9-18-2014
Reston Virtualization Group 9-18-2014
 
VMworld 2015: vCloud Air 2015 – Getting Started with Hybrid Cloud
VMworld 2015: vCloud Air 2015 – Getting Started with Hybrid CloudVMworld 2015: vCloud Air 2015 – Getting Started with Hybrid Cloud
VMworld 2015: vCloud Air 2015 – Getting Started with Hybrid Cloud
 
VMware ventaja competitiva
VMware ventaja competitivaVMware ventaja competitiva
VMware ventaja competitiva
 
Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...
Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...
Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...
 
Virtualization meisen 042811
Virtualization meisen 042811Virtualization meisen 042811
Virtualization meisen 042811
 
CIT-2697 - Customer Success Stories with IBM PureApplication System
CIT-2697 - Customer Success Stories with IBM PureApplication SystemCIT-2697 - Customer Success Stories with IBM PureApplication System
CIT-2697 - Customer Success Stories with IBM PureApplication System
 
Spirent HyperScale Test Solution
Spirent HyperScale Test SolutionSpirent HyperScale Test Solution
Spirent HyperScale Test Solution
 
ZCM update VAI Brainforce
ZCM update VAI BrainforceZCM update VAI Brainforce
ZCM update VAI Brainforce
 
5 cisco open_stack
5 cisco open_stack5 cisco open_stack
5 cisco open_stack
 
A Xen Case Study
A Xen Case StudyA Xen Case Study
A Xen Case Study
 

More from Sander van der Burg

nix-processmgmt: An experimental Nix-based process manager-agnostic framework
nix-processmgmt: An experimental Nix-based process manager-agnostic frameworknix-processmgmt: An experimental Nix-based process manager-agnostic framework
nix-processmgmt: An experimental Nix-based process manager-agnostic frameworkSander van der Burg
 
Using Nix and Docker as automated deployment solutions
Using Nix and Docker as automated deployment solutionsUsing Nix and Docker as automated deployment solutions
Using Nix and Docker as automated deployment solutionsSander van der Burg
 
Dysnomia: complementing Nix deployments with state deployment
Dysnomia: complementing Nix deployments with state deploymentDysnomia: complementing Nix deployments with state deployment
Dysnomia: complementing Nix deployments with state deploymentSander van der Burg
 
Automating Mendix application deployments with Nix
Automating Mendix application deployments with NixAutomating Mendix application deployments with Nix
Automating Mendix application deployments with NixSander van der Burg
 
Deploying NPM packages with the Nix package manager
Deploying NPM packages with the Nix package managerDeploying NPM packages with the Nix package manager
Deploying NPM packages with the Nix package managerSander van der Burg
 
The NixOS project and deploying systems declaratively
The NixOS project and deploying systems declarativelyThe NixOS project and deploying systems declaratively
The NixOS project and deploying systems declarativelySander van der Burg
 
Deploying (micro)services with Disnix
Deploying (micro)services with DisnixDeploying (micro)services with Disnix
Deploying (micro)services with DisnixSander van der Burg
 
Hydra: Continuous Integration and Testing for Demanding People: The Details
Hydra: Continuous Integration and Testing for Demanding People: The DetailsHydra: Continuous Integration and Testing for Demanding People: The Details
Hydra: Continuous Integration and Testing for Demanding People: The DetailsSander van der Burg
 
Hydra: Continuous Integration and Testing for Demanding People: The Basics
Hydra: Continuous Integration and Testing for Demanding People: The BasicsHydra: Continuous Integration and Testing for Demanding People: The Basics
Hydra: Continuous Integration and Testing for Demanding People: The BasicsSander van der Burg
 
A Reference Architecture for Distributed Software Deployment
A Reference Architecture for Distributed Software DeploymentA Reference Architecture for Distributed Software Deployment
A Reference Architecture for Distributed Software DeploymentSander van der Burg
 
A Reference Architecture for Distributed Software Deployment
A Reference Architecture for Distributed Software DeploymentA Reference Architecture for Distributed Software Deployment
A Reference Architecture for Distributed Software DeploymentSander van der Burg
 
Techniques and lessons for improvement of deployment processes
Techniques and lessons for improvement of deployment processesTechniques and lessons for improvement of deployment processes
Techniques and lessons for improvement of deployment processesSander van der Burg
 
A Generic Approach for Deploying and Upgrading Mutable Software Components
A Generic Approach for Deploying and Upgrading Mutable Software ComponentsA Generic Approach for Deploying and Upgrading Mutable Software Components
A Generic Approach for Deploying and Upgrading Mutable Software ComponentsSander van der Burg
 
Deploying .NET services with Disnix
Deploying .NET services with DisnixDeploying .NET services with Disnix
Deploying .NET services with DisnixSander van der Burg
 
Using NixOS for declarative deployment and testing
Using NixOS for declarative deployment and testingUsing NixOS for declarative deployment and testing
Using NixOS for declarative deployment and testingSander van der Burg
 
Disnix: A toolset for distributed deployment
Disnix: A toolset for distributed deploymentDisnix: A toolset for distributed deployment
Disnix: A toolset for distributed deploymentSander van der Burg
 

More from Sander van der Burg (20)

The Monitoring Playground
The Monitoring PlaygroundThe Monitoring Playground
The Monitoring Playground
 
nix-processmgmt: An experimental Nix-based process manager-agnostic framework
nix-processmgmt: An experimental Nix-based process manager-agnostic frameworknix-processmgmt: An experimental Nix-based process manager-agnostic framework
nix-processmgmt: An experimental Nix-based process manager-agnostic framework
 
Using Nix and Docker as automated deployment solutions
Using Nix and Docker as automated deployment solutionsUsing Nix and Docker as automated deployment solutions
Using Nix and Docker as automated deployment solutions
 
Dysnomia: complementing Nix deployments with state deployment
Dysnomia: complementing Nix deployments with state deploymentDysnomia: complementing Nix deployments with state deployment
Dysnomia: complementing Nix deployments with state deployment
 
Automating Mendix application deployments with Nix
Automating Mendix application deployments with NixAutomating Mendix application deployments with Nix
Automating Mendix application deployments with Nix
 
Deploying NPM packages with the Nix package manager
Deploying NPM packages with the Nix package managerDeploying NPM packages with the Nix package manager
Deploying NPM packages with the Nix package manager
 
The NixOS project and deploying systems declaratively
The NixOS project and deploying systems declarativelyThe NixOS project and deploying systems declaratively
The NixOS project and deploying systems declaratively
 
Deploying (micro)services with Disnix
Deploying (micro)services with DisnixDeploying (micro)services with Disnix
Deploying (micro)services with Disnix
 
Hydra: Continuous Integration and Testing for Demanding People: The Details
Hydra: Continuous Integration and Testing for Demanding People: The DetailsHydra: Continuous Integration and Testing for Demanding People: The Details
Hydra: Continuous Integration and Testing for Demanding People: The Details
 
Hydra: Continuous Integration and Testing for Demanding People: The Basics
Hydra: Continuous Integration and Testing for Demanding People: The BasicsHydra: Continuous Integration and Testing for Demanding People: The Basics
Hydra: Continuous Integration and Testing for Demanding People: The Basics
 
A Reference Architecture for Distributed Software Deployment
A Reference Architecture for Distributed Software DeploymentA Reference Architecture for Distributed Software Deployment
A Reference Architecture for Distributed Software Deployment
 
The Nix project
The Nix projectThe Nix project
The Nix project
 
A Reference Architecture for Distributed Software Deployment
A Reference Architecture for Distributed Software DeploymentA Reference Architecture for Distributed Software Deployment
A Reference Architecture for Distributed Software Deployment
 
Techniques and lessons for improvement of deployment processes
Techniques and lessons for improvement of deployment processesTechniques and lessons for improvement of deployment processes
Techniques and lessons for improvement of deployment processes
 
The Nix project
The Nix projectThe Nix project
The Nix project
 
A Generic Approach for Deploying and Upgrading Mutable Software Components
A Generic Approach for Deploying and Upgrading Mutable Software ComponentsA Generic Approach for Deploying and Upgrading Mutable Software Components
A Generic Approach for Deploying and Upgrading Mutable Software Components
 
Deploying .NET services with Disnix
Deploying .NET services with DisnixDeploying .NET services with Disnix
Deploying .NET services with Disnix
 
Using NixOS for declarative deployment and testing
Using NixOS for declarative deployment and testingUsing NixOS for declarative deployment and testing
Using NixOS for declarative deployment and testing
 
Pull Deployment of Services
Pull Deployment of ServicesPull Deployment of Services
Pull Deployment of Services
 
Disnix: A toolset for distributed deployment
Disnix: A toolset for distributed deploymentDisnix: A toolset for distributed deployment
Disnix: A toolset for distributed deployment
 

Recently uploaded

Pests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdfPests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdfPirithiRaju
 
Carbon Dioxide Capture and Storage (CSS)
Carbon Dioxide Capture and Storage (CSS)Carbon Dioxide Capture and Storage (CSS)
Carbon Dioxide Capture and Storage (CSS)Tamer Koksalan, PhD
 
Topic 9- General Principles of International Law.pptx
Topic 9- General Principles of International Law.pptxTopic 9- General Principles of International Law.pptx
Topic 9- General Principles of International Law.pptxJorenAcuavera1
 
Neurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 trNeurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 trssuser06f238
 
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfBehavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfSELF-EXPLANATORY
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
ECG Graph Monitoring with AD8232 ECG Sensor & Arduino.pptx
ECG Graph Monitoring with AD8232 ECG Sensor & Arduino.pptxECG Graph Monitoring with AD8232 ECG Sensor & Arduino.pptx
ECG Graph Monitoring with AD8232 ECG Sensor & Arduino.pptxmaryFF1
 
Radiation physics in Dental Radiology...
Radiation physics in Dental Radiology...Radiation physics in Dental Radiology...
Radiation physics in Dental Radiology...navyadasi1992
 
OECD bibliometric indicators: Selected highlights, April 2024
OECD bibliometric indicators: Selected highlights, April 2024OECD bibliometric indicators: Selected highlights, April 2024
OECD bibliometric indicators: Selected highlights, April 2024innovationoecd
 
User Guide: Orion™ Weather Station (Columbia Weather Systems)
User Guide: Orion™ Weather Station (Columbia Weather Systems)User Guide: Orion™ Weather Station (Columbia Weather Systems)
User Guide: Orion™ Weather Station (Columbia Weather Systems)Columbia Weather Systems
 
Pests of Bengal gram_Identification_Dr.UPR.pdf
Pests of Bengal gram_Identification_Dr.UPR.pdfPests of Bengal gram_Identification_Dr.UPR.pdf
Pests of Bengal gram_Identification_Dr.UPR.pdfPirithiRaju
 
GenBio2 - Lesson 1 - Introduction to Genetics.pptx
GenBio2 - Lesson 1 - Introduction to Genetics.pptxGenBio2 - Lesson 1 - Introduction to Genetics.pptx
GenBio2 - Lesson 1 - Introduction to Genetics.pptxBerniceCayabyab1
 
Pests of safflower_Binomics_Identification_Dr.UPR.pdf
Pests of safflower_Binomics_Identification_Dr.UPR.pdfPests of safflower_Binomics_Identification_Dr.UPR.pdf
Pests of safflower_Binomics_Identification_Dr.UPR.pdfPirithiRaju
 
Environmental Biotechnology Topic:- Microbial Biosensor
Environmental Biotechnology Topic:- Microbial BiosensorEnvironmental Biotechnology Topic:- Microbial Biosensor
Environmental Biotechnology Topic:- Microbial Biosensorsonawaneprad
 
Davis plaque method.pptx recombinant DNA technology
Davis plaque method.pptx recombinant DNA technologyDavis plaque method.pptx recombinant DNA technology
Davis plaque method.pptx recombinant DNA technologycaarthichand2003
 
Call Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 Genuine
Call Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 GenuineCall Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 Genuine
Call Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 Genuinethapagita
 
Four Spheres of the Earth Presentation.ppt
Four Spheres of the Earth Presentation.pptFour Spheres of the Earth Presentation.ppt
Four Spheres of the Earth Presentation.pptJoemSTuliba
 
FREE NURSING BUNDLE FOR NURSES.PDF by na
FREE NURSING BUNDLE FOR NURSES.PDF by naFREE NURSING BUNDLE FOR NURSES.PDF by na
FREE NURSING BUNDLE FOR NURSES.PDF by naJASISJULIANOELYNV
 
Base editing, prime editing, Cas13 & RNA editing and organelle base editing
Base editing, prime editing, Cas13 & RNA editing and organelle base editingBase editing, prime editing, Cas13 & RNA editing and organelle base editing
Base editing, prime editing, Cas13 & RNA editing and organelle base editingNetHelix
 
Bioteknologi kelas 10 kumer smapsa .pptx
Bioteknologi kelas 10 kumer smapsa .pptxBioteknologi kelas 10 kumer smapsa .pptx
Bioteknologi kelas 10 kumer smapsa .pptx023NiWayanAnggiSriWa
 

Recently uploaded (20)

Pests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdfPests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdf
 
Carbon Dioxide Capture and Storage (CSS)
Carbon Dioxide Capture and Storage (CSS)Carbon Dioxide Capture and Storage (CSS)
Carbon Dioxide Capture and Storage (CSS)
 
Topic 9- General Principles of International Law.pptx
Topic 9- General Principles of International Law.pptxTopic 9- General Principles of International Law.pptx
Topic 9- General Principles of International Law.pptx
 
Neurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 trNeurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 tr
 
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfBehavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
ECG Graph Monitoring with AD8232 ECG Sensor & Arduino.pptx
ECG Graph Monitoring with AD8232 ECG Sensor & Arduino.pptxECG Graph Monitoring with AD8232 ECG Sensor & Arduino.pptx
ECG Graph Monitoring with AD8232 ECG Sensor & Arduino.pptx
 
Radiation physics in Dental Radiology...
Radiation physics in Dental Radiology...Radiation physics in Dental Radiology...
Radiation physics in Dental Radiology...
 
OECD bibliometric indicators: Selected highlights, April 2024
OECD bibliometric indicators: Selected highlights, April 2024OECD bibliometric indicators: Selected highlights, April 2024
OECD bibliometric indicators: Selected highlights, April 2024
 
User Guide: Orion™ Weather Station (Columbia Weather Systems)
User Guide: Orion™ Weather Station (Columbia Weather Systems)User Guide: Orion™ Weather Station (Columbia Weather Systems)
User Guide: Orion™ Weather Station (Columbia Weather Systems)
 
Pests of Bengal gram_Identification_Dr.UPR.pdf
Pests of Bengal gram_Identification_Dr.UPR.pdfPests of Bengal gram_Identification_Dr.UPR.pdf
Pests of Bengal gram_Identification_Dr.UPR.pdf
 
GenBio2 - Lesson 1 - Introduction to Genetics.pptx
GenBio2 - Lesson 1 - Introduction to Genetics.pptxGenBio2 - Lesson 1 - Introduction to Genetics.pptx
GenBio2 - Lesson 1 - Introduction to Genetics.pptx
 
Pests of safflower_Binomics_Identification_Dr.UPR.pdf
Pests of safflower_Binomics_Identification_Dr.UPR.pdfPests of safflower_Binomics_Identification_Dr.UPR.pdf
Pests of safflower_Binomics_Identification_Dr.UPR.pdf
 
Environmental Biotechnology Topic:- Microbial Biosensor
Environmental Biotechnology Topic:- Microbial BiosensorEnvironmental Biotechnology Topic:- Microbial Biosensor
Environmental Biotechnology Topic:- Microbial Biosensor
 
Davis plaque method.pptx recombinant DNA technology
Davis plaque method.pptx recombinant DNA technologyDavis plaque method.pptx recombinant DNA technology
Davis plaque method.pptx recombinant DNA technology
 
Call Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 Genuine
Call Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 GenuineCall Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 Genuine
Call Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 Genuine
 
Four Spheres of the Earth Presentation.ppt
Four Spheres of the Earth Presentation.pptFour Spheres of the Earth Presentation.ppt
Four Spheres of the Earth Presentation.ppt
 
FREE NURSING BUNDLE FOR NURSES.PDF by na
FREE NURSING BUNDLE FOR NURSES.PDF by naFREE NURSING BUNDLE FOR NURSES.PDF by na
FREE NURSING BUNDLE FOR NURSES.PDF by na
 
Base editing, prime editing, Cas13 & RNA editing and organelle base editing
Base editing, prime editing, Cas13 & RNA editing and organelle base editingBase editing, prime editing, Cas13 & RNA editing and organelle base editing
Base editing, prime editing, Cas13 & RNA editing and organelle base editing
 
Bioteknologi kelas 10 kumer smapsa .pptx
Bioteknologi kelas 10 kumer smapsa .pptxBioteknologi kelas 10 kumer smapsa .pptx
Bioteknologi kelas 10 kumer smapsa .pptx
 

A Self-Adaptive Deployment Framework for Service-Oriented Systems

  • 1. A Self-Adaptive Deployment Framework for Service-Oriented Systems Sander van der Burg Eelco Dolstra Delft University of Technology, EEMCS, Department of Software Technology May 24, 2011 Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework for Service-Oriented Syst
  • 2. Service Oriented Computing The Service Oriented Computing (SOC) paradigm is very popular to build distributed applications. Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
  • 3. Service Oriented Computing Systems are composed of distributable components (or services), working together to achieve a common goal. Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
  • 4. Networks Services are deployed in networks of machines having various properties and capabilities. Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
  • 5. Networks Various events may occur in a network of machines: Crashing machines Adding a new machine Change of a capability (e.g. increase of RAM) Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
  • 6. Implications Events have a number of implications: The system may partially or completely break The deployment may become suboptimal Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
  • 7. Self-adaptive deployment In case of an event, a redeployment may be performed (Re)deployment is difficult, time consuming and error prone Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
  • 8. Software deployment Software deployment All of the activities that make a software system available for use Carzaninga et al. Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
  • 9. Deployment tooling Some deployment tools reconfigure service behaviour and connections, but do not redeploy a complete system A number of deployment tools are designed for specific component technologies e.g. DRAGO, OSGi A number of deployment planning algorithms have been developed, but little of them are used in tooling which perform actual deployment. Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
  • 10. Disnix: A distributed service deployment tool $ disnix-env -s services.nix -i infrastructure.nix -d distribution.nix Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
  • 11. Disnix: A Distributed Service Deployment tool Disnix is built on top of the purely functional deployment properties of the Nix package manager: A generic approach; Many types of services can be supported Declarative language to describe components and infrastructure Store multiple versions/variants of components safely next to each other (Almost) atomic upgrades/rollbacks Garbage collector to safely remove obsolete components Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
  • 12. Dynamic deployment extension How to extend Disnix to deal with events occuring in a network? Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
  • 13. Dynamic deployment extension Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
  • 14. Dynamic deployment extension Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework Extensions The infrastructure generator discovers machines in the network and their properties The infrastructure augmenter adds privacy sensitive properties to the infrastructure model The distribution model maps services to machines based on a user-defined QoS policy The generated infrastructure and distribution model are used by Disnix to perform redeployment.
  • 15. Distribution generator qos.nix { services, infrastructure , initialDistribution, previousDistribution, filters}: filters.filterB { inherit services infrastructure; ... distribution = filters.filterA { inherit services infrastructure; distribution = initialDistribution; ... }; } The distribution generator uses a QoS model to implement a distribution policy By composing functions, a desirable distribution can be generated Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
  • 16. Distribution generator Typically, a QoS model has the following structure: Candidate host selection phase. For each service, decide which host is suitable by looking to service and system properties Division phase. Divide services across the candidate hosts, using some strategy. Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
  • 17. Distribution generator Various filter functions are supported: One-dimensional (highest bidder, lowest bidder, greedy) Multi-way cut approximation (to reduce the amount of network links) Minimum set cover (cost efficient deployment) Vertex coloring (to maximize the number of network links using the minimum amount of machines) Framework is extensible; custom filter functions can be easily implemented Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
  • 18. Evaluation Example cases: Staff Tracker. Toy SOA system which comes in two variants (PHP/MySQL and Webservices). ViewVC. Open-source web based Subversion repository viewer (http://viewvc.tigris.org). SDS2. Industrial SOA case study from Philips Research. Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
  • 19. Evaluation Evaluation method: Each case study is tested in a network of 20 Xen Virtual machines For each case study, we fire various events: adding machines, crashing machines We measure the times of the redeployment phases for each event Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
  • 20. Evaluation StaffTracker (PHP/MySQL) State Description Discovery (s) Generation (s) Build (s) Distribution (s) Transition (s) 0 Initial deployment 1.0 27.9 31.9 1.2 1.6 1 Add MySQL server 2 1.0 8.3 4.7 1.7 1.7 2 Add MySQL server 3 1.0 4.4 4.5 1.2 1.3 3 Add Apache server 2 1.0 4.4 4.4 1.3 1.5 4 Remove MySQL server 2 1.0 8.2 4.6 1.5 1.8 5 Remove Apache server 1 1.0 8.8 4.4 0.9 1.2 StaffTracker (Web services) 0 Initial deployment 1.0 28.6 169.8 13.1 4.0 1 Add MySQL server $500 1.0 10.7 17.7 6.1 2.9 2 Add Tomcat server $500 1.0 8.4 10.2 13.7 5.7 3 Remove Tomcat server $500 1.0 4.2 0.5 0.6 2.0 4 Remove MySQL server $500 1.0 4.2 0.5 1.2 1.8 ViewVC 0 Initial deployment 1.0 28.5 555.9 9.5 17.5 1 Add MySQL server 1.0 8.2 0.6 0.6 1.1 2 Add Apache server 1.0 8.4 0.5 0.6 1.0 3 Add Subversion server + repo 1.0 8.4 6.3 3.7 8.2 4 Remove Apache server 1 1.0 8.4 4.6 7.5 1.9 5 Remove MySQL server 1 1.0 8.3 5.7 1.9 1.8 SDS2 0 Initial deployment 1.0 28.6 642.9 122.8 147.7 1 Add MySQL server 2 (hospital) 1.0 6.7 0.6 19.1 1.9 2 Add Tomcat server 2 (Philips) 1.0 8.4 0.6 18.5 1.8 3 Remove Tomcat server 1 (Philips) 1.0 8.3 360.2 26.9 6.3 4 Remove MySQL server 1 (hospital) 1.2 10.5 370.4 120.8 124.3 Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
  • 21. Evaluation StaffTracker (PHP/MySQL) State Description Discovery (s) Generation (s) Build (s) Distribution (s) Transition (s) 0 Initial deployment 1.0 27.9 31.9 1.2 1.6 1 Add MySQL server 2 1.0 8.3 4.7 1.7 1.7 2 Add MySQL server 3 1.0 4.4 4.5 1.2 1.3 3 Add Apache server 2 1.0 4.4 4.4 1.3 1.5 4 Remove MySQL server 2 1.0 8.2 4.6 1.5 1.8 5 Remove Apache server 1 1.0 8.8 4.4 0.9 1.2 StaffTracker (Web services) 0 Initial deployment 1.0 28.6 169.8 13.1 4.0 1 Add MySQL server $500 1.0 10.7 17.7 6.1 2.9 2 Add Tomcat server $500 1.0 8.4 10.2 13.7 5.7 3 Remove Tomcat server $500 1.0 4.2 0.5 0.6 2.0 4 Remove MySQL server $500 1.0 4.2 0.5 1.2 1.8 ViewVC 0 Initial deployment 1.0 28.5 555.9 9.5 17.5 1 Add MySQL server 1.0 8.2 0.6 0.6 1.1 2 Add Apache server 1.0 8.4 0.5 0.6 1.0 3 Add Subversion server + repo 1.0 8.4 6.3 3.7 8.2 4 Remove Apache server 1 1.0 8.4 4.6 7.5 1.9 5 Remove MySQL server 1 1.0 8.3 5.7 1.9 1.8 SDS2 0 Initial deployment 1.0 28.6 642.9 122.8 147.7 1 Add MySQL server 2 (hospital) 1.0 6.7 0.6 19.1 1.9 2 Add Tomcat server 2 (Philips) 1.0 8.4 0.6 18.5 1.8 3 Remove Tomcat server 1 (Philips) 1.0 8.3 360.2 26.9 6.3 4 Remove MySQL server 1 (hospital) 1.2 10.5 370.4 120.8 124.3 Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework Results Initial deployment times are long; redeployment times are significantly shorter If a new machine is added: only a short downtime occurs when activating the new configuration In case of a crashing machine: if a network has been deployed before, you can switch instantly back In some cases SDS2 has long redeployment times, due to bad design decisions
  • 22. Conclusion We have shown a self-adaptive deployment extension around Disnix A system gets redeployed in case of an event A distribution policy can be implemented, by using a collection of algorithms Due to the purely functional properties of Nix, redeployment is reliable and efficient. Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
  • 23. Future work Support complex network topologies. Implement more sophisticated deployment planning algorithms: e.g. Avala Support mutable state. Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
  • 24. References Disnix (and other related Nix tooling) is available under Free and Open Source licenses: Disnix homepage: http://nixos.org/disnix Other Nix related software: http://nixos.org Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework
  • 25. Questions Sander van der Burg, Eelco Dolstra A Self-Adaptive Deployment Framework