Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Deployment and Mobility Software Architecture Lecture 12.

Slides:



Advertisements
Similar presentations
IBM SMB Software Group ® ibm.com/software/smb Maintain Hardware Platform Health An IT Services Management Infrastructure Solution.
Advertisements

Software Architecture Lecture 3
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Analysis of Software Architectures.
A Cooperative Approach to Support Software Deployment Using the Software Dock by R. Hall, D. Heimbigner, A. Wolf Sachin Chouksey Ebru Dincel.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Basic Concepts Software Architecture Lecture 3.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Designing for NFPs Software Architecture Lecture 19.
Software Architecture Lecture 2
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Analysis of Software Architectures Software Architecture Lecture.
Software Connectors Software Architecture. Importance of Connectors Complex, distributed, multilingual, modern software system functionality and managing.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Choosing Connectors Software Architecture Lecture 8.
Deployment and Mobility of Software Software architecture must eventually be “realized” ---- that is –a) implemented and – b) deployed Deployment is the.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors.
Analysis of Software Architectures. What Is Architectural Analysis? Architectural analysis is the activity of discovering important system properties.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors Software Architecture Lecture 7.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Designing for NFPs Software Architecture Lecture 19.
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 8 Introduction to Printers in a Windows Server 2008 Network.
Software Architecture Lecture 3
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors Software Architecture Lecture 7.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Designing for NFPs Software Architecture.
Effective Methods for Software and Systems Integration
Matthew Moccaro Chapter 10 – Deployment and Mobility PART II.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Implementing Architectures Software Architecture.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Architectural Styles Part I Software Architecture Lecture 5.
Investigating Survivability Strategies for Ultra-Large Scale (ULS) Systems Vanderbilt University Nashville, Tennessee Institute for Software Integrated.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. NFP Design Techniques Software Architecture Lecture 20.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. NFP Design Techniques Software Architecture Lecture 20.
CSCI 578 Software Architectures Exam #2 Review. Materials you are responsible for Chapters 9-17 in the text book –Also Chapter 8 on Architectural Analysis.
Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Applied Architectures, Part 2 Software Architecture Lecture.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Choosing Connectors Software Architecture Lecture 8.
Software Connectors Acknowledgement: slides mostly from Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic,
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors in Practice Software Architecture.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Brief Introduction to Software Connectors Software Architecture.
Foundations, Theory, and Practice Software Architecture Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Basic.
Improving System Availability in Distributed Environments Sam Malek with Marija Mikic-Rakic Nels.
Basic Concepts of Software Architecture. What is Software Architecture? Definition: – A software system’s architecture is the set of principal design.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Designing for NFPs Software Architecture Lecture 14.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors Software Architecture Lecture 7.
Non-Functional Properties
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Software Architecture Lecture 3
Software Architecture
Analysis of Software Architectures
Software Connectors.
Microsoft SharePoint Server 2016
OO Methodology OO Architecture.
Software Architecture Lecture 19
Software Architecture Lecture 3
Software Architecture Lecture 2
Software Architecture Lecture 3
An Automated Approach to Robust Software Design Using Architectural Styles and Patterns By Muzzammil Imam.
Software Architecture Lecture 7
Software Architecture Lecture 20
Implementing Architectures
Software Architecture Lecture 3
Software Connectors.
Software Architecture Lecture 8
Architectural Adaptation
Software Architecture Lecture 3
Architectural Adaptation
Software Architecture Lecture 7
Software Architecture Lecture 7
Software Architecture Lecture 8
Software Architecture Lecture 8
Software Architecture Lecture 3
Software Architecture Lecture 7
Analysis of Software Architectures
Software Architecture Lecture 6
Presentation transcript:

Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Deployment and Mobility Software Architecture Lecture 12

Software Architecture: Foundations, Theory, and Practice What Are Deployment and Mobility? Deployment is the process of placement of a system’s software components on its hardware hosts Changing the deployment of a component during runtime is called migration or redeployment Migration or redeployment is a type of software system mobility u Mobility entails a superset of deployment issues 2

Software Architecture: Foundations, Theory, and Practice Deployment and Mobility Challenges Widely distributed target processors Target processors embedded inside heterogeneous devices Different software components may require different hardware configurations System lifespans may stretch over decades Software system evolution is continuous (requiring redeployment) Mobile code may mandate that running, stateful components be redeployed 3

Software Architecture: Foundations, Theory, and Practice Software Architecture and Deployment A system is deployed to a set of hosts or sites Each site provides a set of resources needed by the system’s components u Hardware u Network u Peripheral devices u System software u Other application software u Data resources Resources may be exclusive or sharable 4

Software Architecture: Foundations, Theory, and Practice How Is Deployment Changing ? Then Complete Installation procedure for software system on CD ROM Entire software system installation Now Software producers and consumers cooperating and negotiating. “Update” of Software Systems 5 All this because of high connectivity

Software Architecture: Foundations, Theory, and Practice Deployment, Architecture, and Quality of Service Deployment Architecture: allocation of s/w components to h/w hosts h c deployment architectures are possible for a given system u Many provide the same functionality u Provide different qualities of service (QoS) 6

