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:
Update 15.09.2020: Restructured content, system content was in tables and this was not particularly mobile friendly. Converted to flex-box.