This post is part of a series where Behance developers talk about the various tools they use to get things done and make ideas happen.
Hello all, I’m Ko Uchiyama and I am the Head of DevOps over here at Behance. My main responsibilities are to make sure all of our systems are running smoothly – servers, databases, networks, etc. I also do lots of automation work with bash scripting and Puppet. I find it really helpful to automate as many tasks as possible, so that I can spend more time on the more important tasks at hand and being more proactive.
One such script I’ve written recently is for our MongoDB cluster. I noticed that the number of users on each shard was getting a bit unbalanced, as the MongoDB balancer treats each chunk in the db equally – whether the chunk contains 1 user or 500 users, it is still just one chunk. So I wrote a script to automatically balance out the number of users across all of the shards, resulting in better, more consistent performance across the entire cluster.
2. What hardware do you use?
My main rig is an ASUS desktop with Core i7-3770, 16GB RAM, and dual Dell 24″ monitors. I also use a MacBook Air laptop on the go.
3. What software do you use?
I run Ubuntu 12.04 LTS as my main Desktop OS. The majority of my work gets done on Linux, in gnome-terminal, bash, vim, and firefox/chrome. Since many of our servers also run Ubuntu, it’s really helpful to have an Ubuntu/Linux machine as my main desktop. On the server side, we use Nagios for monitoring & alerting, Cacti for longer term performance analysis, and Puppet for server automation & configuration.
And speaking of vim, I use vim a lot. On default settings. Over the years, I’ve learned to not depend on any specific .vimrc settings, since I was not able to install custom settings on every server I logged into, and especially the older UNIX servers where vim wasn’t even installed (or maybe vim didn’t exist back then…) and I was stuck with standard vi. Yes, this blog post was written entirely in vim.
5. Out of all the equipment used, what piece of software/hardware do you feel is the most useful of all?
My keyboard & terminal. It’s a lot faster to do most server tasks on the command line.
And nope, there is no question 4, since I don’t listen to any music while working.