Controlling more relays than the no. of free IO pins a uC has - Low-cost options
The TPIC6C595 is a power version of the 74HC595 shift register, serial in parallel out, with 8 output channels, each capable of driving 100mA. You only need three pins: serial data, serial clock and latch, and if needed you can cascade multiple devices for more than 8 outputs.  

It contains clamping diodes to protect against the relays' inductive voltage.