Blue-Green Deployment, Zero Downtime Updates & Failover Protection in Previder PaaS+

Productieomgevingen moeten op elk moment beschikbaar zijn. Upgrades en redeployments zijn daarbij veel voorkomende uitdagingen, want de integratie is complex en kost veel tijd. Het oplossen van deze issues is uitdagend, zelfs voor ervaren ontwikkelaars. Met de functionaliteiten in Previder PaaS+ is dit verleden tijd. In dit blog vertellen we je hoe je eenvoudig geavanceerde routering implementeert.

In Previder PaaS+ kun je zelf geavanceerde routering implementeren die volledig geautomatiseerd is. Dit levert een aantal voordelen op: 

  • Blue-Green deployment om zero-downtime updates van applicaties door te voeren. Verkeer wordt stapsgewijs naar de nieuwe versie van de omgeving geleid.
  • Doorlopende A/B-testen, door een deel van het verkeer op nieuwe versies van software te laten landen om performance en user experience te vergelijken.
  • Geavanceerde failover-bescherming en hoge beschikbaarheid door de belasting te delen tussen twee volledig functionele productieomgevingen in verschillende datacenters.

Laten we de belangrijkste methoden voor verkeersroutering doornemen, bekijken hoe je deze handmatig kunt configureren op basis van het voorbeeld van een NGINX-server en hoe je dit proces kunt automatiseren met een add-on die met één klik kan worden geïnstalleerd in Previder PaaS+.

round-robin

1. Round Robin

Round Robin is de meest eenvoudige en meest gebruikte balancing methode. Hiermee kunnen verzoeken één voor één over de servers worden verdeeld met vooraf geconfigureerde prioriteiten en verkeersverhouding.

Deze methode kan alleen gebruikt worden als er identieke content op de endpoints aanwezig is. Datarequests van de gebruikers worden door beide backends geleverd.

2. Sticky Sessions

sticky-sessions

De Sticky Sessions-methode wijst elke eindgebruiker toe aan een specifieke backend die de verzoeken ontvangt zolang de bijbehorende sessie live is. Hiermee wordt de klant bij het eerste bezoek gerouteerd op basis van het “gewicht” van de servers. De toegewezen backend wordt onthouden, zodat alle volgende verzoeken van deze gebruiker naar dezelfde omgeving gaan.

Normaal gesproken wordt Sticky Sessions geïmplementeerd door het koppelen van een client IP-adres aan een bepaalde omgeving. Deze invulling is niet optimaal. Omdat veel klanten achter een proxy kunnen zitten, kan er een ongelijke verdeling van het verkeer over de servers ontstaan. Daarom wordt er bij Previder PaaS+ gebruikt gemaakt van sessiecookies om een permanente routering te maken, waardoor elke browser een unieke "gebruiker" wordt. De verdeling van het verkeer over de achterliggende omgevingen gaat op deze manier zo gelijk mogelijk. Wanneer de verhouding naar 100% op één omgeving wordt gezet, wordt de tweede omgeving pas uit de balancing pool gehaald op het moment dat er geen actieve sessies meer zijn naar deze omgeving.

failover

3. Failover

Met failover verkeersroutering kan verkeer worden omgeleid naar een back-up standbyomgeving in het geval van een storing op de productieomgeving. Met andere woorden, je hebt een primaire omgeving en een back-up omgeving. Alle verzoeken worden in eerste instantie doorgestuurd naar het eerste eindpunt, terwijl de tweede alleen wordt gebruikt als de primaire service uitvalt. De verzoeken worden automatisch doorgestuurd naar de werkende server, zodat de gebruikers waarschijnlijk geen onderbreking van de applicatiewerking merken.

Automated Traffic Distribution

Via de Previder PaaS+ Marketplace kan de Traffic Distributor worden geïnstalleerd in een single click installatie.

traffic-distributor

De tool biedt slimme verkeersroutering waarbij de methode en distributieverhouding in een gebruiksvriendelijke wizard gekozen kunnen worden.

verkeersroutering

Met behulp van Traffic Distributor is het eenvoudig om zogenaamde "onzichtbare" updates uit te voeren die geen downtime veroorzaken voor je applicatie. Met de traffic ratio slider kan verkeer gewisseld worden tussen de verschillende backends. Dit kan ingeregeld worden tijdens installatie of wanneer de distributor al draait via de add-on button van betreffende distributor.

load-balancer

Wijzig de balancing methode (round robin, sticky-sessies of failover) en de verkeersverhouding op basis van je behoeften.

routing-method

Over Previder PaaS+

Previder PaaS+ is een complete set services waarmee ontwikkelaars applicaties kunnen hosten en bouwen. Doordat het een cloudgebaseerde oplossing is, hoeven ontwikkelaars zich geen zorgen te maken over de installatie en het onderhoud van servers, patches, upgrades en netwerken. Zo kunnen zij zich volledig concentreren op het creëren van applicaties.

Peter Bult

Lead Consultant

Meld je aan voor de job alert

Wil jij als eerste op de hoogte zijn van vacatures, traineeships en loopbaanontwikkeling? Meld je dan aan voor de job alert en krijg als eerste alle relevante updates.