Capistrano

Capistranoのマニュアルをちらっと読んでみた。
ちょっと研究で、ソフトウェアのアップデートに関することに興味があるので、実際の現場ではどういう方法でソフトウェアの更新してるのかなーってことを、調べていたらこれの23枚目のスライドとかこっちの52ページから3枚ほどの所にはてなではどういう風にソフトウェアの更新を行っているのかが、簡単に書いてあって、SwitchTower(今は、Capistranoという名前)に触れてったので調べてみたのだ。
Capistranoというシステムは、何のためのものかというと、webアプリケーションにおいて、サーバーが何台にもわかれてる状況で、それぞれのサーバーにファイルを配置するのを容易にしてくれるもの、といった感じかな。元々は、Ruby on Railsに含まれるシステムなんだけど、Capistrano単独で使うこともできるから、Railsと一緒じゃないと使えないってこともないらしい。
で、実際にシステムがやってることは、分散シェルみたいな感じで、複数のサーバーに一発でファイルを配置できるってことらしい。その点で、以前書いたGXPみたいな分散シェルを、webアプリケーションの更新用に、ちょこちょこ機能を追加したものと考えればいいのかな。
webアプリケーションだと、アプリケーションの内部状態というのは、データベースに格納されていると考えることができて、アプリケーションを更新するときは、そのデータベースの設計はアプリケーションの更新によって変えることがない(あるかもしれないけど少ない)から、これでうまくいくってことなのか???