Catchpointとは？

# Catchpointとは

Catchpointは、IPM(Internet Performance Monitoring)のツールを提供する企業です。ニューヨークとボストンに拠点があります。

現CEOのMehdi Daoudi氏が立ち上げた会社です。
Mehdiは、日本での留学経験もあります。
Mehdiは、元々はDoubleClickの品質保証担当VPで、Googleに買収された後はGoogleの品質保証担当VPを務めていました。
当時、Mehdiは、Keynote SystemsやGomezを使っていたのですが、色々と機能面で不満があり、それなら自分でつくるといって始めたのがCatchpointだそうです。

私は、Keynote SystemsがThomaBravoに買収された後、同僚の多くがCatchpointに移ったため、同僚の一人に誘われてCatchpointに入社しました。

![medhi_and_yoichiro.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61234/856ffd73-20aa-decb-1754-6b637e63425a.jpeg)
Medhiと筆者

しかし、日本ではサーバの計測・監視が一般的で、ユーザ側の計測・監視をやっている企業は殆どありませんでした。
海外ではKeynote Systemsの後継として引く手あまただったのに対して、日本では売れないため、日本を撤退してしまいました。
そこで、私が自分で代理店になって継続して販売・サポートをしています。
それは、エンドポイント側での計測・監視による品質管理が、日本で絶対に必要で普及した方が良いと海外の顧客とやり取りで痛感していたからです。

Catchpointは、Webサイト、アプリケーション、ネットワークのパフォーマンスや可用性をリアルタイムで監視し、問題を迅速に特定して解決するためのソリューションを提供しています。

パブリックな回線のみならず、Enterpriseノードを設置することで、閉域網での計測・監視も可能です。

Raspberry Piでの計測・監視も可能で、MQTTに対応しており、IoT機器向けの計測・監視も可能です。

## Catchpointの機能

Catchpointの主な機能には、以下のようなものがあります。

### Synthetic Monitoring

Webサイトやアプリケーションのパフォーマンスをリアルタイムで監視し、パフォーマンスや可用性の問題を迅速に検出します。

### Real User Monitoring

実際のユーザーがどのようにWebサイトやアプリケーションを利用しているかを分析し、パフォーマンスの問題を特定します。

### Endpoint Monitoring

企業の従業員やユーザが、自分の端末において、性能や可用性の問題が生じた際に、その端末での通信状況を計測・監視して分析することで、パフォーマンスや可用性の問題を特定します。

### Internet Sonar

主要なインターネット上で使われるサービスを全世界で計測して、データを提供するサービスです。
自社で計測・監視をしなくても、共通の計測・監視データを提供されるので、それで自社が使っているサービスの影響などを知ることが可能になっています。

### Node to Node Monitoring

特に、通信事業者向けの計測・監視で、通信拠点間での通信品質を計測・監視が可能です。
往路と復路で、レイテンシや経路が異なりますが、それらも計測・監視が可能です。

## 品質管理と品質保証

Synthetic Monitoringは品質管理用、Real User Monitoringは品質保証用と分けて使うものです。
Synthetic MonitoringとReal User Monitoringに対する誤解が多いですが、それぞれに使う目的が違います。
お互いに補完しあうものです。

### 品質管理

品質管理(Quality Control)は製品完成前までに検査を行い、品質基準を満たしているかチェックするため、市場に製品を出す時点の品質基準に責任を負います。

品質管理においては、自分たちで管理できる(影響を及ぼせる)限界点を定めて、その範囲内で行います。

### 品質保証

品質保証(Quality Assurance)は製品が市場に出た後の品質も保証するため、製品を使う顧客に対して責任を負います。 

品質保証では、自分たちで管理できない(影響力が及ばない)ところについて、どうするかを決めるものです。

## 世界最大のモニタリングネットワーク

Catchpointは、Synthetic Monitoringにおいて世界最大のカバレッジを達成しています。
全世界2500か所以上のネットワークをカバーしており、業界トップです。

BGPモニタリングでも、世界最大のモニタリングのカバレッジを誇ります。
BGPはリアルタイムアラートが上げられるので、通信事業者の方には驚かれることが多いです。

### フィッシャー三原則に準拠

CatchpointのSynthetic Monitoringは、R・A・フィッシャーのフィッシャー三原則に準拠し、実験介入を行った計測・監視です。
そのため、因果関係を明確にすることが可能です。


### 代表性の担保

データの代表性を担保するために、現地のユーザが利用している回線を使って計測します。
ですから、他のSynthetic Monitoringと違い、データの代表性を担保します。

※データの代表性とは、データセットが全体の母集団（または対象となる全体）をどれだけ正確に反映しているかを指します。

### 可用性の問題の検出

Catchpointは、クラウドではなく、独自に各地のデータセンターに計測ノードを設置し、クラウドプラットフォームに障害が発生した際に検知を可能としています。

### 各種クラウドプラットフォームでのファーストマイル計測の対応

以下のクラウドプラットフォームにも計測ノードを展開しており、ファーストマイルの計測・監視も可能です。

* AWS
* Microsoft Azure
* OCI
* Google Cloud
* IBM SoftLayer
* Alibaba Cloud
* Tensent Cloud

