Professional Documents
Culture Documents
Chapter22 Software Deployment
Chapter22 Software Deployment
Chapter22 Software Deployment
Software Deployment
&
Mobility
Lecturer: Mohamud Adan
Email: mhassan3336@gmail.com
Introduction
Deployment is the placing of
software on the hardware where it is
supposed to run.
Redeployment / migration of software
components while the system is in
operation is mobility.
Deployment Activities
Planning
Modeling
Analysis
Implementation
7
Deployment Planning
In planning stage we consider the
behavior of the system and statistics
related to that behavior.
System should ensure certain desired
system properties. ( QoS )
Dependability
Availability
Security
Fault-Tolerance
Durability , etc.
8
Planning Challenges
Large no. of system parameters
Conflicting service qualities (e.g. Security
vs. Efficiency)
Dig : 1
Dig : 2
10
Latency
Deployment 2
Deployment 3
Deployment 4
5
4
Durabilit
y
3
2
1
Latency
6
11
Deployment Modeling
Modeling Considerations
Software system elements (components and
connectors)
Configuration of these elements
Parameters
Hardware system elements (host machines,
network, devices, controllers, etc.)
Configuration
Parameters
Set of constraints placed on these elements
and/or parameters
Formal definition of QoS dimensions of interest
12
Deployment Model
13
Deployment Implementation
14
Change Management
Dependencies among Components
Coordination
Large-scale Content Delivery
Managing Heterogeneous Platforms
Deployment Process Changeability
Integration with the Internet
Security: Privacy, Authentication, and
Integrity
15
Tool Support
Functions of deployment tools
Model
Analyze
Implement
Monitor
Update
16
Deployment roles
The complexity and variability of software
products has fostered the emergence of
specialized roles for coordinating and
engineering the deployment process. For
desktop systems, end-users frequently
also become the "software deployers"
when they install a software package on
their machine. The deployment of
enterprise software involves many more
roles, and those roles typically change as
the application progresses from test (preproduction) to production environments.
17
Continue..
Typical roles involved in software deployments for
enterprise applications may include:
in pre-production environments:
application developers
build-and-release engineers
release managers
deployment coordinators
in production environments:
system administrator
database administrator
release coordinators
operations project managers
18
Software Mobility
Physical Mobility
Code Mobility / Logical Mobility
Stateful Mobility (Strong Mobility)
Stateless Mobility (Weak Mobility)
Code Paradigms
Fixed Code Paradigm
Client-Server
Destination
Host
Knowhow
Resourc
es
Destination Host
Source Host
Know
-how
Resul
t
Resourc
es
20
Code-on-Demand
Destination
Host
Source Host
Knowhow
Resourc
es
Source Host
Destination
Host
Know
-how
Resul
t
Resourc
es
21
Mobile Agent
Host 1
Host 2
Knowhow
Resource
s1
State
Destination Host
Know
-how
State
Resource
s1
Resource
s2
22
Architecture-based Dynamic
Adaptation Model
23
Key Aspects
Planning (Top Part)
Analysis (Top Part)
implementation should never be
modified without understanding the
architectural implications of that
modification (Bottom Part)
24
25
Challenges
Availability
State Management
Scheduling of migration
Performance
Locating code and resources
Security threat
Energy Consumption
26
Mobility
Deployment
Maintains State
No State
Downtime
Not running
Choosing time of
migration to maintain
performance
Time constrained
Summary
What is Deployment and Mobility ?
Challenges
Deployment Activities
Planning, Modeling, Analysis &
Implementation
Tools Support
Mobility
Mobile Code Paradigm
Remote evaluation, C-O-D, Mobile Agent
28
ANY QUESTIONS??????
END
29