What happens when software eats the world, but is so riddled with bugs that the resultant world becomes a nightmare of failing services? HackerOne CEO Marten Mickos has one answer: Bug bounty programs, designed to provide financial incentives for talented hackers to discover and destroy bugs.
Former Facebook engineering lead and Honeycomb co-founder Charity Majors (@mipsytipsy), however, has a different answer: Debug live, distributed services and squash those bugs before they squash you. While admirable in tackling yesterday’s legacy systems, it’s almost Quixotic when one considers the rampant system complexity of today’s applications.
Officially launched on Tuesday, Honeycomb.io bills itself as “the fastest, simplest way to debug with data” and, given the founders’ pedigrees, it just might have a valid claim to that tagline. Despite the presence of roughly 1.2 billion other debugging options available to developers, developer darlings like Docker and GitHub have already jumped on the Honeycomb bandwagon, suggesting that it may provide a missing link in software development.
In an interview with Majors, she tackled the alleged futility of standing out in a crowded debugging market, compared Honeycomb’s approach to the NoSQL concept of flexible schema, and didn’t swear even once (which shows tremendous restraint, if you know Majors).
This is still an unsolved problem. People are hungry for it. Even if they don’t know that what they’re dying to get is ‘a high cardinality, high dimensionality, interactive real time tool for slicing and dicing production data in real time,’ everybody feels the pain. Everybody is still jumping around between metrics and APM and log aggregators to answer a single question. Everybody is still failing over to hand munging the raw logs from S3 as a last resort, and building homegrown patches to bridge between components. Everybody can tell that the existing tools are baling wire and duct tape and a hammer.
For those developers working on legacy code in legacy corporations, have no fear. Honeycomb has made it easy to ingest data, whatever the source: “We accept JSON blobs and a write key. That’s it. You can stream literally any data source into Honeycomb,” Majors said.
Software development is an inherently social, collaborative activity. Debugging should be, too. At least, that’s one final piece of the Honeycomb puzzle.
But let’s be honest: Not every social debugger is good at it. So what does Honeycomb offer for the not-so-great debugger, that person who does it because they have to? “With Honeycomb, we can bring everyone up to the level of the best debugger, by capturing how their brain works and making it accessible to everyone,” Majors said. This “brain capture” might involve shared queries, playlists, activity histories, and more. The point is to understand the questions these skilled debuggers ask, and why.
As it stands, we may be entering the second great stage of DevOps. According to Majors, the first phase was about the operations folks learning to write real software. This second phase, she continued, is about software engineers learning to operate their services. Along the way, Honeycomb hopes to make software debugging useful and social. It just might work.