これらのサービスにより、企業はWebサイトやアプリケーションのパフォーマンスを最適化し、ユーザーエクスペリエンスを向上させることができます。

## 日本国内でのノード展開

Spelldataは、Catchpointの代理店として、日本での計測ノードを展開・運用して、Tier1～Tier2までのサポートを日本語で提供しています。

* 札幌
* 新潟
* 東京
* 名古屋
* 大阪
* 福岡

と全国6都市での計測センターを運用しており、そこにCatchpointの代理店として計測ノードを設置しています。

![nodemap_in_japan.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61234/7d554a76-b3c5-c917-4243-b6dbfa6fea0c.png)

今後は、

* 仙台
* 松山
* 広島
* 松江
* 沖縄
* 長野
* 金沢

への展開を計画しています。

## 日本国内でカバーしている回線

日本国内では以下の回線をカバーしています。

### 光回線

* NTT
* KDDI

### 携帯回線

* docomo
* au
* SoftBank
* 楽天モバイル

## 対応プロトコル

Catchpointは、以下のプロトコルでの計測・監視に対応しています。

* BGP
* TCP/UDP/QUIC
* DNS
* HTTPS
* SMTP
* IMAP
* SSH
* SSL
* TCPカスタムプロトコル (ゲームや業務アプリで使うカスタムプロトコル)
* MQTT

Internet Stackと呼ばれる各種レイヤーをカバーした計測・監視を24時間365日自動で行い、お客様にデータを提供監視しています。
![internet_performance_stack.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61234/19879d56-3e51-ed6d-00b7-04bfdff26378.jpeg)

### BGPデータ

![bgp_smartboard_bgp_graph.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61234/2cdf6304-48d5-b5b3-2f19-bea231305ba9.png)

### 光回線でのTCPデータ

![2024-06-23_23h13_49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61234/2670661a-1ad5-2b58-3c78-1a84c5bded74.png)

### モバイル回線でのTCPデータ

![2024-06-23_23h15_45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61234/bdd2cd12-6a82-34c4-d869-fbed7158833d.png)

### DNSデータ

![2024-06-23_23h17_22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61234/e1db0aa9-54be-cac7-a6e2-c3226b950968.png)


### Webページデータ

![2024-06-23_23h18_54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61234/652726ef-9f31-fefa-a7ab-599d529f1d01.png)

### トランザクション計測・監視

Catchpointは、トランザクション計測・監視と呼ばれる、Webページで遷移がある動線での計測・監視も可能です。

スクリプトとしては、以下のものに対応しています。

* Selenium
* JavaScript
* Playwright
* Puppeteer

GoogleやMicrosoftが顧客として利用しているので、MicrosoftのPlaywriteやGoogleのPuppeteerにもいち早く対応しています。

### ChromeとEdgeに対応

GoogleやMicrosoftが顧客として利用しているので、MicrosoftのEdgeやGoogleのChromeにも対応しています。

## スタックマップ

これらのデータを組み合わせて、遅延が生じたり、障害が発生したときに、ピンポイントで、どこで問題が生じているかを特定することが可能です。

![Stack_Map.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61234/b533ac9e-e741-c004-ddef-589f63f089b2.jpeg)

## トレーシングマップ

更にサーバ内部にモジュールをインストールすることで、どの部分の処理で遅延しているか、スタックマップで確認することが可能です。

![tracing_limited_preview.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61234/b04ab27f-9cae-f444-df50-d8dbde5364e5.jpeg)

## リリースサイクル

Catchpointは、積極的に開発を行っており、2～3か月毎に新機能をリリースしています。

## 主な顧客

* VerizonやHoneywellのような通信事業者、通信機器会社
* Google, Microsoft, Facebook, Oracle, SAP, AWSのようなIT企業
* 金融系
* EC
* TikTokのようなエンターテイメント企業
* ゲーム会社
* エンタープライズ
* CDN
* クラウドプラットフォーム
* SaaS事業者
* NewYork Times、Washignton Timesのようなメディア

国内では、製造業、EC、行政、モバイルアプリ、UGCなどを運営している、いくつかの大手企業様にご採用頂いております。
Webパフォーマンスに限らず、最近ですと、DKIMやSPFの遅延やエラー検出の計測・監視などでも利用頂いています。

## 価格体系

ポイント制になっています。
1ポイントあたり数円で、ボリュームディスカウントが利きます。
1回計測する毎に、計測するものによって0.2～1ポイントが消費されます。

計算式としては、

計測ノード×計測頻度×365日で計算して見積ります。

契約は1年単位で、年数十万円から契約可能ですが、一般的には100万円が最低ラインです。
大規模なサイト運用をされている場合は、500～3000万円の予算感になります。
***Spelldataから購入しても金額は本家と同じです。***

携帯回線の場合は、Spelldataから買う方がお得になります。
(本家は1回計測すると5ポイントに対して、Spelldataは1ポイント)

Spelldataは、適格請求書発行事業者登録番号も取得しているので、インボイス制度も対応しています。

## Catchpointの特長

### レイヤーのカバレッジとデータの解像度

