Techviking.no
Nordic passion for nature and technology

This website’s status over time. Powered by Ansible, Prometheus and Grafana. It’s live and updates on its own.

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 Apache, soon turned out to become much much much more complex, featuring service separation, service optimisation and high availability. I even automated almost every aspect of it once I felt I knew the services.

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 running Ubuntu 18.04 LTS, but will soon be upgraded to 20.04 LTS. Nearly all of the virtual machines are built with high availability and maintainability in mind.
NOTE: This system is about to get phased out. Ubuntu is being replaced by CentOS/RHEL family for standardisation.

No machines are manually managed, apart from the deployment (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 cloud providers.


Server Purpose Stack
cfg-eu1-prd Automation platform Ansible
mon-eu1-prd Monitoring platform Prometheus++, Grafana
vas-eu1-prd Vulnerability Assessment platform Greenbone, OpenVAS
acme-eu1-prd SSL Cert Management CertBOT/LetsEncrypt
lb1-eu1-prd Primary loadbalancer KeepAlived, HAProxy, Varnish, GlusterFS
lb2-eu1-prd Secondary loadbalancer KeepAlived, HAProxy, Varnish, GlusterFS
lb3-eu1-prd Tertiary loadbalancer KeepAlived, HAProxy, Varnish, GlusterFS
db1-eu1-prd MySQL Node MySQL, XtraDB, Galera
db2-eu1-prd MySQL Node MySQL, XtraDB, Galera
db3-eu1-prd MySQL Node MySQL, XtraDB, Galera
fs1-eu1-prd Storage Node GlusterFS
fs2-eu1-prd Storage Node GlusterFS
fs3-eu1-prd Storage Node GlusterFS
web1-eu1-prd Web Node, SQL Proxy nginX, Apache2, ProxySQL, GlusterFS
web2-eu1-prd Web Node, SQL Proxy nginX, Apache2, ProxySQL, GlusterFS
web3-eu1-prd Web Node, SQL Proxy nginX, Apache2, ProxySQL, GlusterFS