David A. Windham thumbnail

Woozie

I migrated the server this site sits on last week and said goodbye to one of my longest-running servers alongside of my favorite provider. And although this likely means very little to some of you, I take a good bit of pride in my approach to maintaining servers. I named the new server Woozie after a former pet like I always do1. I enjoy sys-admin’ing.  I like the security aspects, monitoring the logs, automating various processes, and seeing how small a memory footprint I can run. Or perhaps it’s just the egomaniac power of being the root user. I’ve set up a bunch of servers over the years and every time I spin up a new server, I always learn something new and get a little better at it. 

The internet is like a giant neighborhood and I’m just trying to keep my yard tidy.  I got the basics rolling to migrate and watched the server logs closely. There were 27 reboots, hundreds of lines of configuration changes and 82,145 requests served last week. The webserver is doing 10,000 requests at about 500 per second, 2.5 milsec per, in about 20 seconds ( see video below ). 

Linode2, my provider on this machine was acquired by Akamai3 last year for $900 million. I was and still am, as of now, an avid Linode supporter. It was just something about the little old bank building in Philidelphia that made them feel like an underdog. Akamai is in Cambridge Mass, the closest thing to an east coast silicon valley, sitting right up under MIT just like Google and Microsoft. The transition has been smooth thus far and I can only hope that they’ll give me the ability to easily plug into their existing edge network with some build tools4.

Back when I first started making websites, I used an assortment of low-level hosting providers before working my way up the food chain. I’ve since worked on variously flavored machines across the spectrum of providers. I prefer to just admin the servers hourly so I don’t feel like a petty middleman hosting dealer. I have a distaste for constantly revisiting documentation so the cloud infrastructure at AWS and Google can be tiresome for most projects. I still like root access even for noSQL, flat files, or an external API data source. I like the ability to monitor all of the server and end-user traffic. There are definitely benefits to serverless edge networks and decoupled computing instances, but I’ve found that serving up an assortment of sites with mostly regional appeal doesn’t warrant the effort, complexity, or price tag. But let’s be clear on this since the term serverless is making the rounds… there are still mostly Linux servers underneath them all, you’re just not in control of them. Cloud systems can still be private and function like the big providers using orchestration tools like Kubernetes6. My service provider for this migration offers a managed Kubernetes product that’s relatively easy to use. Companies that once were trying to get you in their cloud are now offering racks-as-a-service. The key to using orchestration tools is having standardization between deployments. Even Chick-fil-A restaurants now have on-site computers Kubernetes7.

I don’t use middleware to admin servers unless I have to on the provider side. I strip it down to the bare minimum so that it’s easier to keep running for a long time. I’ve got a couple web UIs to quickly scan logs and search databases. I remove all password access to users, obfuscate the default ports, lockdown the others with iptables, and run blocks at the webserver level. Aside from some of the default Linux packages, I use a couple languages, a couple databases, webservers, and some tools to restart other processes. I learned a lot new stuff about logrotate.d and cron as I tried to automate some new tasks. The deprecated server had been running at Linode for almost ten years. Not necessarily on the same hardware because I’m sure that the data center moves them around as necessary. It started off running Ubuntu Server v14.04 back in 2014 and I ran it up until v18.04 which is running into an End of Life this April. I upgraded it to v20.04 and could have kept it going much longer, but I was getting tired of cleaning out the cruft and customizing outdated packages. Plus, I just wanted a clean slate on the configuration on a new development server. Simple is the key to my approach. If I don’t need it, I remove or block it.

I’ve documented the entire server setup @ https://davidawindham.com/til/docs/computers/woozie8


  1. Anthropomorphizing Machines – https://davidawindham.com/anthropomorphizing-machines/
  2. Linode – https://en.wikipedia.org/wiki/Linode
  3. Akamai – https://en.wikipedia.org/wiki/Akamai_Technologies
  4. Linode Betas – https://www.linode.com/blog/linode/new-betas-coming-to-green-light/
  5. Ubuntu – https://en.wikipedia.org/wiki/Ubuntu 
  6. Kubernetes – https://en.wikipedia.org/wiki/Kubernetes 
  7. Chick-fil-A – Enterprise Restaurant Compute – https://medium.com/chick-fil-atech/enterprise-restaurant-compute-f5e2fd63d20f 
  8. DAW | TIL – Woozie – https://davidawindham.com/til/docs/computers/woozie/

** See Also: https://davidawindham.com/woozer/