Prometheusオープン開発の1年

2016年1月26日筆者: Julius Volz

始まり

ちょうど1年前の今日、私たちはPrometheusを世界に向けて正式に発表しました。これは、プロジェクトがその後経験した素晴らしい出来事を振り返り、共有する絶好の機会です。しかし、まずは最初から始めましょう。

2012年にGitHubでPrometheusをオープンソースプロジェクトとして開始しましたが、当初はあまり公にはしませんでした。プロジェクトが成熟する時間を与え、摩擦なく実験できるようにしたかったのです。Prometheusは2013年にSoundCloudで本番環境のモニタリングに段階的に導入され、その後社内でますます利用されるようになりました。2014年にはDockerとBoxeverの友人が早期に導入しました。数年間でPrometheusは成熟度を増し、人々のモニタリング問題をすでに解決していましたが、一般にはまだ知られていませんでした。

一般公開

1年前の2015年1月、私たちにとってすべてが変わりました。2年以上の開発と内部利用を経て、Prometheusはより広いオーディエンスに対応できると判断し、公式の発表ブログ記事ウェブサイト、そして一連の関連する 投稿を公開し、完全に一般公開することにしました。発表後の最初の1週間でかなりの注目を集めましたが、その1週間後に何が起こるか誰も予測できませんでした。私たちに知られていない誰か(こんにちは、jjwisemanさん!)がHacker NewsにPrometheusのウェブサイトを投稿し、その投稿がなぜかトップに躍り出たのです。

そのときから、良い意味で物事が少し狂い始めました。貢献者、メーリングリストの質問、GitHubのイシュー、IRCの訪問者、カンファレンスやミートアップでの講演依頼が急増し、ネット上での話題も全体的に増えました。当初から、私たちは新しく拡大したコミュニティの質の高さに非常に恵まれていました。Prometheusに惹かれた人々は、非常に有能で建設的で質の高い貢献者であり、ユーザーであることも判明しました。コミュニティから多くの価値が返ってくるという理想的なオープンソースのシナリオは、ほぼ初日から現実のものでした。

Hacker Newsでの話題は、GitHubスターの数でどのように見えるでしょうか?このグラフ(皮肉なことに、PrometheusのグラフではなくGnuplotのグラフ)で、「ダークモード」から抜け出してHacker Newsに注目された正確な瞬間を見つけられるか試してみてください。

Prometheus GitHub stars

この注目により、私たちはGitHubの世界トレンドリポジトリで4位になりました。

Prometheus trending on GitHub

最初の波の後

最初の数週間後、 incoming communication の最初の猛攻撃は少し落ち着きましたが、私たちは継続的に成長する採用率を得ており、現在もそうです。

エコシステムの状況を説明すると、現在、私たちは以下のものを持っています。

  • GitHub組織内のリポジトリ数 33
  • 合計GitHubスター数 約4800
  • 貢献者数 200以上
  • プルリクエスト数 2300以上(オープン 60以上)
  • イシュー数 1100以上(オープン 300以上)
  • IRCチャンネル(FreeNodeの#prometheus)参加者数 150以上
  • メーリングリスト参加者数 250以上(300以上のスレッドを作成)
  • Prometheus関連の講演およびワークショップ数 20以上
  • 記事およびブログ投稿数 100以上

既存プロジェクトへの数えきれないほどの小さな機能追加やバグ修正に加えて、コミュニティはPrometheusエコシステムに独自のプロジェクトを多数貢献してきました。そのほとんどは、既存システムからのメトリクスをPrometheusのデータモデルに変換するエクスポーターですが、KubernetesMarathonEC2のサービスディスカバリメカニズムなど、Prometheus自体への重要な追加も行われています。

Prometheusについてより多くの情報を公開した後、私たちは一人の傑出した貢献者(Fabian)と出会い、彼は最終的にSoundCloudに入社してPrometheusの開発に携わることになりました。彼はそれ以来、プロジェクトで最も活発な開発者となり、汎用サービスディスカバリサポート、実行時再読み込み可能な設定、新しい強力なクエリ言語機能、カスタムビルドのクエリパーサーなど、主要な新機能の多くは彼のおかげです。彼は現在、Alertmanagerの新しいベータ版の書き換えに取り組んでいます。

最後に、私たちは業界の主要なプレイヤーに認められ、採用されたことを光栄に思います。Googleは現在、オープンソースのコンテナ管理システムであるKubernetesをPrometheusメトリクスでネイティブに計測しています。CoreOSetcdの監視にPrometheusを採用しています。DigitalOceanは、自社の内部監視にPrometheusを導入しています。今や、Prometheusを何らかの形で利用している企業のリストは長すぎてすべてを挙げきれません。GoogleCoreOSDockerBoxeverDigitalOceanFinancial TimesImprobableKPMGなど、数多くの企業があります。世界最大のデジタルフェスティバルであるDreamHackも、2015年にはネットワークインフラを監視するためにPrometheusを使用しており、2016年にはFOSDEMも同様にする予定です。

広く普及しているダッシュボードビルダーであるGrafanaも、バージョン2.5でPrometheusバックエンドのネイティブサポートを追加しました。世界中の人々がすでにGrafanaを利用して気に入っているため、私たちはGrafanaのPrometheus統合の改善に注力し、将来的に独自のダッシュボードビルダーであるPromDashへの労力を減らす予定です。

Prometheusのエコシステムが成長を続けるにつれて、最初のユーザーたちは商用サポートについて尋ね始めました。Prometheusは常に独立したオープンソースプロジェクトであり続けますが、主要な貢献者の一人であるBrian Brazilが最近、Prometheusと一般的な監視に関するサポートおよびコンサルティングサービスを提供する自身の会社、Robust Perceptionを設立しました。

余談ですが、2015年はBrianがPromQLでコンウェイのライフゲームを実装することで、Prometheusのクエリ言語がチューリング完全であることを証明した年でもありました。

今後の展望

個人的にも技術的にも、昨年Prometheusの世界で起こったことに私たちは本当に興奮しています。私たちは、特に従来のソリューションよりも現代のクラウドおよびコンテナベースのインフラストラクチャに適した、強力な新しい監視アプローチを世界に提供する機会を愛しています。また、すべての貢献者に深く感謝しており、Prometheusをすべての人にとって継続的に改善していくことを願っています。

Prometheusはすでに比較的成熟していますが、2016年に取り組みたい主要な目標のリストがあります。主なものとしては、新しいAlertmanagerの書き換えを磨き上げること、外部の長期ストレージに対する完全な読み書き統合をサポートすること、そして最終的にPrometheusサーバー自体の安定版1.0をリリースすることです。

乞うご期待!