Technieken

Bij IsLive.com BV zijn wij gespecialiseerd in verschillende technologieën. We geloven  dat iedere uitdaging een gepast antwoord heeft, wat ook valt terug te zien in onze architectuur. Hieronder staat kort een omschrijving van de technieken die wij het meest gebruiken.

High traffic

Omdat wij high traffic applicaties onderhouden en tienduizenden websites in ons beheer hebben is het van cruciaal belang dat alles, zelfs onder druk, naar behoren blijft draaien. Wij zetten hiervoor meerdere technologieën aan het werk.

Varnish

Varnish is een reversed proxy, resource cache, load balancer en nog veel meer.Wij gebruiken varnish in een pool achter een load balancer om er zo voor te zorgen dat alle requests snel beantwoord kunnen worden en de diensten soepel blijven werken.

Keepalived

Keepalived regelt loadbalancing door gebruik te maken van low-level protocol interacties (lees, VRRP) en de Linux Virtual Server (IPVS) kernel module. Het biedt layer 4 (laag 4, de transport laag) balancing en herschrijft packets naar andere addressen om zo zonder (observeerbare) overhead loadbalancing te realiseren.

Real-time

De producten van IsLive.com BV zijn stuk voor stuk communicatie platforms. Communicatie hoort soepel te verlopen, maar ook live te zijn en met een zo klein mogelijke latency.

Node.JS

Wij gebruiken daarom node.js voor onder andere communciatie systemen en event systemen. Omdat node.js gewoon kan blijven draaien en goede performance biedt is dit voor ons de way to go. Door de async I/O kunnen we ook meer bereiken, in minder tijd.

Socket.io

Met socket.io maak je gebruik van websockets en val je terug op xhr polling voor oudere browsers. Dit stelt ons ertoe in staat om zonder de overhead die bij HTTP requests komt kijken te communiceren met de server. Combineer dit met de altijd draaiende node.js backend (dus geen bootstrapping nodig voor een request), werk op basis van EventEmitter en je hebt een real-time applicatie.

Open-source

Wij werken veel met open-source code en contribueren hier ook aan waar mogelijk en nodig. Ook werken wij zelf op github.

PHP

PHP speelt een grote rol binnen onze organisatie. Wij werken voornamelijk met:

  • Composer
  • Zend Framework 2
  • Doctrine 2
  • AssetManager
  • SxMail

Node.JS

Voor node.js gebruiken wij NPM (node package manager) en een heleboel modules. Een opsomming van een aantal modules en frameworks:

  • Sails.js
  • Waterline
  • Socket.io
  • Grunt
  • bower (asset management)

Frontend

De frontend is tegenwoordig net zo belangrijk als de backend. Met die reden hebben wij ook zorgvuldig onze opzet gekozen om zo te zorgen voor een optimale stack. Om snel te kunnen schakelen. Een greep uit onze collectie is:

  • require.js (AMD)
  • Almond (require.js optimized file)
  • Bootstrap 3
  • Zepto

Meer

Dit is slechts een samenvatting van een aantal technieken waar wij gebruik van maken, maar in de realiteit is er veel meer en verandert dit ook regelmatig.

We werken onder andere nog met:

  • Redis
  • MySQL
  • PostgreSQL
  • Mongo
  • Zend optimizer+
  • Bash
  • Mobile
  • Nginx
  • Apache
  • Ubuntu
  • nginx-rtmp-module
  • VDC
  • Meer.