Software Architecture: Foundations, Theory, and Practice Deployment Activities Planning Modeling Analysis Implementation 7

Software Architecture: Foundations, Theory, and Practice Deployment Planning How do we find and effect a deployment architecture that improves multiple QoS dimensions? 8 Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.

Software Architecture: Foundations, Theory, and Practice Scenario with a Single QoS Dimension 9 Objective is to minimize latency The optimal deployment architecture is deployment 1 Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.

Software Architecture: Foundations, Theory, and Practice Conflicting QoS Dimensions 10 Objective is to minimize latency and maximize durability There is no optimal deployment architecture! Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.

Software Architecture: Foundations, Theory, and Practice Resolving Trade-Offs between QoS Dimensions 11  Allows expression of optimization in terms of a single scalar value  A utility function denotes a user’s preferences for a given rate of improvement in a QoS dimension Guiding Insight u System users have varying QoS preferences for the system services they access

Software Architecture: Foundations, Theory, and Practice 12 Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission. A Slightly Larger Scenario

Software Architecture: Foundations, Theory, and Practice Deployment Modeling 13 Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.

Software Architecture: Foundations, Theory, and Practice Modeling Architectural Elements Define sets that specify system elements and their properties u Set C of software components C = {ResourcesMap, SendMessage, Display, …} u Set CP of software component properties CP = {size, reliability, …} u Other sets H of hardware nodes, N of network links, I of logical links, S of services, Q of QoS, U of users HP of hardware params, NP of network link params, CP of software component params, IP of logical link params Define functions that quantify system properties u Function cParam:C×CP → R cParam(ResourcesMap, size) = 150 u Other functions hParam, nParam, IParam, sParam 14

Software Architecture: Foundations, Theory, and Practice Modeling QoS Dimensions 15 Define QoS functions u qValue:S×Q×DepSpace → R quantifies the achieved level of QoS given a deployment qValue(Schedule, Latency, Dep 1) = 1ms Define users’ preferences in terms of utility u qUtil:U×S×Q×R → [MinUtil,MaxUtil] represents the accrued utility for given rate of change qUtil(Commander, Schedule, Latency, 0.25) = -1

Software Architecture: Foundations, Theory, and Practice Modeling System Constraints 16 A set PC of parameter constraints u PC={memory, bandwidth,…} A function pcSatisfied:PC×DepSpace → [0,1] u 1 if constraint is satisfied u 0 if constraint is not satisfied Functions that restrict locations of s/w components u loc:C×H → [0,1] loc(c,h)=1 if c can be deployed on h loc(c,h)=0 if c cannot be deployed on h u colloc:C×C → [-1,1] colloc(c1,c2)=1 if c1 has to be on the same host as c2 colloc(c1,c2)=-1 if c1 cannot be on the same host as c2 colloc(c1,c2)=0 if there are no restrictions

Software Architecture: Foundations, Theory, and Practice Deployment Analysis 17 Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission. 1. Are both deployments valid? 2. Which of the two deployments is “better”? 3. Does the selected deployment have required properties?

Software Architecture: Foundations, Theory, and Practice Deployment Analysis Strategies Different strategies with different strengths Most of them offer approximate solutions 1. Mixed Integer Non-linear Programming (MINLP) 2. Mixed Integer Linear Programming (MIP) 3. Heuristic-based strategies A. Greedy B. Genetic C. Decentralized 18

Software Architecture: Foundations, Theory, and Practice Deployment Implementation Release Install Activate Deactivate Update Adapt Reconfigure De-install or remove De-release or retire 19

Software Architecture: Foundations, Theory, and Practice Software Deployment Life Cycle 20 Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.

Software Architecture: Foundations, Theory, and Practice Deployment Tool Support – An Example 21 Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.

Software Architecture: Foundations, Theory, and Practice Software Mobility Mobile computing involves the movement of human users together with their hosts across different physical locations u This is also referred to as physical mobility Movement of software across hardware hosts during the system’s execution, that action is referred to as code mobility or logical mobility If a software module that needs to be migrated contains runtime state, then the module’s migration is known as stateful mobility If only the code needs to be migrated, that is known as stateless mobility 22

Software Architecture: Foundations, Theory, and Practice Mobility Paradigms Remote evaluation u Re-deploy needed component at runtime from a source host to a destination host u Install component on the destination host u Ensure that the system’s architectural configuration and any architectural constraints are preserved u Activate the component u Executed the component to provide the desired service u Possibly de-activate and de-install Code-on-demand u Same as remote evaluation, but roles of target and destination hosts are reversed Mobile agent u Migration of a stateful software component that needs some remote resources to complete its task 23

Software Architecture: Foundations, Theory, and Practice Mobility and Quality of Service 24 Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.

Software Architecture: Foundations, Theory, and Practice Closing Thoughts It may be impractical or unacceptable to bring systems down for upgrades u (Re)deployment is thus necessary Architecture as a set of principal design decisions naturally encompasses (re)deployment Maintaining the relationship between architectural model and implementation stems degradation 25