Well, it can be as simple or as complex as you want it to be. The simpler it is the less money it costs but the more work is required on your part. The complex solutions cost more but require less work from you.
I use a chest freezer I got from Lowes
. You can find similar chest freezers for less money on Craigslist sometimes. I hooked up an analog thermostat
to control the temperature. You just plug the freezer into the thermostat and the thermostat into the wall outlet. There's a probe that you just put inside the freezer to monitor the temperature. No drilling required, it is thin enough to fit through the seals.
But, you can also use something even simpler like a plastic bin full of water. You have to monitor the temperature, though, and if you need it colder you'll have to throw in ice. People usually fill plastic bottles with water and freeze them and then just throw the bottle in the water. The downside is that is it very difficult to impossible to get down to lager yeast fermentation temperatures or lagering temperatures. A freezer can span the entire temperature range from lagering to ale fermentation temperatures. But, if you are not interested in doing lagers, this is a cheap solution with not that much work required on your part.