このプロジェクトについて
CounterはWebアプリケーションへの訪問者数を示すためのシンプルなたったWeb分析ツールとして紹介されている。プロジェクトはcounter.devとしてホストサービスを提供し、デモも用意されている。READMEによれば、技術スタックは小さなGoサーバーと静的アセットで構成される。データはRedisに保存され、古いデータは通常のSQLデータベースにアーカイブされる。
プロジェクトの目的は、持続可能な方法で多くのユーザーに無料でサービスを提供することだ。低コストを実現する理由は、個別のユーザーIDをCookieやフィンガープリンティングで割り当てるのではなく、集計データのみを収集している点にある。これによりデータベースクエリのコストと保存データ量が削減される。ユニークユーザーのカウントはsessionStorage、ブラウザのキャッシュ機構、リファラーの調査に依存している。このアプローチはサーバーの複雑さと負荷を軽減しプライバシーを改善する一方で、ユーザーに関する情報の正確性は犠牲になる。単一のページビューをユーザーの正体に関連付けることはないと明確に述べている。
インフラは静的GoバイナリによるHTTPリクエスト処理とディスクに定期的にバックアップされるインメモリRedisデータベースにより高負荷に対応できる設計となっている。スクリプト言語でアクセスされる典型的なリレーショナルデータベースと比較して経済的であり、専用または仮想サーバーがプラットフォームASサービスホスティングよりも同じコストでより多くのパフォーマンスを提供できると主張している。ただし手動管理が必要なことがその代償である。
リンクされた実例では、月に数百万のユニークビジートを扱っても月額5ドルの小規模VPSの約25%しか消費しなかったとされる。数百人のアクティブユーザーに対し、変動費は月額あたりユーザー1人につき約1セント程度で、ドメインと追加のVPSバックアップサービス費用がかかるが、寄付で賄われているという。
ローカル開発ではmake devserverを実行し、localhostのデフォルトポートでRedisサーバーが必要となる。Self-hostingの手順は別のcounter.dev-selfhostリポジトリにリンクされている。ブログはPelicanベースで、テンプレートはtemplates/blog、記事はpostsに配置され、make blogで生成される。デプロイ毎に自動生成される。FAQではクッキーバナー回避に関する不確実性に言及し、ePrivacy Directiveおよび新ePrivacy Regulationの提案を引用している。
貢献者にはデータサイエンティストのAna Maria Sandoval Jimenez氏とバックエンド開発者のIrae Hueck Costa(ihucos)氏が記載されている。Counterは透明性のためのAGPLライセンスでオープンソースである。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.