Scout Blog

Stuff we think matters

8 Things You Should Know About Docker Containers

These days Docker is everywhere! Since this popular, open-source container tool first launched in 2013 it has gone on to revolutionize how we think about deploying our applications. But if you missed the boat with containerization and are left feeling confused about what exactly Docker is and how it can benefit you, then we’ve put together this post to help clear up any confusion you might have. What are Docker Containers? We take a look at the 8 things that you should know about Docker containers. We'll cover everything from Dockerfiles to Docker Compose to Docker Hub.

ActiveRecord: biting the hand that feeds you

Richard Schneeman (better known as Schneems) recently wrote about how he reduced his database server load by 80% ...with one simple trick . In the Hacker News discussion that followed, much of the debate was on the merits of using an ORM like ActiveRecord...or not: In every case I can ...

Free memory on Linux: free -m vs /proc/meminfo

How much memory is really available on your Linux box? Don't use /proc/meminfo to find out, use free -m instead. You may have more memory available than you thought. Here's an example. /proc/meminfo says about 330MB is free: ~ $cat /proc/meminfo MemFree: 340996 kB .. free -m gives the following: ...

The danger of Rails.env.production?

When I do a code review, one of the scariest things I see is logic like this: if Rails.env.production? do_additional_work end Why? Your beautiful tests and tightly integrated CI system won't execute that code. You won't see that code execute as you refresh your browser in development. From syntax errors ...

Restricting Process CPU Usage Using nice, cpulimit, and cgroups

There are at least three ways in which you can control how much CPU time a process gets: Use the nice command to manually lower the task's priority; use the cpulimit command to repeatedly pause the process so that it doesn't exceed a certain limit; use Linux's built-in control groups, a mechanism which tells the scheduler to limit the amount of resources available to the process.

Ditch the Relic in Hakuba

Last week we were delighted to host Ditch the Relic Hakuba. We combined foreign lands, foreign friends and a mission to make developer lives’ easier--and produced an amazing output of features, perspectives, and photos… starting with:

Forecasting Web Traffic with Scout and Prophet

Forecasting traffic to your web app is important for capacity planning, but generating a seasonally accurate model of your traffic is pretty daunting. If you under-forecast: Your app servers may become oversaturated, and requests will start backing up in a queue. If you over-forecast you may end up overspending.

Omnibus Tutorial: Package a standalone Ruby gem

A couple of years ago I visited Argentina. I have trouble enough pronouncing my limited English vocabulary and I don't speak Spanish, but after a bit of time, it was pretty easy to order food, buy groceries, and use a taxi. However, occasional hangups that happen during my regular life ...