Seeking Superior Subscriber Segmentation System Scalability

As engineers, our goal for Bronto’s segmentation feature is to provide our clients with a powerful, flexible, user-friendly tool that allows them to drill down into their contact data to find new marketing opportunities. Over the years, as Bronto has grown, we have progressed through several iterations of our segmentation engine in a never-ending quest for better performance.

Old Segment Builder

Bronto’s Segment Builder UI, 2008-2013

Continue reading

Working in a Culture of Trust

You’ve probably heard that building a healthy, thriving DevOps culture requires trust.  At first glance, the statement seems self-evident. Trust should be a part of any healthy team, DevOps or not. Surely we all trust each other enough to get the job done. Besides, it’s too difficult to get any real metrics on trust to be too concerned about it.

Trust is vital. Trust is perhaps the most critical component of a DevOps culture.   Continue reading

DevOps: Year One

I had the pleasure of addressing the Triangle DevOps meetup group on the subject of DevOps: Year One. The target audience was anyone who has bought into the idea of DevOps transformation for their business, but wanted practical advice for how to get started.

With only an hour to speak, and so many great questions to answer, we barely got to scratch the surface. But we did get to talk about some specific practices that have helped the Systems Engineering team at Bronto to work much more effectively.

Continue reading

Four Rules of Building RPMs

At Bronto, we’re heavily invested in open source technologies. We have dozens of MySQL shards, we run Hadoop and HBase, and we’ve built out a production infrastructure on CentOS.

One of the benefits of open source is that the world keeps improving the software you base your business on. You do need to regularly get those improvements and upgrades into production, though. As a result, we tend to roll our own RPMs somewhat often. Here are a few high-level rules we use to (mostly) achieve the zen nirvana of a stable environment of latest version software. Continue reading

Introducing the Bronto Kegbot

As Kegmasters, Daniel Lowe and I strive to deliver refreshing brews to our clients (Bronto Software employees and guests) in order to achieve maximum satisfaction. We were recently discussing how to improve our service and realized that we were not following the Bronto protocol of using engagement metrics to drive success and uplift our ROI. As a result, we have implemented a new system designed to capture relevant metrics and we intend to build advanced alcohol automation around this cloudy platform in order to become the most popular choice for self-service beer delivery in the entire Bronto Software Durham office!

After evaluating several companies that offer kegerator monitoring solutions, we decided to implement Kegbot. Kegbot appears to be the most full-featured analytics solution for anyone who operates a communal kegerator. By splicing inline flow sensors into our taps, it allows us to measure the volume of beer poured with less than a 2% margin of error. I would be remiss if I didn’t mention the responsiveness of the Kegbot team – we reported a few trivial bugs and suggested some feature improvements via their Github projects and they have responded within a matter of hours each time. Setting up Kegbot is a fairly painless process:

  1. Purchase the Kegbot hardware (we bought two single tap kits and a data cable)
  2. Purchase a compatible Android tablet and mount (we bought a 2012 Nexus 7 and a VESA security enclosure)
  3. Install the Kegbot web server (optional, but recommended because you get more features)
  4. Install the Kegbot Android app on the tablet (depending on the tablet, you may need to root it)
  5. Install the Kegbot hardware in your kegerator (the hardest part since you may need to get creative with cable management)
  6. Party!

Continue reading