warning! This is a really long post
In the course of rewriting the Noah callback daemon, I started to get really frustrated with EventMachine. This is nothing against EventMachine by any stretch of the imagination. I really like it.
What I was having issues with is making the plugin framework as dirt simple as possible. By using EM, I had no choice but to require folks to understand how EM works. This primarily meant not blocking the reactor. Additionally, through no fault of EM, I was starting to get mired in callback spaghetti.
I’ve mentioned several times before that I love the actor model. It makes sense to me. The idea of mailboxes and message passing is really simple to understand. For a while, there was project that implemented actors on top of EM called Revactor but it stalled. I started following the author (Tony Arcieri) on GitHub to see if he would ever update it. He did not but I caught wind of his new project and it was pretty much exactly what I was looking for.
Actors have a proven track record in Erlang and the Akka framework for Scala and Java uses them as well.
Many, many years ago I started blogging. It’s fun and I like to feel self-important by dumping my ideas. I enjoy writing so blogging is cool like that.
Over the past 12 years I’ve gone through various tools to help me do that (in no particular order):
- Moveable Type
- rst2html vim plugin
- Homegrown shit
With the exception of one, all of these tools were simply a pain in the ass. They required lots of moving pieces, we’re bug ridden and security nightmares. The one tool I enjoyed the most?
rst2html in Vim
The only reason I used those tools was because I hated writing HTML. I hated dealing with styling. About 3 years ago I finally settled on using Blogger. Now I’m changing again.
The following post is a recap of what was discussed in the 07/21/11 #monitoringsucks irc meeting
Before I get any further, I just want to thank everyone who attended, either in virtual person or in spirit. There have been so many awesome discussions going around this topic since we started. I am truly priviledged to interact with each and every one of you. I struggle to count myself a peer and I can only hope that I provide something in return.
I mentioned to someone today that I’m literally sick of the current landscape. I consider the current crop of monitoring solutions to be technologically bankrupt. The situation is fairly untenable at this point.
I just installed (after having a total loss of an existing Zenoss setup) Nagios again. I’m not joking when I say that it depressed the everliving hell out of me. The monitoring landscape simply has not kept up with modern developments. At first it was mildly frustrating. Then it was annoying. Now it’s actually a detriment.
Now that we have that out of the way….
(and what we’re doing about it)
About two weeks ago someone made a tweet. At this point, I don’t remember who said it but the gist was that “monitoring sucks”. I happened to be knee-deep in frustrating bullshit around that topic and was currently evaluating the same effing tools I’d evaluated at every other company over the past 10 years or so. So I did what seems to be S.O.P for me these days. I started something.
In Part 1 and 2 of this series I covered background on Zookeeper and discussed the similarities and differences between it and Noah. Part 3 was about the components underneath Noah that make it tick.
This post is about the “future” of Noah. Since I’m a fan of Fourcast podcast, I thought it would be nice to do an immediate, medium and long term set of goals.
In Part 1 and 2 of this series I covered background on Zookeeper and discussed the similarities and differences between it and Noah. This post is discussing the technology stack under Noah and the reasoning for it.
A little back story
I’ve told a few people this but my original intention was to use Noah as a way to learn Erlang. However this did not work out. I needed to get a proof of concept out much quicker than the ramp up time it would take to learn me some Erlang. I had this grandiose idea to slap mnesia, riak_core and webmachine into a tasty ball of Zookeeper clonage.
This is the second part in a series on Noah. Part 1 is available here
In part one of this series, I went over a little background about ZooKeeper and how the basic Zookeeper concepts are implemented in Noah. In this post, I want to go over a little bit about a few things that Noah does differently.
This is the first part in a series of posts going over Noah
As you may have heard (from my own mouth no less), I’ve got a smallish side project I’ve been working on called Noah.