Chapter 8 - Deployment
Chapter 8 - Deployment
Application
Deployment
Semester I 2022/23
SKR4307
1. Challenges of Modern Apps
• Often distributed and cloud-based.
Scale elastically to meet demand and are more resilient
to failure
• Modern app – not suitable for big bang – (makes big bang
approach slower and less agile for modern teams)
• Time consuming and costly (even low risk)
• Characteristics:
Major pieces packaged in one deployment
Largely or completely replacing an existing software version with a new
one
Resulting in long development and testing cycle
Minimal chance of failure as rollbacks may be impossible or impractical
Completion times are usually long and can take multiple teams’ efforts
Requiring action from clients to update the client-side installation
4.2 Rolling/phased/step
deployment
• Better than big bang – minimize many of
the associated risks, including user-
facing downtime without easy rollbacks
• An application’s new version gradually
replaces the old one
The actual deployment happens over a
period
NEW and OLD versions - coexist without
affecting functionality or user experience
Process makes it easier to roll back any new
component incompatible with the old
components
… cont.
• An application suite upgrade – an
example of a rolling deployment
• If the original applications were deployed in
containers – the upgrade can tackle one
container at a time
Each container is modified to download the
latest image from the app vendor’s site
If there is a compatibility issue for one of the
apps, the older image can recreate the container
• Big business
• Apps have become big brands,
generating revenues from
licensed merchandise. (e.g.,
Angry Birds, which has over
200 licensing partners)
• A good precaution with a free
app – help maintain ownership
of the app’s concept
https://developer.android.com/google/play/licensing
• License term options:
1. Perpetual license: does not expire.
2. Non-perpetual license: must be renewed annually.
1. Strict policy: Device asks the Google Play server for approval to
run the app.
If the user tries to launch app when the device has no connectivity, the user is
out of luck. Life’s tough.
2. Server-managed policy: Device stores a copy of the user’s license.
Uses the copy when network connectivity is unavailable. The license is
difficult– license keeps track of trial periods, expiration dates, and other stuff.
This is the default policy, and it’s the policy that Google highly recommends.
3. Custom policy: Own policy with Java code in app.
Very sensitive situations, this choice might be the best.
5.5 Publish the app
• https://medium.com/@daptronic/mobile-app-ve
rsioning-a-numbers-game-f1ea9dbd1ded
• Versioning an Android app [How & Why]:
https://droidmentor.com/versioning-an-android-
app-how-and-why/