- トップマネージャー(または一般)
- 同僚、一部の栄光
- 親愛なるお客様
あなたが引っ張られたとき、さらに楽しい...休暇で夕方に、他の時間夫婦の義務のパフォーマンス中に:-)
Webプロジェクトのアクセシビリティを確保するための重要な原則である人気のある事例を分析し、「穏やかな休暇」のチェックリストを作成してみます。
応答時間を短縮する
良い方法では、サイトのユーザーが何に遭遇する前にWebプロジェクトの問題を見つけ、状況を修正する必要があります。 さらに悪いことに、数万(数千)のユーザーがWebプロジェクト、スーパーバイザーの問題を発見し、Twitterで「ハング」について話し合い、エラーのスクリーンショットを撮ることさえできました。
多くの場合、次のように発生します。
- サイトが数分以上ハングする
- クライアントは、あなたと同僚を含めて書いたり、電話したりします。 ツイッター会社で
- システム管理者またはシステム管理サービスに書き込みます
- システム管理者は、Apacheを再起動すると言います。その後、Webプロジェクトが再び利用可能になります
言ってくれてありがとう、今私はApacheをオーバーロードします...-つまり あなたが押し込むまで...誰も何もしません。
単純なWebプロジェクトの結果は、最大で数十分です。 貴重な顧客データを含むクールでハイテクなWebプロジェクトがハングした理由をユーザーに説明する必要があります。
プロアクティブに対応できる優れた低コストのビジネスプロセスがあります。 これを行います:
- Webプロジェクトの自動監視を設定するシステム管理サービスに同意します。 これを行うには、無料の効果的なソフトウェアがたくさんあります。 私たちはnagiosを使用しており、多くはzabbixなどを使用していますが、このようなソフトウェアの設定には数時間かかります。 何をテストしますか? 最も単純な場合:Webプロジェクトのページの読み込み時間と、フッターの電話番号などの一意の署名の存在。
- 「誰か」は、監視システムから問題に関する通知があった場合に対応する必要があります。 「誰か」が30分間昼食や喫煙をしている場合、Webプロジェクトは30分間ハングします。 sysadmins SMSを携帯電話に送信するように構成するのに役立ちます。 mail.ruでは、制限付きですが、メールボックスからSMSを無料で送信できますが、30分に1回しか送信できません。 SMS配信サービスのサブスクリプションを購入すると、制限なく高速に配信されます。 システムによってSMS監視システムをモバイルシステム管理者に送信するプロセスをセットアップする-約30分SMS送信サービスに承認を与えない場合、少なくとも、監視システムにすべてのシステム管理者、あなた、および同僚へのメール送信を強制できます。職場にいて対応します。
- 「誰か」は、週末、夜間、休日(1月上旬など)にWebプロジェクトの問題に対応する必要があります。 多くの場合、週末やお正月にWebプロジェクトがハングすることを知ったときに、すぐにではなく、数時間または数日後にケースに遭遇しました。 システム管理者が誰も働いていなかったというだけです:-)この場合、あなたはこれを行うことができます-勤務時間外の勤務時間の編成に関する技術サポートサービスに同意します-この場合、「重要なことに、反応しなければならない」誰かが存在します
この時点で、システム管理サービスの誰かがあなたのWebプロジェクトの問題をクライアントより早くまたは同時に正確に知り、どこでも反応することを期待できます。
深刻な組織では、迅速な対応のタスクを解決するために、上記のタスクを含めるSLAのITサービスの「同意」に同意することができます。
監視マシンを別のデータセンターに配置することをお勧めします-従います。 国内ホスティングの場合によくあることですが(また、記憶に新しいように、最近Amazonでマシンが「ドロップ」された1つのデータセンター)、データセンターの電源が数時間オフになると、社内の監視マシンはオフになりません週末にインシデントが発生した場合、何も知りません:-)
プロアクティブな監視-外部
きっとあなたのウェブプロジェクトはクライアントに様々なサービスを提供します:キーの送信、注文のメール通知、ファイルのダウンロードなど。 -これらのサービスも監視システムに含める必要があります。 Webサイトの「銃口」が開く場合がありますが、個人セクションのクライアントによるファイルのダウンロードは機能しません。
したがって、WebプロジェクトのNサービスの常時監視の可用性を要求し、「注文処理サービスが機能しません」という通知を受け取ったら、すぐに問題について学び、責任者がすでに対処し始めていることを願っています。
プロアクティブな監視-内部
多くの場合、Webプロジェクトは徐々に崩壊します。 サーバー上のディスクスペースが減少し、バックアップと負荷のかかった作業を担当する内部サービスが機能しなくなりました-これに誰も応答しませんでしたが、それは可能でした...
したがって、自動監視では、サイトの可用性だけでなく、サーバー、サービス、データベースなどの健全性も確認することが重要です。 システム管理サービスがこれを実行するか、体系的に処理を開始することを確認すると便利です。
繰り返しますが、この問題を解決するには、フリーソフトウェアを使用します。これは十分に迅速に構成できます。
その結果、Webプロジェクトのパフォーマンスに間接的に影響するいくつかの障害が絶えず監視、修正され、重大な質量に蓄積しないことを願っています:サーバーのハードウェア、ハードドライブ、ネットワークルーターなどの状態がチェックされます。
触れないでください-開発は個別に実行されます
皮肉なことに不気味だが、広範囲に渡るケース-開発者は「戦闘」サーバー上で直接Webプロジェクトコードを変更し、多くの場合、日中にプロジェクトの機能を破壊し、サイトのページとデータを(当然ながら)削除します...
開発者がこれを行う最も簡単な方法です-ログインして修正/中断し、開発者とクライアントの両方の結果をすぐに確認します:-)
この悪夢に対処する方法:
- 私たちは、すべてが最初に行う個別の開発構成の可用性に関する開発サービスに同意します
- Webプロジェクトへのすべての変更が、開発者、テスター、およびあなた(部下)によって最初に慎重にテストされていることを確認します
- あなたから承認を得た場合のみ、「一連の変更」(「リリース」と呼ぶことができます)が「戦闘」サーバーに転送されます
- 管理パネルによるコンテンツの変更は、開発者の関与なしに直接行われます。 だから時間を節約します
- 可能であれば、エラーが発生した場合に変更をロールバックする機能と、障害を完了する時間に同意します。 多くの場合、彼らはそれを忘れ、システムがルネットの目の前でバラバラになると、彼らはそれを長くゆっくりと復元し始めます-そして、5分間、慎重に変更を元に戻し、幸せな過去に戻る希望があります:-)
開発者が内部自動コードテストのサブシステムを作成するためのリソースを要求し(ContinuosIntegrationテクノロジーもこのユニバースに似ています)、チームを信頼できる場合は、先に進みます。 これにより、機能Dに変更を加えた後、場所A、B、Cでプロジェクトが破壊されるリスクが軽減されます。
最近、ファッショナブルな曲が回転しており、Webプロジェクトは永久に未加工の状態(ベータ)であり、クライアントが未完成で迅速に機能を開始する機能のバグを見つけ、テスターのグループを維持する必要はありません-実際、クライアントからの手紙の場合注文や問題の損失を分解するのはあなた次第ではありません-... :-)
データセンターとその数
Webプロジェクトは、1つの「非常に信頼性の高い」データセンターに配置されている可能性が最も高いサーバー上で「ライブ」です。 残念ながら、データセンターは故障します-落雷、Vasyaおじさんは掘削機の電源ケーブルを切断し、クリーナーは夢中になり、サーバーに水をかけます。 -一般的に、Webプロジェクトは数時間から数日間利用できなくなる場合があります。
あなたがこれを生き延びたいなら、次の章を読んでください。 次のスキームはうまく機能し、最小限のダウンタイムでデータセンターの崩壊に耐えることができます(試してみると数分でダウンタイムを達成できます)。
- 別のデータセンターでは、データベースの「レプリカ」を、より「弱く」安価なサーバーに保管しています。 つまり すべての注文、トランザクション、カタログの更新は、バックグラウンドで別のデータセンターに転送されます。 MySQLの場合、このようなレプリケーションは非常に迅速に、簡単に構成され、確実に動作します(最後のいくつかのトランザクションを失うリスクがありますが、それらを失うことさえないことを学びました)
- 別のデータセンターでは、ファイル、画像などのデータの「レプリカ」を保持しています。 これには、たとえば、DRBDテクノロジーが使用されます。 簡単かつ迅速に構成されます。
- データセンターAで自殺の場合、ドメイン名をデータセンターBに切り替えます。 その中には、すでにすべてのデータがあり、後者は引き続き顧客にサービスを提供しています。 可能であれば、データセンターBでサーバーを同じ容量に保つことができます。この場合、顧客は何も気付かないでしょう。
「DC間の高速移行」というこの問題に対するエレガントでシンプルなソリューションがAmazonによって提供されています 。 そこのデータセンターは高速道路で接続されており、新しいスナップショットのデータを手元にある別のデータセンターで車を「持ち上げる」ことができます。
顧客データを永久に失う方法は?
もちろん、Webプロジェクトデータをバックアップする必要があることは誰もが知っています。 ほとんどの場合、彼らはそれをやっている...あなたはそれらを復元しようとしましたか? :-)アーカイブコピーの「破損」が原因でデータが復元されない場合があることを知っていますか?
無責任で低品質のバックアップ組織と戦うには、ITユニットと「回復演習」を実施する計画を調整することが役立ちます。たとえば、月に一度、Webプロジェクトの別のマシンでテスト回復が実行されます。
さらに良いことには、何らかの理由でバックアップが作成されていないか、復元中に読み取れない場合に「ノックアウト」されるいくつかのテストを監視システムに含めます。
また、バックアッププロセスを中断するには、専門家の高いレベルでのガウジングを行うことは簡単であり、個人的には誰もがバックアップが作成されていると考える状況に直面しましたが、実際には-ディスクは長い間いっぱいです:-)
itサービスに問い合わせるのは興味深いことです。「そして、データセンターでのデータ損失または事故の場合、バックアップからWebプロジェクトがどのくらいの期間復元されますか?」技術的には、レプリケーションを編成する場合(上記参照)、これは数分(または数十分)で達成できます。 ただし、「1日前にデータを復元し、3時間目のバックアップからデータベースを投入します」というような回答を聞くことができます:-)。 警戒してください。
まとめ
必要に応じて、特定の断定性があれば、委託されたWebプロジェクトを監視および復元するためのビジネスプロセスをすばやくセットアップできます。 特にあなたがクラウドにいる場合。 技術的な能力...永久的な創造的な喜びProductOwner-利用可能:-)