Building my own Internet- Part 1: Introduction

When you think about it, the internet is a fickle thing. It requires quite a bit of infrastructure to keep alive.  But how much of that is necessary for one person? How big is the internet? Is it vast and limitless? What’s the real size when you cut out all the dross, the advertisements, the sites I don’t care about, the social media, the shit on YouTube, the porn?

I have a lot of websites. I have this blog, a personal page, a wiki, a company page, and my sisters page. I use a shared hosting plan, which basically means my website lives on a server with a bunch of other sites. They’re probably overseas somewhere cheap. I get unlimited bandwidth and unlimited storage space for 15 bucks a month all said and done. Pretty good deal.

The Motivation

One night I was experiencing extremely slow load times on my pages. Shared hosting is notoriously slow. Big companies have dedicated servers that provide their users with a better experience. My hosting is bargain basement. So, I started looking at what I was actually using:

  • Around 1-2 GB of bandwidth per month
  • Around 1.5 GB of storage space, for 5 websites

Let’s put that in perspective:

The totality of my websites occupy less space than a single movie, and use less bandwidth that it would take to stream a movie from Netflix.

What about Wikipedia? It’s like our generation’s Library of Alexandria, and it’s all in the “cloud.” What would happen if I lost internet for an extended time and wanted to know something? Sorry, out of luck. We rely on the internet a lot. But how big is Wikipedia? 44GB.

Wikipedia can fit on a USB thumb drive.

When it came down to it, I wasn’t using that much space. Bandwidth is low because large content gets hosted on sites like Vimeo and YouTube (and nobody cares about my site). All I do is serve text and images, mainly to myself. So, how hard could it be to roll-out my own server that performs at blazing fast speeds. Most server software is free, open-source, and has lots of documentation and support. After all, the builders of the internet left a lot of notes behind.

The Plan

As I grow my Unmanned Systems business, I will need a robust communications network, basically SkyNet from terminator. So, I want distributed servers that I totally control. Here’s the idea for my little SykNet:

  1. A primary server located in a datacenter- provides a solid connection the the internet.
  2. A R&D server located at my office- allows me to screw things up
  3. A backup server hidden on some friend’s network somewhere in the world- provides redundancy
  4. A second backup server hidden somewhere else- even more redundancy

Ideally, all of these servers except the R&D server would sync with each other on a regular basis, such that if one goes down, another picks up the slack.

Test Case- Raspberry Pi

I wanted to learn the ropes quickly and cheaply, so I choose a Raspberry Pi to be my first server. Here’s my rationale:

  • Cheap as dirt- A pi costs $35, you also need a USB power supply, a SD Card, and an Ethernet cable.
  • Very low power- 5W is the maximum the Pi will ever use. For perspective, most GoalZero solar panels will source that. It’s minuscule. It’s $9.81/yr in electricity costs, assuming worst case scenario. You could power it for an hour and 20 minutes with just 1 minute on the bike-generator from Gilligan’s Island.
  • Support is available and setup is easy.
  • With an 8GB SD card, all of my websites fit.

The Raspberry Pi fits the bill perfectly for backup servers. I don’t want to buy stuff I don’t need. Starting out, I have no idea what kind of performance I will need. Also, a Pi makes a great backup, because it can technically do everything I want. It probably just doesn’t have the horsepower to be a primary server. But, it’s perfect as a backup for end-of-the-world shit.

Lastly, I want internet when there is no internet. At the end of the day, if someone comes over to my house or office, they can log on to my wifi and access my websites and Wikipedia. I envision this being put up in a cabin somewhere, and when you visit, you bring a SD card with the internet on it. How’s that for off the grid?

Building my own Internet- Part 2: The Server