1 / 26

Deployment and Mobility

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.

chogan
Download Presentation

Deployment and Mobility

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Deployment and Mobility Chapter 10

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

  3. Mobility • Relocation or migration of a software component or connector from one hardware host to another. • Redeployment

  4. 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

  5. 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

  6. Wireless Sensor Network System • Sensors • Gateway Devices • Hubs • Phones

  7. 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

  8. Deployment and Mobility Challenges • Redeployment as an unavoidable activity • Redeployment of running components • Redeployed components fitting into the system again

  9. 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

  10. 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

  11. When Does Deployment Occur? • Prior to runtime • During execution • Transfer and activation of new components

  12. 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)

  13. Deployment Activities • Plan • Model • Analyze • Implement

  14. 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

  15. 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

  16. 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

  17. 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

  18. Planning: Deployment Possibilities • Two software components and two hardware hosts • Both components are deployed on host 1 • Both components are deployed on host 2 • Component 1 is deployed on host 1 and component 2 is deployed on host 2 • Component 2 is deployed on host 1 and component 1 is deployed on host 2 • Compare latency and durability for each deployment

  19. Planning: Pareto Optimal 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

  20. 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

  21. 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 parameters • 2. Support the definition of a new QoS dimensions using the system parameters • 3. Allow users to specify their QoS preferences • 4. Provide efficient and generic algorithms that can be used to find a solution which maximizes the users’ satisfaction in a reasonable amount of time

  22. 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

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

  24. 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

  25. 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

  26. 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

More Related