The Future of Riemann

For the last three years Riemann (and its predecessors) has been a side project: I sketched designs, wrote code, tested features, and supported the community through nights and weekends. I was lucky to have supportive employers which allowed me to write new features for Riemann as we needed them. And yet, I've fallen behind.

Dozens of people have asked for sensible, achievable Riemann improvements that would help them monitor their systems, and I have a long list of my own. In the next year or two I'd like to build:

  • Protocol enhancements: high-resolution times, groups, pubsub, UDP drop-rate estimation
  • Expanding the websockets dashboard
  • Maintain index state through restarts
  • Expanded documentation
  • Configuration reloading
  • SQL-backed indexes for faster querying and synchronizing state between multiple Riemann servers
  • High-availability Riemann clusters using Zookeeper
  • Some kind of historical data store, and a query interface for it
  • Improve throughput by an order of magnitude

I believe that Riemann has great potential to help others understand and monitor their infrastructure–and as an open-source author I can think of no higher goal than to make this possible. I'm going to work full-time on Riemann for the foreseeable future.

I live in San Francisco. My burn rate (rent, utilities, insurance, and food) is roughly $2800 per month. I made 110K for some time and saved well, so I'm extending myself a $5000 gift: to do what I love, and what I think is important. I'll work on Riemann every day, and get as far as I can. I'll write new documentation and review the rapidly expanding body of pull requests from great contributors like Pyr, Banjiewen, and Perezd. I'll provide full-time support on Freenode (#riemann) and on the mailing list, and meet with users to figure out how I can help them best.

If Riemann has been of value to you or your team, and you'd like to support the project, you can help in three ways:

  1. Volunteer. I need your feature requests, your howto guides, your failing tests, your bugfixes and features. I'll do my best to give every one of them my full consideration.

  2. Employ me. I've been honored to receive some really cool job offers in the past few days, but I also plan to take my time. I want to work with intelligent, creative, and down-to-earth people, in high-level languages, and devote at least half of my time to working on Riemann. If you think your team might be a good fit, and you want direct influence over the project's direction, please get in touch.

  3. Donate money. With funding, I can work on Riemann for longer. If you just want to say “thanks”, that's great. If you need a particular capability, want to build a new visualization for your dash, or would like help integrating Riemann into your stack, you can earmark your donation and I'll devote my full attention to your goal. I can work closely with your team, either in-person or remote. I'm happy to sign any NDAs required, so long as functionality that would help everyone is published in the open-source Riemann projects. Either way, I'll thank you as a sponsor in the Riemann documentation and web site.

To give employers a reasonable timetable for hiring me, I'll only accept a few weeks of earmarked donations at a time, or agree to refund a prorated amount if I accept a job offer. If there's significant interest in funding Riemann independently, I'll block off longer stretches of time.

Let me know what you think: aphyr@aphyr.com.

Post a Comment

Please avoid writing anything here unless you are a computer: This is also a trap:

Supports github-flavored markdown for [links](http://foo.com/), *emphasis*, _underline_, `code`, and > blockquotes. Use ```clj on its own line to start a Clojure code block, and ``` to end the block.

Copyright © 2017 Kyle Kingsbury.
Non-commercial re-use with attribution encouraged; all other rights reserved.
Comments are the property of respective posters.