質問
が好ましい方法を優雅に向しょうか。い全く新しいコードベースを作っており、サイトが更新まで数時間です。私たいと思っているサイトへの全体の時間の"バージョンアップする。!"のメッセージがないたいのですが、現在のサイトへのアクセスアップながら、新しいものを入れます。
なだけを考えることができることができる優雅なドは、サーバが、このことは取得します。
解決
「優雅にあなたのウェブサイトをアップグレード」する計画が開始されません。それはあなたのアプリケーションの設計が非常に早く開始します。それはあなたがのアプリケーションを構築しなければならないことを意味が優雅にアップグレードされ、また、そのアップグレードをサポートするための場所でのインフラを持つことができます。
あなたはいくつかの詳細を提供している、インターネット上のランダムな人々から漠然と、しかし重要な質問をしています。これは、「優雅にアップグレードする」直前の懸念があったと信じるように私をリード(のような23分前)。
あなたの質問は、「優雅にウェブサイトをアップグレードするための好ましい方法はありますか?」唯一の「はい、私は道違っあなたが行うよりも、それを行う。」、と答えることができる。
他のヒント
あの戦術を使ってくれていると信じられて、時間の資源のいいコミットへのアップグレードを開始します。
することは可能ではなに入っているからだを行うご移動、全くゼロに下ります。
により複雑なプ/サイトは、より複雑なの移行戦略可したい場合になります。
私のゼロエミッションを達成ダ間の移動:
- 新しいサーバー(s)の新しいバージョンのサイトのデータベースです。
- を変えるのは、負荷バランサーを分割交通二つのプールを新しいアプリは、古いアプリです。
- 設定された内容を見るには英語版の配信を開始交通の新しいアプリサーバー(s)、さま、ありがとうございましたの既存のセッションのアプリのサーバー(s)
- 新しいセッションの新アプリえているかどうかはお客様のデータを移行した場合には迅速にさせます。
- 段階的に停止"古いアプリ"サーバーとして荷重の滝、アップグレードし、新しいアプリに加え、新アプリのロードバランサプールがあります。
- としてセッションの顧客データを移行するための新しいデータベースです。
- として負荷の許可を移動休止顧客データのデータベースです。
もちろん、これはさらに複雑なものとして維持するのに必要なアクセスの顧客データを二つの環境に徐々に移行します。
な許可を米国でロールバックに変化すべき課題はあると思い-例えば、過度のCPUやメモリ使用量の新しいアプリサーバー
のための小さながんの予算のための追加のサーバできる場合もありますが、いずれにする"という目標の達成に向けを使っているだけで複数のIPアドレス、または何らかの形での内部での負荷分散ソフトウェアへのルート要求の、新しいサイトです。この複雑な事項です。
だが、古いアプリ、新しいアプリに同じデータストア(バックエンドwebサービス、データベース等)-そのアプリケーションが必要となる場合があることを十分認識している同期データに関する重要な役割を果たしています。例の中に保存-更新のお客様データの書きる必要があるが、両です。
いくつかの時間あなたが最初の変換完了し、データベースのコピーを取ることができ、データベースに変換するの多くは、新しいサイト(やや古いデシベルで)設定がある場合は、変更されているものに見える、くらいですあなたはコピーを取っているので、新しいデータベースに挿入しすぎて(あなたは多くの変更を持っていない場合は、大きなダンプよりも高速であるべき)という変換します。
ただ、バックアップすることを忘れないでください!
という方に行くとのことで絶対に必要な連携をとっておりますのウェブホスティングおよびドメイン名とプロバイダです。
大まかな手順とする。
- 家賃は、新しいサーバーの異なるIPアドレスすることができます専用のコントロールパネルに、新しいサイトです。または可能であれば、試験subdomainのサイトからなる。
- ローサイトの新しいサーバー/subdomain.すべてを行う必要に応じて試験し、あなたの新しいサイトを利用はホームページからダウンロードおsubdomainます。
- がんエクスペディアが簡単、便利であり、問題のリダイレクト最初の新しいサーバー/subdomain.
- リダイレクトをごDNSへのIPアドレス、または修正するようにな思い出をかたちにするメインのドメインの現在ポイントを元の場所にsubdomain.
理想的には誰もいないようでも告知するサイトした場合、または下時に、昨することを見いだしました。
あなたがあなたのケーキを持って、それを食べたいような音ます。
アップグレードを使って、ジョブのスクリプトを作成することによって、それをスピードアップしていない理由は、いくつかの時間を要する手動の仕事である場合。
これはおそらく、あなたはすでに現在のリリースに「で設計」しているために必要なものです。
いくつかの部分(例えばカタログ)が利用可能になるように、それをセグメント化することができますが、他は(例えば購買)がアップグレードされていますか?
読み取り専用バージョンがキャッシュを使用して作成することができますか?
あるいは、確実にサービス停止が許容され、一日の時間があるのですか?日曜日の夜の仕事ですか?でもかなり主要なウェブサイトは、機能性の部分がunavaiableである時にいくつかのメンテナンスウィンドウを持っています。
それはあなたがアップグレードするだけで、データベースの場合は、単に新しいものを作るとすぐ、それは準備ができているよう切り替えます。
あなたは、コードをアップロードして話をしている場合は、別のディレクトリにアップロードし、それは準備ができたときにそれをmv
。
それはあなたの開発環境で同様のセットアップを持っている場合は問題になることはありませんです。
また、20ユーロ/月(kimsufiか何か)にあるもののような非常に安価なサーバーをレンタルして、アップグレードを行うことができます。