Doug,

This is a multi-topic question.

There are different pieces of the system and there are different requirements 
for approaching updating with zero down time.

Mid-tier

Just do the upgrade/patch/whatever on them one at a time.  There is no issue 
with mixed versions.  The big issue here is that if you take down a mid-tier, 
you can cause a user to have to relogin if they are connected to that mid-tier.

You can eliminate that by bringing up new mid-tiers, pointing load balancer to 
the new ones and off the old ones, then a day later, remove the old ones (by 
then, people have rolled off them to the new ones).   If use VMs for your 
mid-tiers, this is a temporary set of additional VMs.  If you don't want that, 
just upgrade each in place and roll across them.  NO down-time, but users may 
need to relogin as the mid-tier they were connected to goes down.  And, they 
may be bumped a couple of times if they get redirected to one that is still 
awaiting upgrade.

AR Server/CMDB

We have customers upgrading/patching here today with zero down time.  We are 
going to be writing up a more formal document about this topic over the next 
few months, but we do know it works.

The key here is to take each server one at a time and upgrade.  There is no 
state in the server so no problem with having users redirect to other servers 
as one is down.  You can just go cowboy and upgrade one at a time and roll 
across or invest a bit more and be orderly.  Something like

For each server:

-          Take out of the load balancer

-          Take out of the server group  (this stops it from signaling other 
servers to recache)

-          Upgrade/patch/whatever

-          Put back in the server group

-          Put back in the load balancer

This gives you a rolling upgrade where you upgrade each server one at a time 
with other servers still active.   The one downside is that if a server not 
upgraded yet goes down for some reason during this process, if it is an 
upgrade, it will not come up until it is upgraded (if being patched, it will 
come up without issue).  This is because the version stamp of the DB has been 
changed.  But, this is unusual, it still doesn't take down other servers, and 
we are talking about a short time window - 1 hour or so for the first server 
upgrade (much less for patches), and 15 minutes for other than the first server 
upgrade (much less for patches).

We are going to formally document a set of steps to cover all bases, but this 
is the idea.

For patches, this is especially easy and straight-forward as there are not 
major changes being made to the system.


Applications

Upgades are not possible with zero-down time.  Someone has noted a feature that 
is on the Communities Ideas list around this.  We have a POC for this 
capability, it just has not made a release train at this point.  We can help 
minimize the outage time.

BUT, for patches.....  There is generally very controlled change to specific 
workflow items and maybe some fields and the like.  There is definitely a clean 
way to upgrade without downtime.  Just install the patch on the first server 
with the signaling of other servers turned off.  When done, if the patch is all 
definitions (no executables, you can simply signal each other server one at a 
time (to avoid all going to the database simultaneously for new defs) and get 
the updates.  If there is an executable, just then run the patch on each 
secondary server and as you do that, if it doesn't recache definitions, tell it 
to as you are installing the patch.




This is not a definitive list of steps, just a conceptual overview, but we have 
quite a few customers using the types of techniques above to do live system 
updates.  It does work.

PLEASE OF COURSE install the patches and hotfixes in dev and test first and 
make sure all is working as expected and then upgrade production using the 
ideas above....  And OF COURSE, make sure you have recent backups - just in 
case.

Doug Mueller

From: Action Request System discussion list(ARSList) 
[mailto:arslist@ARSLIST.ORG] On Behalf Of Hynes, Douglas
Sent: Monday, April 20, 2015 8:57 AM
To: arslist@ARSLIST.ORG
Subject: ARS Patching Question

**
All,

Anyone ever come up with an idea for in-place ARS upgrades/patching? Something 
like using dual server groups so the system never has to go down during 
maintenance? (if that's even possible) I'm trying to come up with a way to 
decrease needed downtimes to handle the patch/upgrade load. (and reduce the 
need for me to be here during typical downtime window from 22:00-05:00).

Ideas?

Thanks,
-Doug

[cid:image001.jpg@01D07C1C.A0119620]


Confidentiality Notice: This e-mail message, including any attachments, is for 
the sole use of the intended recipient(s) and may contain confidential and 
privileged information. Any unauthorized review, use, disclosure or 
distribution is prohibited. If you are not the intended recipient, please 
contact the sender by reply e-mail and destroy all copies of the original 
message.
_ARSlist: "Where the Answers Are" and have been for 20 years_

_______________________________________________________________________________
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
"Where the Answers Are, and have been for 20 years"

Reply via email to