Writing Server Software With Go

Jan Kammerath
7 min readJun 25, 2023

I’ve written a variety of different server software products. Both commercial as well as Open Source. Some of the examples you can find in my Github repositories. Before we dive in, you might rightfully ask: What do you mean by “server software”?

Server software refers to the programs and applications installed on a server computer that enable it to provide specific services or perform certain functions. It is designed to manage and respond to client requests, handle data storage and retrieval, facilitate communication between different devices or applications, and perform other tasks related to server operations.

Writing server software, system services or daemons is becoming increasingly easier with Go

Server software is software like Apache, MySQL, MongoDB, Postfix, Redis, Memcache or any other software that provides network services and runs as a daemon process under systemd on Linux. I’ll specifically focus on Linux, because the vast majority of servers out there on the Internet run on Linux.

Why write server software in the first place

The approach to many software solutions today is using standard stacks of software products like Linux, Apache, MySQL, Nginx, Redis or MongoDB. These are often applied as universal “tech stacks” for any solution. This may work for basic business applications. With more complex applications that involve audio, video, instant messaging…

--

--

Jan Kammerath

I love technology, programming, computers, mobile devices and the world of tomorrow. Check out kammerath.com and follow me on github.com/jankammerath