deployment and mobility
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 PresentationTRANSCRIPT
Deployment and MobilityChapter 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
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
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
Wireless Sensor Network System
Sensors Gateway Devices Hubs Phones
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
Deployment and Mobility Challenges
Redeployment as an unavoidable activity Redeployment of running components Redeployed components fitting into the
system again
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
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
When Does Deployment Occur?
Prior to runtime During execution
Transfer and activation of new components
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)
Deployment Activities
Plan Model Analyze Implement
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
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
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
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
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
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
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
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
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
Modeling
System’s architects need to create a detailed model comprising all concerns pertaining to the system’s development
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
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
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