検索エンジンクラスターのテストとデプロイ

0
読了時間
検索エンジンクラスターのテストとデプロイ
Glean Icon - Circular - White
GleanによるAIサマリー
  • Glean は検索スタックのすべてのレイヤーを徹底的にテストしているため、変更を迅速に検証し、エンドツーエンドのシミュレーションを通じてバグを早期に発見できます。
  • 彼らは、安全のための迅速なロールバック操作を含め、より速く、より安全で、より信頼性の高い更新を実現するために、デプロイメント業務を刷新しました。
  • 最高の顧客体験を提供することを目指して、検索エンジンクラスターのパフォーマンスと信頼性を維持および強化するために継続的な改善と反復が行われています。

Glean、私たちはクラス最高の検索製品を提供するという高い目標を掲げています。

以前の投稿新しいランキングコードを迅速に展開する方法について話しました。この投稿では、検索エンジンクラスターのテストとデプロイの方法に焦点を当てて説明します。

この議論は本質的に技術的なものかもしれませんが、私たちは常にカスタマーエクスペリエンスの向上というトップレベルの目標に焦点を合わせ続けるよう努めています。つまり、インフラストラクチャ層も含め、私たちが行うすべてのエンジニアリングは、機能の更新とパフォーマンスの迅速化、バグや中断の減少、そして一貫して高い基準を維持することによる全体的な信頼の構築につながるはずです。

迅速で信頼性の高いシミュレーションとテスト

Glean では、検索スタックのすべてのレイヤーを徹底的にテストしています。各リリース認定は、フルロードのデプロイメントを対象に、エンドツーエンドで一連の検索テストを受けます。これに加えて、すべての検索エンジニアが数秒以内に検索スタック全体をシミュレートできるようにする必要性に気付きました。私たちは日々、検索エンジンの品質と堅牢性を厳重に守りながら、新たな改善を行うことを目指しています。

そのために、ユニットテスト内でメモリ内のマルチノード検索エンジンをすばやくブートストラップできるようにするために多額の投資を行いました。このフレームワークにより、検索スタックに加えた変更を非常に迅速に検証できます。これには、インデックススキーマの更新、検索およびスコアリングロジック、テキストトークン化などが含まれる場合があります。

リリースごとに、フルロードのデプロイメントを使用して一連のエンドツーエンドテストを実施していますが、この高速で軽量な方法を優先した理由は次のとおりです。

  1. エンジニアがローカル設定内のバグを早期に発見できれば、リークは少なくなります。完全にロードされたセットアップのバグを特定しなければならないという骨の折れる経験は誰もが知っています。
  2. エンジニアが修正を迅速に検証できれば、お客様が軌道に戻れるよう支援する時間も短縮されます。
  3. 通常のビルドプロセスの一環としてエンドツーエンドの検索ロジックをシミュレートできれば、どのように動作するかを推測するのではなく、実際に製品を深く理解できるようになります。

エンドツーエンドのシミュレーションでどれだけ多くのことを把握できるかに嬉しい驚きを覚えました。テキストのトークン化パスの最適化に取り組んでいると、組み込みクラスターに対して実行された単純な検索クエリテストでも、トークン化単体テスト自体では検出されなかった問題を見つけることができることがわかりました。バグをコードベースにマージする前にリークが発見されるのが大好きです!

迅速で安全な導入作業

私たちは、何千もの検索エンジンを迅速かつ確実に提供することを目指しています。これは非常に大まかな説明であり、実際には、これらすべての検索エンジンの運用と保守の方法に関するプロセスを毎日評価し、改善する必要があるということです。これは絶え間ない進行中の作業であり、顧客基盤を拡大し続けるにつれて成果を上げ続けています。

最近、私たちはすべてのデプロイ業務の見直しに投資しました。私たちはすべての操作を見直し、すべてのステップをより速く、より安全に、より簡単にテストできるようにするにはどうすればよいかを自問しました。

  1. 顧客ベース全体でより迅速かつ安全に検索エンジンを再構築するために、セットアップとティアダウンの操作を刷新しました。これにより、検索機能が新しくなり、パフォーマンスが大幅に向上した新しいクラスターに顧客を簡単に移動できます。
  2. デプロイメント操作ごとに一連のユニットテストを追加しました。顧客に対して実行中のバグを見つけることは、私たち自身が見つけたいところではありません。
  3. クラスターの切り替え (古い検索エンジンから新しい検索エンジンへの移行) などの重要な手順に関する重要な検証手順を追加しました。切り替えに進む前に、新しい検索エンジンでテストクエリを実行します。ロールバックが必要になった場合に備えて古い検索エンジンを削除する前に、アクティブな検索エンジンでこれと同じ検証手順を実行します。
  4. 新しい検索エンジンで問題が発見された場合に備えて、高速ロールバック操作を実装しました。これをお客様の導入に使用する必要はありませんでしたが、後悔するよりも安全にしたいので、これを使用しています。

これらの取り組みにより、以前は困難だったメンテナンスルーチンの監視やベビーシッターに費やす時間が大幅に短縮されました。また、バグを早期に発見できるようになったため、オンコールインシデントの削減にも役立っています。

今後

これらの投資はいくつか大きな改善をもたらし、ある程度の安心感をもたらしてくれましたが、私たちは常に見直しを繰り返しています。今後の投稿では、可能な限り最適な検索を提供するために行っているその他の投資について詳しく説明します。私たちは毎日学び、業界を定義する製品を構築する機会にワクワクしています。

もし 建物 または を使用します クラス最高の検索製品がおもしろそうですね。お問い合わせください!私たちはあなたと話したいです。

Work AI for All.

デモに申し込む
CTA BG