Monday, February 10, 2014

My personal technology stack: My Server

As a technologist I feel that it's important to have a technology stack that's important to you and that solves technology problems that you deal with on a day to day basis. Having a personal technology stack is a great way to explore technology and learn new things about technology in a way that keeps you invested.

My technology stack includes a mail server, web mail frontend, calendar server, shared cloud drive, source control server, and RSS aggregator. I choose to run my own version of these services on my own personal virtualized cloud at home.

Every technology stack starts with the server. Whether you run your stack in the cloud or on a laptop, you need somewhere to run the software and services that comprise your stack. For my technology stack I chose to run my own virtual cloud at home on a custom built server. My main reason for this is cost.

I've been running my own home server(s) for the past 14+ years. I've found that I can build a machine and have it serve my purposes without the need for a hardware refresh for 3 - 5 years. My goal whenever I build a hardware solution is to bring the cost down to roughly $150 - $200 a year.

With my latest hardware refresh in 2012 I decided to move from one server running all my software and services to a virtual cloud where I can run multiple servers and services. For my virtual cloud I chose to run XenServer 6 since it's an open source technology which has a huge install base and decent documentation and help via online forums.

My custom built home server runs 2-3 virtual servers running on an Intel Core i5-3570K Quad-Core Processor running at 3.4 GHz with 16BM of RAM and 750GB of disk space.

Building a home server is not as difficult as it may sound. The only real difficult part is finding the right combination of hardware which is built and tuned to run together. The basic parts of a home server are:

  • Motherboard
  • Processor (+fan)
  • RAM
  • Case
  • Hard disk
  • DVD Drive
  • Additional cabling

Here's my home server:
  • MotherboardIntel Desktop Motherboard LGA1155 DDR3 1600 mini-ITX - BOXDH77DF

  • Processor (+fan): Intel Core i5-3570K Quad-Core Processor 3.4 GHz 4 Core LGA 1155 - BX80637I53570K
  • RAM: Corsair 16GB XMS3 (2x 8GB) DDR3 SDRAM 1600MHz 240-Pin 16 Dual Channel Kit DDR3 1600 (PC3 12800) CMX16GX3M2A1600C11
  • Case: Antec ISK 310-150 Black Mini-ITX Desktop Computer Case 150 Watt Power Supply
  • Hard disk: Western Digital WD Scorpio Black 750 GB SATA 3 GB/s 7200 RPM 16 MB Cache Internal Bulk/OEM 2.5-Inch Mobile Hard Drive
  • DVD Drive: Sony AD-7740H-01 8X SATA Internal Slim DVD+/-RW Drive
  • Additional cabling: NZXT CB 3F-R Sleeved 3-Pin fan Premium Extension Cable

1 comment:

  1. I raise you a 750 Watt (85%+ conditioned) power supply, mid- to full-size case, and video card with at least 512MB (preferably 1GB+) of VRAM and a decent GPU.

    And then I hope I win the hand and scoop those parts into a pile in front of me, as my laptop is proving annoyingly underpowered at playing World of Tanks and, quite frankly, I'm tired of emitting a horrid, primal scream of rage whenever the FPS counter drops down to a single digit at the same time I'm watching an opponent's turret rotating to point right at my face.