Techniek

 

Om de kosten laag te houden wordt er alleen gebruik gemaakt van vrije software (open source).

De webservers draaien op volgende technieken:

Linux

Een computer komt tot leven door middel van software. Een besturingssysteem is de eerste software die gestart wordt op een computer en verzorgt onder andere het starten van andere programma's, het beheren van het geheugen, de opslagruimte, het aansturen van beeldschermen en randapparatuur. De Fin Linus Torvalds heeft in 1991, omdat de commerciële besturingssystemen te duur waren, voor thuisgebruik Linux gebouwd en als volledig vrije software gedeeld.

CentOS (Community Enterprise Operating System) is een Linux-variant die speciaal is voor veilige serversystemen.

Node.js

In 2009 heeft de wiskundige Ryan Dahl de JavaScript-motor van de Chrome-browser (V8) geschikt gemaakt voor (web-)servers en de Node.js genoemd. Node.js werkt erg efficiënt bij acties die relatief veel tijd kosten, zoals bestanden bewerken of netwerk communicatie, door de vervolgactie te bepalen en niet te wachten op het resultaat. Dit wordt gedaan met call-back's.

Express

Express is een web-framework voor Node en gemaakt door TJ Holowaychuk. Node.js kan heel veel, maar is beperkt tot de basis. In Express zitten heel veel zaken die iedere web-applicatie nodig heeft, zoals bijvoorbeeld sessie-beheer of het aanleveren van statische bestanden (plaatjes en stylesheets). Express werkt volgens het ontwerppatroon Model-View-Controller (MVC), waarmee complexe programma's worden opgedeeld in een data-deel (Model) voor bijvoorbeeld de koppeling met een database, de datapresentatie (View) d.m.v. templates en applicatielogica (controller) voor het aansturen van de juiste acties bij een URL. Door deze onderdelen te scheiden wordt het veel eenvoudiger om een applicatie te maken en te wijzigen.

MongoDB

Voor de opslag van gegevens wordt vaak gebruikt gemaakt van SQL-database die een gestandaardiseerde vraag taal. Nadeel van SQL is dat er altijd een vertaling nodig is tussen het programma en de uiteindelijke gegevens. Bij een NO-SQL-database is deze vertaling niet nodig en werkt de database in dezelfde taal als het programma bijvoorbeeld JavaScript. Hierdoor zijn NO-SQL-databases meestal veel sneller.

Mongoose

Om koppeling met de database nog makkelijker te maken worden de gegevens in JavaScript als objecten gebruikt. Een veelgebruikte object-mapper voor Node is Mongoose.

Pug

Voor de datapresentatie kan Express met verschillende template-motors werken, waaronder Pug voor HTML. Pug vertaalt de gegevens die uit het model komen tot HTML.