Calculatorアプリケーションを構築しているとしましょう。お客様は、独自のロゴやCSSスタイルシートを使用してこの電卓をカスタマイズすることができます。顧客は自分のドメインをホストしている電卓に向け、アプリケーションは各顧客の正しいテーマを提供します。たとえば:ホストされた/ SAASアプリケーションを構築する際に、顧客によるカスタマイズが許可されている場合、どのように複数のバージョンを管理しますか?
- www.AcmeCalculator.comはアクメのロゴ、およびそれらが作成当たり障りのない企業のスタイルで電卓をアップに役立つだろう。
- www.HellzCalc.comは、いくつかのHell's Angelsバイカーのサインと、彼らが作成した黒赤血球のテーマを使って電卓のサーバーを構築します。
Calculator 1.0をプッシュしました。誰もがこのバージョンで作業するためのスタイルを書いています。
次の月に、新しい機能を追加したCalculator 1.1をリリースする準備が整いました。このサンプルでは新しいUI(HTML)を追加する必要がある「科学的モード」としましょう。つまり、1.1を押し出すと、顧客のスタイルの一部が壊れることになります。
最高の解決策は、アプリケーションの複数のバージョンを実行しておくことです。たとえば、次のように
- www.AcmeCalculator.com転送へのアクメが現在オンになっているバージョンをチェックあなたのアプリケーションサーバーに解決し、www.AcmeCalculator.com/1.0
- www.HellzCalc .comは、新しいバージョンで動作するように更新されたCSSを使用し、[アップグレードの完了]ボタンなどをクリックしてリダイレクトされるため、新しい1.1バージョンで実行されていることに気づいたアプリケーションサーバーに解決します"www.HellzCalc.com/1.1
このシステムの1つの問題は、アップグレードに投資することのない怠惰な顧客が必然的にいることです。あなたは、それぞれのバグを修正しようとしているうちに、200のバージョンを同時に実行しています。
1つの解決策は、毎月のホスティング料金の一部を使用して、最も古いバージョンを実行しているキューで常にクライアントを引き継ぎ、CSSを調整するデザイナーのグループになる「UI移行チーム」を採用することです最新のバージョンで動作することを検証します。これにより、Xバージョンのみを同時にサポートすることができます。ここで、Xは、UI移行チームにどれだけのお金を投資し、それらをスピードアップしたり遅くしたりするためのリソースを追加する機能です。
電卓1.0と1.1はデータベース1.0で動作しますが、電卓1.2はデータベース1.1などで動作します。バージョン名のスキーマを追加するだけで、同様の "データ移行チーム"スキーマ1.0からスキーマ1.1にデータを移動し、最後にスキーマ1.0を削除します。
私はこのタイプの問題が以前に起きたと確信しています。他の人がそれをどのように解決したのかを見たいと思います。おそらく、このための「ベストプラクティス」さえあります。
より簡単に言われました。 – nurikabe