Data Porters

Contributing Really Is Easy!

We've all heard it before

  • You use open source, you should contribute…
  • Contributing to open source is a great way to build skills…
  • etc

But… you think

  • I don't even know where to begin.
  • All the easy stuff has already been done!
  • What if they don't like or accept my contribution?

I was in that boat, but I've recently committed to making at least one open source contribution per week, and so far it's been incredibly easy! Here's how I got started…

DevOps: Developer ≠ Sysadmin

Over the last couple of years, the devops movement has gained much popularity. It means different things to different people, though. From my background as a systems administrator, devops is the idea that systems administration and systems automation can, to some extent, be codified, and also that rather than developers "throwing code over the fence" to me (or an "operations group") for deployment, they take a more active role in deploying and operating the final product.

What it should not mean, though, is that developers are sysadmins!

Chef: Providers and Resources

Previously, in Chef: The Absolute Minimum, we used Chef to perform a very simple task: creating a new user on our system.

If you investigated the result, though, you might have noticed that the user we created didn't have a name… or a home directory… or any "dot" files. You might have thought, "Well, that's not very useful!"

Today we're going to fix that, and in the process, we'll learn about one of the fundamentals of Chef: resources and providers

Chef: The Absolute Minimum

So, you've heard about Chef, but you don't know where to start.

"Server/client" or "solo"?
Recipes, knives, cookbooks, and bookshelves, oh my!

In this post, I'll share an absolute minimal way to get started with Chef, and in future posts I'll continue building and expanding from this foundation.

Why Use Chef?

One word: Reproducibility (OK, two words: Documentation, too)

If you hang out in Ruby and/or DevOps communities, it's likely you have heard of Chef , the systems automation framework. Chef originally spawned from Puppet , another systems automation framework. Other systems automation frameworks are becoming popular, such as Ansible. These tools install and configure software packages on servers and perform many other systems administration tasks in an automated fashion.

"What's the big deal?", you think.

"It's not that hard to install Apache…"

"I just need to twiddle this one variable in this one file…
I don't want to go through the hassle of a configuration management system just to change it!
"

Rails Inside Wordpress on Nginx

Configuring Nginx to Serve a Rails App Inside Wordpress

Yesterday, I saw a tweet asking if anyone had experience serving a Ruby on Rails app from a URI inside a Wordpress site using Nginx. I didn't have specific experience with that setup, but a quick internet search suggested it was a problem several people have had, with no immediately apparent solutions. So I decided to tackle it.

Easy Server Monitoring With Graphite

What Can Graphite Tell You About Your Servers?

Graphite is a time series data storage and graphing system.

OK, what does that mean?

That means you can shove numbers at it over time, and it will store them very efficiently and draw graphs with them.

For example, let's pick a particular metric; say you want to monitor the load on a server. All you have to do is send that number, with an identifying string and a timestamp, to Graphite and it will store it. Obviously, time series data can grow forever, so Graphite is very configurable as to how long it will keep certain resolutions of data, and how to "roll them up " for lower resolution storage. For example, storing a single metric with 10 second resolution for one year and 1 minute resolution for 10 years requires [only] 13MB of space.

Proper Configuration… FTW

[Re]Consider Your "Default" Configuration(s)

A colleague (I'll call him Chris) called me a couple of days ago asking if I had a few minutes. He said he had a client who was speaking at a conference and promoting his software; he ended up on Hacker News, and his site was now somewhere between dying and dead. To add insult to injury, he was annoucing that his company was open sourcing their database monitoring software, and their website was displaying "Unable to establish database connection".

Ouch!