Momenteel heb ik een wordpress site draaien of een 4gb 2cpu machine bij transip met ubuntu 14.04 omdat 14.04 bijna end of live is wil die graag upgraden naar de laatste versie 16.04. Omdat dit toch altijd wel een karweitje is dacht ik misschien is het sowieso een goed moment om te kijken naar de config die ik nu heb en dat aan te passen naar een nieuwere tech stack.
De config die ik nu heb is via Easy Engine gecreëerd en bestaat uit:
Nginx met HTTP2
Redis
PHP7
MariaDB
ElasticSearch
Zowel PHP/Wordpress als Nginx(fullpage cache) gebruiken Redis als cache. Dit zou ik graag zou houden je zou hetzelfde concept met Nginx fastcgi cache kunnen creëren met een tmpfs in geheugen maar dan moet je elk reboot de cache opnieuw opbouwen of op een manier syncen met persistent filesystem op de ssd. Redis biedt dit out of de box voor je aan de db draait in geheugen en word automatisch gesaved naar een bestand.
Het nadeel is dat alles nu op 1 server draait dus als ik dit moet gaan schalen kan dit nu alleen maar vertical door een grotere server te nemen (meer cpu/mem).
Vandaar dat ik er over na zit te denken om misschien te kiezen voor een andere config/tech stack.
Ik heb over 5 manieren nagedacht:
De config die ik nu heb is via Easy Engine gecreëerd en bestaat uit:
Nginx met HTTP2
Redis
PHP7
MariaDB
ElasticSearch
Zowel PHP/Wordpress als Nginx(fullpage cache) gebruiken Redis als cache. Dit zou ik graag zou houden je zou hetzelfde concept met Nginx fastcgi cache kunnen creëren met een tmpfs in geheugen maar dan moet je elk reboot de cache opnieuw opbouwen of op een manier syncen met persistent filesystem op de ssd. Redis biedt dit out of de box voor je aan de db draait in geheugen en word automatisch gesaved naar een bestand.
Het nadeel is dat alles nu op 1 server draait dus als ik dit moet gaan schalen kan dit nu alleen maar vertical door een grotere server te nemen (meer cpu/mem).
Vandaar dat ik er over na zit te denken om misschien te kiezen voor een andere config/tech stack.
Ik heb over 5 manieren nagedacht:
- Gewoon de ouderwetse manier van 1 grote VPS met alles erop draaien zoals nu maar dan met de laatste ubuntu/nginx enzo.
- Inplaats van 1 grote VPS het verspreiden over meerdere kleine bij DigitalOcean bv 1 cpu/1gb ram. Dit zou wel meer gaan kosten dan de huidige 1 VPS.
- Wordpress gaan draaien met docker en alle services een eigen docker image hebben. Hierbij moet het dan wel geconfigureerd worden dat de bestand persistent opgeslagen worden zoals foto uploads en plugins. Dit zou dan via docker-swarm gaan.
- Wordpress in Kubernetes cluster draaien, hier is al een helm chart voor maar de configuratie is niet zoals ik het doen. Bijvoorbeeld wordt full page caching nog niet ondersteund zoals ik het zou willen en zou ik dus zelf veel wordpress helm chart moeten sleutelen om het zo te krijgen als ik wil.