We Use That / Scout

What startups use to get stuff done

Server and application monitoring made easy.
Posted on 12 Sep 2012 in

Who are you, and what do you do?

I’m Andre Lewis, co-founder at scoutapp.com. Scout is server and application monitoring made easy. Scout measures all your server vitals: CPU, memory, disk, Apache, HAProxy, MySQL, Memcached (and much, much much more). Go beyond standard monitoring with deep Ruby on Rails instrumentation and realtime charts. We’ll alert you if something goes wrong, so you’ll sleep better with Scout watching your servers.

Scout is SaaS, and we currently have 500+ paying customers monitoring over 10,000 servers. Co-founder Derek Haynes and I launched Scout as a full-time effort in 2009, and grew it the old-fashioned way: By providing a useful application at a reasonable price with great customer service. Scout is 100% owned and funded internally.

What is your technology stack?

Scout’s application tier is built with Ruby (Enterprise) 1.8.7, Ruby on Rails, and Sinatra. We use MySQL 5 as our database, and we store metrics in RRDTool. RRDTool is one of the best kept secrets of data storage - it’s high-performance, efficient, and rock-solid reliable.

Everything in Scout’s environment is redundant. We use HAProxy to balance load among our application servers, and maintain 2x the capacity we need to serve our customer base. We use MySQL Multi-Master Replication for redundancy at the database level.

We use pusher.com for our realtime charts. Pusher supplies the websocket infrastructure to push metrics in real time to our customers, and does it easier and cheaper than we could do it ourselves.

Scout sends a lot of email alerts. The emails are sent via Postfix. We use cron to schedule async tasks, Monit to ensure everything stays up, logrotate to keep things clean, and iptables to lock everything down.

What software do you use to run your business?

Scout is hosted at Rails Machine - they do a great job making sure our infrastructure is rock solid, and answering the tough devops questions when we get stuck. No one is perfect, of course, so we use Pingdom to monitor scoutapp.com uptime. We do credit card processing with Authorize.Net.

For server monitoring, we use Scout to monitor Scout (our production servers report to our staging environment). We previously used New Relic for deep Rails application monitoring, but we’ve rolled out our own Rails app monitoring within Scout. It’s great having one place to go for our servers + apps.

We use GitHub for version control (and, increasingly, for internal communications). Until recently, we used Basecamp for internal communication and knowledge share. Unfortunately, the move to BCX abandoned markdown formatting, and trashed the formatting on all our old messages. We’re trying out GitHub as a Basecamp replacement since we’re already paying for it and it has great markdown support.

Everyone at Scout uses a Mac. Key software: iTerm2, Sublime Text 2, Rubymine, Skitch, and lots of command line goodness! We have a ton of custom Rake tasks we’ve built up over time to automate common tasks.

We use straight-up Gmail + an internal mailing list for support. This will likely be our next upgrade; email alone is getting too clumsy, especially if we were to add another team member.

For internal communication and collaboration, we also use Google Docs, Google Chat and Hangouts, Skitch, and Campfire. We’re currently using Propane on top of campfire for the best desktop experience. A small group of like-minded cohorts hangs with us in the campfire room, and since they’re all smarter than us, we call it the Brain Trust.

We use GoDaddy for SSL and domain registration, and ZoneEdit for DNS.

There’s an ancient instance of Typo for scout’s blog, and we use Disqus for blog comments.

Nearly all of our customer feedback is run through UserVoice – it’s the best way to track feedback and gauge interest. We use Google Analytics primarily for analytics of our public site, and occasionally reference it for the SaaS pages too.

Finally, we have an extensive custom-coded dashboard for our financials, referrals, conversion rates, churn rates, etc. Exposing this data in a convenient, accessible way was a key step for our company: When numbers are easy to look at, they are easier to improve. The development of our financial dashboard was a definite milestone in our maturation as a company.

What business software do you most wish existed?

Billing has always been clumsier than we’d like. We’re SaaS, so subscription billing is the core of what we do, and we’re able to accomplish that with Authorize.Net. However, in multiple cases, we’d create better services if we had more flexibility in billing – for example, the ability apply a variable monthly charge on top of the subscription for SMS charges or utility-based pricing.

A current pain point for us is support via email. We use Gmail + a distribution list for support, which works but just barely. I’m sure there are good, lightweight apps for this that we haven’t discovered yet. For now, we continue to use Gmail.