Chapter22 Software Deployment

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 29

Chapter 22

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.

A Wireless Sensor Network


System

Deployment and Mobility


Challenges

Geographically Distributed hardware


Heterogeneity of hardware
Different configuration
Differing life span
Versioning
Partial mobility
Locating the
hardware/software/service
4

Deployment Basic Concepts


Software system is deployed on one or more
hardware devices called hosts or sites.
Each site provides some resources.
E.g.
Hardware (Memory, CPU)
Network (Protocols and IP port numbers)
Peripheral Devices (hard disks and keyboard)
System Software (OS, drivers)
Other application level software (GUI builders, DB)
Data Resources (data files, GUIDs)
5

Deployment Basic Concepts


contd.

Software system consists of set of


components and connectors.
Multiple versions of these
components and connectors may
exist.
Version is time-ordered revision,
platform-specific revision or
functional revision.
6

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)

Services & their QoS influence users


satisfaction
Space of possible deployment
architectures is exponentially large.
c components, h hosts -> hC possible
deployments.
9

Space of possible deployment


architectures

Dig : 1

Dig : 2
10

Example of Multiple Deployment


Choices over 2-QoS attributes
Deployment 1

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

Software Deployment Issues

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

Mobile Code Paradigm


19

Mobile Code Paradigms


Remote Evaluation
Source Host

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

Code Migration Challenges

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

Does not affect


performance
Allows more planning
and analysis
27

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

You might also like