クローラーを外部に委託して開発、運用する方法もありますが、会社やプロジェクトの状況によっては社内で検討を進めていきたいという場合もあると思います。ただ、簡単だと思ってはじめてみたのはいいけれど、実際にやってみると毎日のように問題が起こり、担当者の人たちが疲労困憊というひどい状態になることもあります。構想段階ではなかなか気が付かないけれど、実際にやりはじめると直面するであろう様々な問題。事前に考えておけば、運用が楽だったりするポイントがいくつかありますので、運用目線で事前に考えておきたいことwここではご紹介します。
クローラーは毎日運用していれば問題は少なからず絶対に起きる。その前提で保守、復旧にあたる人員、サポートの曜日、時間の範囲をしっかりと考える
これはクローラーに限った話ではありません、システムである以上、保守をまったくしなくても大丈夫ということは絶対にありえません。少なからず問題は起きるからです。特にクローラーはシステムの特性上、不安定な稼働になるポイントがたくさんあります。大量のデータの処理、相手サイトの稼働状況の変化、ネットワークの状況、複数プロセスの並列稼働、未完了処理の蓄積など、クローラーといっても、継続的に稼働させていこうとすると「不安定なものである」という前提からスタートしないと、間違いなく担当者の方は苦労をされるはずです。そこで自社運用での導入を検討する際は、最初に社内で保守にあたる人員、及びサポートを行う曜日や時間などの範囲を明確にして、そこから始めることが大切です。「システムなんだから24時間365日稼働しているのは当然で、毎日、新しいデータって届きますよね」というような発言が出てきた場合、それを実現するための人員の数はそれなりになっていくはずです。そうすると、当然、運用コストも大幅に上がります。不安定なシステムを、どういった範囲でサポートを保証する必要があるのか、それを実現するために必要な人員は確保できることが決まっているのか、ここを最初に考えましょう。もし、稼働の安定性や、データの正確性が求められない場合は、こうしたことは検討から外しても大丈夫です。ただ、ビジネスでは時間や内容の品質について正確性を求められることが多いので、ここはしっかりと確認しておきましょう。
絶対にとれるわけではないということをプロジェクトメンバー全員で理解しておく。クローラーが導入された後の毎日のユースケースをみんなで考える
前段のサポートとも重複する話ですが、クローラーは特性上、「絶対に稼働してデータを出力できる」ということはありえません。相手サイトのリニューアルなどによるメンテナンスもあれば、ネットワークの速度が大幅に遅くなっており、適切なスピードで稼働ができなくなっていることなどもあるためです。そのため基本的には可能な限り、希望に準じたスケジュールで稼働しますが、間に合わないかもしれないし、そもそも取得できないこともありますということを、チーム全体がしっかりと理解しておく必要があります。システムを担当されている方は理解していても、データを利用する営業部の方が理解をしていないとすると、ある日、クローラーがデータを集められていない時に大きな問題に発展したりすることがあります。営業は毎日、データを受け取れる前提で営業オペレーションを考えていたため、データがない日に、新規の開拓が完全にストップしてしまうという事態が発生したりするためです。こうした事態を防ぐために、システム担当だけでなく、プロジェクトに関係するすべての人たちの理解状況を調べて、毎日、どんなことが起きるのかをしっかりと考えて対策をうつことが必要です。データがとれた日もあれば、とれなかった日もあるはずです。そして、時間に間に合う時もあれば、遅れてしまうこともあります。こうした、様々な状況におけるユースケースを考えて、ワークフロー的にも問題がない状況を作っていきましょう。
サーバは突然なにか起きることがある。冗長性と社内連絡のフローを考えておく
クローラーのシステムそのものは安定して動いていても、稼働させているサーバに問題が起きるということはよくあります。サーバのハードウェアの問題による復旧不能な問題、サーバメンテナンスによる稼働不能時間の問題など、システムを稼働させるサーバでもいろいろな問題がおきます。この時、問題が発生しても絶対に走らせようとすると、ホットスタンバイの状態のサーバを別途用意しておく必要があります。当然、コストは大幅に増えますが、安定稼働を前提とすると1セットの体制では難しく、最低2セットの用意が必要になります。また、サーバの問題の中でも、自社で管理していない場合、レンタルサーバやクラウドサーバの場合では、緊急メンテナンス等によって、こちらが知らないうちに勝手に一時的に停止、再稼働が行われることなどもあります。こうした問題は、システムを開発する人だけではどう
することもできないため、緊急停止が行われる前提をしっかりと作り、その上での復旧フロー、及び問題の社内連絡をするフローやマニュアルを用意しておくと実践的です。
社内でクローラーを運用される場合、うまくデータが収集できた後の話はどんどん進んでいきますが、うまく取得できない時の話というのは見落とされがちです。社内運用を検討される際にはしっかりと考えてプロジェクトを進められると後が楽になりますので、しっかりと考えて進めていきましょう。