Thread: application online upgrade strategy

application online upgrade strategy

From
lest mitsui
Date:
Does anyone have an idea on where to turn for information/research papers on online application upgrades? I am well-versed in offline upgrades, but I am now faced with customer requirements for transparent software upgrades of our application server/services -- and what possible solutions are there for software upgrades with co-requisite schema changes.





Invite your mail contacts to join your friends list with Windows Live Spaces. It's easy! Try it!

Re: application online upgrade strategy

From
Hannes Dorbath
Date:
On 23.05.2007 18:55, lest mitsui wrote:
> Does anyone have an idea on where to turn for
> information/research papers on online application
> upgrades? I am well-versed in offline upgrades, but I am now faced with customer requirements for transparent
softwareupgrades of our application server/services -- and what possible solutions are there for software upgrades with
co-requisiteschema changes. 

Use Slony and/or DBLink for application and PG upgrades, and a usual
Linux-HA active/passive 2 node cluster to manage all other upgrades (OS,
other applications, whatever..).

You use Slony/DBLink to transparently convert your data near real time
from your old schema to the new.

Zero downtime is still an illusion, but you might manage to get it down
to a few seconds. Always test and verify everything on clone systems
first. So instead of one server you might require 4 of them now. Also be
aware that a HA setup is not done over a weekend. I'd plan 3-4 months to
get everything perfectly working and tested. And still.. every online
application upgrade will require a huge amount of prearrangement work
and testing on clones/snapshots. Oh, and be sure to have a good backup
concept. If something goes wrong during an update at any point, you have
a few seconds to restore the state of the system as it was before (If
you can afford to lose any transactions at all).


--
Regards,
Hannes Dorbath

Re: application online upgrade strategy

From
"Merlin Moncure"
Date:
On 5/23/07, lest mitsui <lestcdn@hotmail.com> wrote:
>
> Does anyone have an idea on where to turn for information/research papers on
> online application upgrades? I am well-versed in offline upgrades, but I am
> now faced with customer requirements for transparent software upgrades of
> our application server/services -- and what possible solutions are there for
> software upgrades with co-requisite schema changes.

In theory, if your application is 100% database driven (with a thin
rendering middleware), you can update your app with a single
transaction.  The database gives you all the tools you need...you can
lock the appropriate structures and postgresql ddl is gloriously
transactional.

The problem often lies with the application itself.  Since most apps
are not 100% database driven, you have to worry about syncing the
application with the database.  In this case, I'd treat the problem
like a classic database problem...begin a database transaction, lock
the appropriate structures, update the relevant application structures
(taking care to handle rollback conditions if necessary), and commit
the transaction.

If your app is minimally database driven, common in ORM style
development...well, good luck! :-)

merlin