測定処理パイプラインが生成する出力は第三者によって再現可能であり、検閲検知における透明性と説明責任を確保する。全ての測定処理ロジックはオープンソースであり、生データはS3データバケットを通じて公開されているのが特徴。
コア技術
- FastAPI: 新しいマイクロサービスのためのモダンなPython Webフレームワーク
- ClickHouse: 測定メタデータと分析用の主要データベース
- PostgreSQL: 構造化データ用のリレーショナルデータベース(OONIRun設定など)
- S3: 生の測定データのオブジェクトストレージ
- Docker: サービスのコンテナ化
- hatch: Pythonプロジェクトの管理とビルドシステム
- AWS ECS: デプロイ用のコンテナオーケストレーション
Tier | Services | Purpose | Dependencies |
---|---|---|---|
Tier 0 (Critical) | ooniprobe , oonirun , fastpath | Probe communication, test coordination, real-time processing | ClickHouse, PostgreSQL, S3 |
Tier 1 (High Priority) | measurements , findings | Data access, incident management | ClickHouse, S3 |
Tier 2 (Standard) | testlists | URL list management | GitHub API |
データパイプライン
https://clickhouse.com/blog/ooni-analyzes-internet-censorship-data-with-clickhouse
マイクロサービスへの移行
OONIbバックエンドはモノリシックなFlask APIから個別のFastAPIベースのマイクロサービスへの移行が進んでいる。レガシーのFlask APIはapi/
ディレクトリに残っている。