BGP→TCP→DNS→HTTPSという具合に下のレイヤーから上のレイヤーまでカバーして計測・監視ができます。

データ量に圧倒されてしまうかもしれませんが、技術者にとってはデータ解像度が高いため、問題をピンポイントで特定することが可能です。
そこが魅力で多くの企業で採用される理由にもなっています。

### 因果関係を明確にできる実験データ

フィッシャー三原則に則ったSynthetic Monitoringであるため、実験介入により、変数を「止める」ことができ、性能や可用性といった目的変数に影響を与えている説明変数を絞り込むことが可能になっています。

### 現地での性能や可用性を知ることができる

実際のユーザが体験している表示速度などを知るために、RUM(Real User Monitoring)があり、これはCatchpointも提供しています。
しかし、Real User Monitoringは、

* ユーザがアクセスしないとデータが取れない
* 可用性の問題が生じた際には、ユーザがアクセスできないので、データが取れない
* 実験データではなく、観測データであるため、遅延を検出した際に、理由（因果関係）が特定できない

という問題があります。

Synthetic Monitoringでは、現地に計測拠点を設けるのは費用が掛かるのですが、そこで能動的に計測・監視を行うため、ユーザのアクセスが無くてもデータを取得可能であり、繋がらない・遅延したという可用性の問題もデータを取得してアラートを上げることが可能です。

それで、Catchpointは積極的に、今も全世界で計測・監視できるカバレッジを広げています。
それは、国内での計測センターを運営している私たちSpelldataも同じです。

## Catchpointを使う際の敷居

### 統計学・品質管理の知識

Synthetic Monitoringは、1990年代にKeynote Systemsが生み出した計測・監視手法で、30年ぐらいの歴史があります。
能動的にこちらから働きかけてデータを生成するという、Synthetic Data(合成データ)というデータサイエンスの用語からSynthetic Monitoring(合成監視)という命名となっています。

Synthetic Dataという用語は、最近ではAIを使ってデータ生成を行う場面でも、よく使われます。

品質管理では一般的な実験計画を策定して、計測の頻度＝標本の大きさを決めたり、どういう計測・監視をするかを決めないといけないので、基本的な統計学・品質管理の知識が必要になります。

（技術者であるならば、それらは必須だとは思います。IEAでも、統計学はエンジニアの必須知識とされています。）

しかし、実際のところ、日本での本格的な統計教育は、始まって、まだ10年です。
統計学はよく知らないとか、苦手という方が多いのは事実です。
そこで、データ分析で圧倒されてしまうことが敷居になっているかもしれないです。

またデータ分析手法も理解していないと、正しくデータを分析できず、誤った結論に導かれる可能性もあります。
(平均だけを見る、というのはやめてくださいね)

### 費用

Catchpointは、基本的に、エンタープライズ向けサービスなので、きちんとカバレッジを考えて計測・監視しようとすると費用が高めです。

ですから、それに見合うシステムを運用されている企業にお勧めします。

* 止まってはいけないシステム
* 遅延が大きくユーザ/顧客に影響するシステム
* 遅延や繋がらないことが収益に大きく影響を与えるシステム
* SLAが求められているシステム

このようなシステムを運用されている企業にとっては、Catchpointは、非常に強力なツールとなります。

### レイヤー毎の知識

データ分析する上で、BGPもTCPもDNSもHTTPSもすべて理解していないといけない、というのは、結構敷居が高いです。

## Spelldataの役割

Spelldataは、Catchpointの代理店として、上述したような敷居の高さをカバーする役割も担っています。

### 計測センターの運営

国内での計測センターや対応回線を徐々に増やして、国内の通信状況の可視化を行う。

### Enterpriseノードの展開

閉域網でのシステムを運用されているお客様のためにEnterpriseノードを展開し、それらのメンテナンスを担当する。

### サポートの提供

Tier1～2までのサポートを日本語で提供しています。
Catchpointとの連携も密に行っていますので、お客様の要望などもCatchpointにフィードバックして開発に反映してもらっています。

### 実験計画の立案

お客様がどのように計測・監視を設定すべきか、実験計画を立案して、お客様に提示します。

### 計測・監視の設定

お客様の代わりに、計測・監視を設定します。
また、トランザクション計測・監視では、お客様の代わりにスクリプトを作成します。

### 品質管理・データ分析のレクチャー

どのようにCatchpointでデータ分析して、品質管理を行えばいいのかをレクチャーします。
またReal User Monitoringも組み合わせて、どのように品質保証すればいいのか、品質管理にフィードバックすればいいのかもレクチャーします。

### Catchpointのブログ記事の翻訳

Catchpointが出しているブログ記事を、Catchpointの許可の下、日本語訳して公開しています。

### パフォーマンスチューニング

別途費用が発生しますが、Webサイトやアプリケーションを表示開始0.5秒、表示完了1秒以内を全国で98パーセンタイル以内にするためのパフォーマンスチューニングサービスも提供しています。

## サービスサイト

Catchpoint本家のサイトはこちらになります。
https://catchpoint.com

Catchpointについての日本語サイトはこちらになります。
https://speeddata.jp