こんにちは、データ基盤チームのまつもとです。先月開催されたObservability Conference 2022に登壇しましたので、お話した内容を簡単に紹介して登壇について振り返ります。
Observability Conference 2022
Observability Conferenceは、オブザーバビリティ(可観測性)に特化したテックカンファレンスです。オブザーバビリティとは何かについて簡単に説明しておくと、「いつ、どこで、なにが起きているかを観測が可能である」という性質のことをいいます。複雑かつ動的にスケールをする分散システムにおいては、オブザーバビリティを備えることでシステムの状態をより正確に把握できます。そのため、障害の検知や原因の特定を効率的に行えるようになるだけでなく、キャパシティ計画やパフォーマンス計画の推進にも役立ちます。
このカンファレンスでは、主にDevOpsを実践しているもしくはこれからやっていきたいエンジニアをターゲットとしています。具体的には、インフラエンジニア、SRE、アプリケーションエンジニアになるかと思います。
今回のセッションを眺めてみると、オブザーバビリィに関する各社の取り組みやツールの紹介が多かったようです。また、想定しているサービスもウェブアプリケーションサービスが前提になっているように見えました。一方で、自分が普段から関わっているシステムはデータ分析基盤です。あまり事例を見かけない領域なので、データ分析基盤という切り口でペパボでのオブザーバビリティへの取り組みについて紹介しました。
発表内容
発表のスライドと動画アーカイブは以下に公開されています。
発表の内容を簡単に紹介します。
現在、ペパボではエンジニア3名、データサイエンティスト2名でデータ分析基盤 Bigfootを開発・運用しています。この小規模なチームでサービスの可用性を維持するために行っている取り組みを紹介しました。そして、各取り組みの成熟度をオブザーバビリティ成熟モデルによって評価しています。オブザーバビリティ成熟モデルについてはNew Relicさんのこちらの発表資料を参考にさせていただきました。
この評価モデルは、「監視ができているか」、「問題に対する改善のアクションが取れるか」、「サービス向上への取り組みが出来るか」、さらには「ビジネスの状況に基づいた取り組みが出来るか」という各段階をもとにレベルを定義しているものです。
評価はほとんどLv.1という結果となりました。つまり、監視まではできているという状況です。
以上の内容はサーバーインフラ〜アプリケーションまでのオブザーバビリティについてのお話でした。今回、データ分析基盤のオブザーバビリティについて考える中で、データ自体のオブザーバビリティという観点でも評価を行いました。例えば、「データがどこで欠損しているのか」、「データの不備に対する影響範囲はどこまでか」、「このデータの参照頻度はどれくらいか」といったことがどの程度把握できる状態になっているかを評価しました。
ここでは、社内で開発して運用しているShoegazerというツールを紹介しました。ShoegazerはBigQuery上のデータに対して想定する値になっているかをクエリを投げてチェックし、検査結果のレポートをウェブで閲覧できるようにするものです。
データのオブザーバビリティについてもまだ足りていない事ややりたい事が多くあります。具体的には、データリネージやデータのプロファイリングに基づいた予兆検知などが挙げられます。なお、データリネージについては、同じチームのtosh2230さんがstairlightというツールを絶賛開発中です。また、データのプロファイリングについてもこちらのブログでPoC的に実装したプロトタイプを紹介しています。
最後に、システムとデータのオブザーバビリティについて優先度の高いものから少しずつ実装し、データ分析基盤を安定的に運用することを目標として掲げ、本発表の締め括りとしました。
登壇についてふりかえり
CFPの作成においてはhsbtさんや同じチームのメンバーにサポートいただき大変助かりました。発表当日までは、チームのメンバーから登壇資料やリハーサル動画のレビューをしていただき、しっかりと準備をすることができました。カンファレンスで登壇するのは初めてだったのでチームのサポートは大変心強かったです。また、事前収録の登壇だったので落ち着いて発表することができました。アフターコロナではオンラインとオフラインのハイブリッド開催のカンファレンスも増えてきそうですので、次回はオフラインでの登壇にも挑戦してみたいと考えています。
さいごに
登壇の準備をする過程でBigfootのオブザーバビリティについて現状を評価し整理できたことが、個人的に大きな学びとなりました。Bigfootでは、Google CloudやAWSの上でマイクロサービスで構成したデータパイプラインを運用しています。マイクロサービスで構成することのデメリットとしてシステム全体が不安定になったり、サービスの状態が見えにくくなるというものがあります。今回の発表の中でも言及していますが、現在のペパボのデータ分析基盤のオブザーバビリティは十分な状態ではありません。変化に対して迅速に対応できるようにするには、マイクロサービスで構成することに伴うデメリットに対応しながら基盤を成長させていく必要があります。データ基盤チームではオブザーバビリティを意識したシステム構築を実践し、引き続きペパボのデータ駆動を推進していきたいと考えています。