Zo maak je software scalable

Bij het ontwikkelen van software ligt de focus over het algemeen bij het schrijven van de code en het bouwen van een veilig platform. Wat vaak minder aandacht krijgt, is de IT-infrastructuur. Deze infractructuur bepaalt waar data wordt opgeslagen en op welke server(s) de software draait. Het risico hierbij is dat de IT-infrastructuur te kort schiet als het gebruik van de software groeit. Met een te grote workload raken servers overbelast en overvol. De software is dan niet scalable. Het duurt langer om het pagina’s te laden en bestanden kunnen verloren gaan. Als dit het geval is moet de software opnieuw worden vormgegeven en de IT anders worden ingedeeld. Dit is een kostbaar en arbeidsintensief proces. Het is daarom verstandig om vanaf het begin al rekening te houden met de scalability. Hier lees je waar je op moet letten om te zorgen dat de software scalable is.

Pilaren van Scalability

Scalability betekent dus dat de software grote toename in het gebruik kan verwerken zonder dat de prestatie van de software er onder lijdt. Dit is onder te verdelen in 3 verschillende gebieden.

  • Beschikbaarheid: het systeem moet ten alle tijden beschikbaar voor gebruik zijn. Dat spreekt voor zich. Als een server om welke reden dan ook niet meer toegankelijk is kan de software niet gebruikt worden. Daarom is het belangrijk om een systeem te bedenken waardoor de software altijd beschikbaar blijft.
  • Prestatie: In dit geval verstaan we onder prestatie de snelheid. Werkt de software snel en behoudt het systeem deze snelheid onder zware werkdruk. Een trage respons zorgt altijd voor een slechte gebruikerservaring.
  • Betrouwbaarheid: Hiermee bedoelen we of de server doet wat er van hem verwacht wordt. Dat wil zeggen; worden alle data op de juiste plek opgeslagen en kunnen deze data op het juiste moment worden opgevraagd. Dit is een aspect dat niet zo gauw wordt opgemerkt, maar op de lange termijn grote gevolgen kan hebben.
scalable software

Hoe zorg je voor scalability?

Horizontaal schalen

“I guess we’re going to need a bigger boat” geldt niet voor de scalability van IT. Dat wil zeggen: een grotere workload opvangen door een krachtigere server te gebruiken. Dit is vaak erg duur en niet zonder risico’s. Als deze uitvalt ligt alles in een keer plat. Het is beter om de infrastructuur horizontaal te schalen. Dat wil zeggen de workload verdelen over meerdere servers. Dit werkt snel, is kostenefficient en zorgt ervoor dat de software altijd beschikbaar is. Als het dus gaat om het inrichten van servers kun je beter zeggen: “I guess we’re gonna need more boats”

Gebruik de cloud

Het gebruik van een fysieke servers is erg omslachtig en duur. Een fysieke server is enkel voor grote multinationals met hoge veiligheidseisen een goede oplossing. Voor de meeste bedrijven is het niet aan te bevelen. Het kost veel geld en tijd om het te onderhouden en beveiligen. Maak daarom gebruik van cloudservers. Dit is een stuk goedkoper en een stuk gemakkelijker op te schalen.

Verdeel de lading

Vele handen maken licht werk en zeker als het op servers aankomt. Als zware bestanden en veel data van een specifieke server geladen moeten worden dan kan dat lang duren. De server kan namelijk maar een beperkt aantal MB’s per seconde laden. Als meerdere servers tegelijkertijd ditzelfde aantal MB’s per seconde laden dan kun je veel sneller meer data laden. Speciale software maakt het mogelijk om data op te splitsen in kleine deeltjes op meerdere servers en deze deeltjes te downloaden en samen te voegen als het wordt opgevraagd. Door het aantal servers te vergroten blijft de snelheid behouden als de workload stijgt.

Caching

Caching wilt zeggen dat data in de buurt van de eindgebruiker wordt opgeslagen, zodat deze snel beschikbaar kan zijn. Bijvoorbeeld op het apparaat of server van de gebruiker zelf. Caching pas je toe bij bepaalde data die vaak moet worden opgevraagd en zelden verandert, bijvoorbeeld een logo die op elke pagina van de software terugkomt. Door deze in de cache te zetten is deze binnen een mum van tijd beschikbaar zonder lange ladingstijd.

Microservices

Een hele effectieve methode om de software schaalbaar te maken is om de grote delen software op te breken in kleine microservices. Deze microservices werken samen zonder elkaar in de weg te zitten. Als een bepaalde service hevig gebruik ondervindt, beïnvloedt dat niet de rest van de software. Dit zorgt er ook voor dat softwareproblemen en bugs geïsoleerd blijven in de microservice. Deze kunnen dan snel worden opgelost terwijl de rest van de software blijft draaien.


Er zijn veel manieren om de software schaalbaar te maken. Het is belangrijk dit te doen voordat workload de lucht in schiet. Zo voorkom je prestatieproblemen op het moment dat de software juist veel gebruikt wordt en nodig is! De IT-experts bij 7Lab hebben veel ervaring met het inrichten van een schaalbare IT-infrastructuur. Weten of jouw software scalable is? We helpen graag met gratis IT-advies.

Vraag hier gratis IT advies aan

BLOG

Meer weten over de laatste trends op het gebied van software development?

Klaar voor de volgende stap?

Benieuwd wat er mogelijk is of wil je gewoon even sparren? Als IT-accelerator én ondernemer kan ik je vaak al snel een stap verder helpen. Chat, bel +31 20 705 1010 of stuur me een mail.

Chat direct Stuur een e-mail
Bas Alderding
THE PEOPLE BEHIND THE STORIES