High Performance / High Availability

Een High Performance/High Availability platform biedt uitkomst wanneer u op zoek naar een platform dat miljoenen gebruikers aan kan, honderdduizenden gelijktijdige gebruikers heeft of gigabytes aan data kan verwerken. Met standaard web-frameworks loop je al snel tegen limieten aan. Wij hebben ruime ervaring met het opzetten van geavanceerde systemen.

Asynchroon

De meest gangbare oplossing voor het aanpakken van een High Performance platform, is het opsplitsen van de verschillende functionaliteiten in deelmodules en deze elk hun eigen specialistische taak laten uitvoeren. Dit alles gebeurt asynchroon zodat geen enkel proces hoeft te wachten. De communicatie tussen deze verschillende componenten verloopt dan vaak via een messagebus zoals RabbitMQ. Zo wordt de snelheid en efficiëntie van uw systeem gewaarborgd.

Opslag

Opslag van grote hoeveelheden data heeft een andere aanpak nodig dan een standaard relationele database. Relationele databases kunnen zeker wel gebruikt worden, wanneer gebruikt gemaakt wordt van sharding of andere technieken. Maar vaak worden en NoSQL-databases gebruikt die hierin gespecialiseerd zijn. Elke oplossing heeft hier weer zijn voor- en nadelen (schaalbaarheid, leessnelheid, schrijfsnelheid etc.), dus per project zal er gekeken moeten worden welke database het meest geschikt is.

Deployment

Hoe groter en complexer de systemen hoe lastiger het wordt om dit handmatig uit te rollen. Voor dergelijke systemen maken wij vaak gebruik van Continuous Deployment. Met deze techniek worden (sub)modules automatisch onder bepaalde voorwaarden geüpdatet. Tevens zal het platform goed gemonitord moeten worden. Door middel van autoscaling wordt er dan automatisch extra capaciteit toegevoegd wanneer dit noodzakelijk is. Hierdoor wordt er altijd een optimale performance gerealiseerd.