Обсуждение: application online upgrade strategy
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!
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
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