Hero image drawn by Elias Cristian Vladislav Diehl.
To read about the inspiration for this piece, click here.

System


I have always been interested in infrastructure, servers and systems, so when I was building this website, I decided.. “I will not be using an established host like one.com, wix or anything.” I wanted the challenge myself. I wanted to learn. What started out as a simple experiment with the well known LAMP stack (Linux, Apache, MySQL, PHP) soon turned out to become much much much more complex adventure featuring service separation, service optimisation and high availability. I even automated almost every aspect of it once I felt like I mastered the services themselves. I love complex challenges, and I’m employing a simplicity first solution to my complex challenges. If a solution is simple, reproducible and easily maintainable, it is a good solution. Complex solutions could over time make the system less maintainable, or cause potential issues later down the road.

This website and a whole bunch of other websites I’m running for projects, friends and family, consist of several virtual machines. Nearly all of the virtual machines are built with high availability and maintainability in mind. The system was orignally built between 2017 and 2019, using Ubuntu, but in recent days, they have been converted to CentOS due to standardisation, security, and some memory leak issues I have been having with some of the software on Ubuntu. No machines are manually managed, apart from the deployment of virtual servers (soon to be automated), any installations, configurations, management etc are done through automation by using Ansible. Ansible has enabled me to become highly platform independent, so if I wanted, I could easily redeploy the entire infrastructure on own servers, or with other cloud providers.



Servers currently in operation or development:


cfg-eu0-prd
France
Centos 7
Production
purpose: Automation platform
mon-eu0-prd
France
Centos 7
Development
Purpose: Monitoring Platform
ipm-eu0-prd
France
Centos 7
Development
Purpose: IP Management
vas-eu0-prd
France
Centos 7
Development
Purpose: Vulnerability Assessment
acm-eu0-prd
France
Centos 7
Production
Purpose: Certificate Management
gsp-eu0-prd
France
Centos 7
Development
Purpose: Game Server Provision
lcn-eu0-prd
France
Centos 7
Development
Purpose: Game and windows caching
gsx1-eu0-prd
France
Centos 7
Development
Purpose: Linux Game server
gsx2-eu0-prd
France
Windows
Development
Purpose: Windows Game Server
lbx1-eu1-prd
germany
Centos 7
Production
Purpose: Primary Loadbalancer
lbx2-eu1-prd
Germany
Centos 7
Production
Purpose: Secondary Loadbalancer
cch1-eu1-prd
Germany
Centos 7
development
Purpose: webserver cache
cch2-eu1-prd
Germany
Centos 7
development
Purpose: webserver cache
fsx1-eu1-prd
Germany
Centos 7
Production
Purpose: Highly available file system
fsx2-eu1-prd
Germany
Centos 7
Production
Purpose: Highly available file system
fsx3-eu1-prd
Germany
Centos 7
Production
Purpose: Highly Availabile filesystem
web1-eu1-prd
Germany
Centos 7
Production
Purpose: Webserver worker
web2-eu1-prd
Germany
Centos 7
Production
Purpose: Webserver worker
dbx1-eu1-prd
Germany
Centos 7
Development
Purpose: Highly Availabile database
dbx2-eu1-prd
Germany
Centos 7
Development
Purpose: Highly Available database
dbx3-eu1-prd
Germany
Centos 7
Development
Purpose: Highly Availabile database



Update 15.09.2020: Restructured content, system content was in tables and this was not particularly mobile friendly. Converted to flex-box.