deployment and mobility

26
Deployment and Mobility Chapter 10

Upload: chogan

Post on 22-Mar-2016

61 views

Category:

Documents


0 download

DESCRIPTION

Deployment and Mobility. Chapter 10. Deployment. The set of activities that result in placing a given software system’s components and connectors on a set of physical hosts. Mobility. Relocation or migration of a software component or connector from one hardware host to another. Redeployment. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Deployment and Mobility

Deployment and MobilityChapter 10

Page 2: Deployment and Mobility

Deployment

The set of activities that result in placing a given software system’s components and connectors on a set of physical hosts.

Page 3: Deployment and Mobility

Mobility

Relocation or migration of a software component or connector from one hardware host to another.

Redeployment

Page 4: Deployment and Mobility

Changing a System’s Deployment

Run time state may need to be preserved Temporary downtime Component not in the middle of

computation or interaction Less time available to ensure that the

system works

Page 5: Deployment and Mobility

Hardware and Software

Hardware has to support a system’s software architecture

But also need to assess whether the software will run smoothly on the hardware

Page 6: Deployment and Mobility

Wireless Sensor Network System

Sensors Gateway Devices Hubs Phones

Page 7: Deployment and Mobility

Deployment and Mobility Challenges

Physically deploying software in widely distributed settings

Wide variety of systems the software runs in

Different software components may require different hardware configurations

Page 8: Deployment and Mobility

Deployment and Mobility Challenges

Redeployment as an unavoidable activity Redeployment of running components Redeployed components fitting into the

system again

Page 9: Deployment and Mobility

Degrading Architecture

When a new software system is deployed on its target hosts, its initial deployment architecture is developed.

When the system is changed, its architecture is also changed.

With multiple redepolyments, the system’s architecture is bound to degrade if the changes are not analyzed and understood

Page 10: Deployment and Mobility

Deployment

• The set of activities that result in placing a given software system’s components and connectors on a set of physical hosts.

• Hosts or sites – the physical hardware device

Page 11: Deployment and Mobility

When Does Deployment Occur?

Prior to runtime During execution

Transfer and activation of new components

Page 12: Deployment and Mobility

Resources

Each host provides a set of resources needed for hosting and executing the system Hardware architecture (memory and CPU) Network Architecture (available protocols and IP port

numbers) Peripheral devices (hard disk and keyboard) System software (OS, device drivers, middleware) Other application-level software (GUI builders and

databases) Data resources (data files)

Page 13: Deployment and Mobility

Deployment Activities

Plan Model Analyze Implement

Page 14: Deployment and Mobility

Planning

Critical that the deployment of a software system be carefully planned

Many important system properties will be affected by the system’s deployment

Mappings of software components and connectors onto hardware hosts

Many different deployments possible

Page 15: Deployment and Mobility

Planning: Quality of Service

Desired system properties Dependability, availability, security,

fault-tolerance Quality of service (QoS) – a desired level

of service quality The different QoS dimensions must be

measurable and quantifiable

Page 16: Deployment and Mobility

Planning: Things that are Easy

Software on a desktop computer System on a space agency probe and

also a ground station Wireless sensor network system

Page 17: Deployment and Mobility

Planning: Things that are Hard

A very large number of system parameters influence the QoS dimensions

Many services provided by a system and their corresponding QoS influence the system users’ satisfaction

Different service qualities may be conflicting – improving one may degrade another

The possibilities of the different deployment architectures is exponentially large hc possible deployments

Page 18: Deployment and Mobility

Planning: Deployment Possibilities

Two software components and two hardware hosts1. Both components are deployed on host 12. Both components are deployed on host 23. Component 1 is deployed on host 1 and

component 2 is deployed on host 24. Component 2 is deployed on host 1 and

component 1 is deployed on host 2Compare latency and durability for each deployment

Page 19: Deployment and Mobility

Pareto optimal – systems with multicriteria taken into consideration, no single deployment can be considered optimal unless additional criteria are introduced that will allow an architect to reconcile the two competing deployment options

Planning: Pareto Optimal

Page 20: Deployment and Mobility

Planning: Deployment Possibilities

Three components and three hosts 33 = 9 possible deployments

Four components and four hosts 44 = 256 possible deployments

Comparing deployment possibilities with their QoS properties in a single diagram would be essentially impossible

Page 21: Deployment and Mobility

Planning: Deployment Possibilities Solution

A solution that would allow a software system’s architects to plan the system’s deployment appropriately will need to:1. Provide an extensible model that supports inclusion of arbitrary system parameters2. Support the definition of a new QoS dimensions using the system parameters3. Allow users to specify their QoS preferences4. Provide efficient and generic algorithms that can be used to find a solution which maximizes the users’ satisfaction in a reasonable amount of time

Page 22: Deployment and Mobility

Planning: Automated Support

A software-based solution would likely be able to determine a number of valid deployments that meet the QoS criteria and choose the best one.

Automated support would allow architects to study, and quantify, any changes in a system’s run time behavior.

In turn, this would allow them to formulate plans regarding whether and when to redeploy the system or some of its parts

Page 23: Deployment and Mobility

Modeling

System’s architects need to create a detailed model comprising all concerns pertaining to the system’s development

Page 24: Deployment and Mobility

Modeling: Effective Deployment Model

An effective deployment model requires:• Software system elements (components and

connectors), their configuration, and their parameters• Hardware system elements (hardware hosts and

network links), their configuration, and their parameters

• Any constraints on the system elements and/or their parameters

• Formal definitions of QoS dimensions of interest• May also need to represent system users or user types

Page 25: Deployment and Mobility

Modeling: Hardware and Software

Consider hardware and network infrastructure along with the software architecture Location constraints

Certain components that have to reside on a certain host Certain components that may not be allowed to reside on

a certain host Collocation constraints

Groups of components and connectors that need to be deployed/redeployed as a collection

Groups of components and connectors that may not be deployed on the same host

Page 26: Deployment and Mobility

Modeling: Quality of Service

• Quantification of the QoS dimensions of interest

• Quantifiable system properties – reliability, availability, size, energy consumption rate, latency, data volume

• Unquantifiable system properties - usability