De productie-omgeving van een on premise webapplicatie draait op Linux, NGINX, PHP en Postgres.
Het is een zogeheten 'single point of success' (ook wel 'single point of failure').
Hoe kan beschikbaarheid gegarandeerd als die machine ineens uitvalt?

Het enige plan dat ik nu heb is een nieuwe servermachine neerzetten en de reservekopie van max een uur oud terugzetten, maar dat geeft een iets te lange downtime.

Ik heb gezocht op de term High Availability, en ik kwam op mooie oplossingen met redundante servers, maar die zijn ook vrij prijzig. En ik heb al meerdere servermachines.
Weet iemand of en hoe je HA kan configureren met alleen software?
Of twee servers achter een loadbalancer, en ook een aparte databaseserver. Dan kan je ook de drukte verdelen over meerdere servers.
Prestaties zijn inderdaad ook belangrijk, voor mij is de beschikbaarheid het allerbelangrijkst.

Ik nog wat verder gezocht, en het blijkt dat er voor Debian een tool is genaamd ucarp, waarmee relatief eenvoudige IP-failover is te maken.

Als ik daarmee handmatig twee machines zou kunnen configureren, met op allebei nginx, php en PostgreSQL, dan is dat de basis voor HA. Afgezien van handmatige stappen en downtime voor upgrades, moet de opslag van gegevens zoals sessies en alle andere gegevens gedeeld zijn en gesynchroniseerd blijven.
In mijn geval sla ik sessies en al het andere op in de PostgreSQL database, die streaming replication ondersteunt.

De vraag die ik nu heb is: hoe configureer ik ucarp en PostgreSQL? Er zijn op het internet her en der wel tutorials te vinden, dus het zou moeten kunnen lukken... maar als iemand nog tips heeft houd ik me aanbevolen.

Reageren