Nieuwe wegen inslaan met Elixir

Floris Huetink
Floris Huetink

6 december 2018

Nieuwe wegen verkennen met Elixir

Binnen Enrise zijn we onze eerste applicaties aan het bouwen in Elixir, een opkomende programmeertaal met een enthousiaste groep mensen eromheen. Elixir biedt nieuwe mogelijkheden, zowel voor onze klanten als onszelf.

 

Voordelen van Elixir voor onze klanten

Elixir is een programmeertaal die gebouwd is bovenop Erlang. De “Er” in Erlang verwijst naar “Ericsson”, het telecombedrijf waarbinnen Erlang is ontstaan in de jaren ‘80 en ‘90 van de vorige eeuw.

Erlang is specifiek ontworpen met het oog op toepassing in telecomsoftware. Dit geeft Erlang – en daarmee Elixir – een aantal eigenschappen die zeer goed van pas komen moderne online software. Onze klanten profiteren hiervan op een aantal manieren.

Voorheen exotische oplossingen worden normaal

Als je software nodig hebt voor telefoniesystemen zoals centrale schakelkasten en netwerkrouters, dan is één ding heel belangrijk: je moet probleemloos heel veel netwerkverbindingen tegelijkertijd kunnen ondersteunen.

Dit sluit naadloos aan op wat mensen tegenwoordig verwachten van online software. We werken online samen en verwachten dat onze software ons automatisch de meest actuele informatie toont, ongeacht waar deze vandaan komt, en zonder dat we daarvoor op een “Refresh” knop hoeven te drukken. We verwachten dat dit werkt op al onze apparaten: laptop, tablet en smartphone. Elixir is in de basis al geoptimaliseerd voor deze intensieve connectiviteit.

En daar zit een groot voordeel voor onze klanten. In “klassieke” online software vormde het live up-to-date houden van gegevens een extra technische uitdaging. Met Elixir is dit opeens de gewoonste zaak van de wereld. Waar we eerst onze klanten zouden moeten vertellen “Dat kan, maar het wordt wel een stuk duurder”, kunnen we nu dus simpelweg zeggen “Dat kan!”.

Lagere maandlasten

Elixir is in de basis gebouwd voor enorm veel netwerkverbindingen tegelijkertijd. Dit betekent dat je voor hetzelfde aantal gebruikers minder computerkracht nodig hebt.

Dit vertaalt zich ook direct in besparingen op de maandelijkse kosten voor hosting en beheer. We kennen praktijkvoorbeelden waarin maandlasten met een factor 100 (!) gedaald zijn na het ombouwen van software naar Elixir. De prestaties bleven hierbij gelijk of werden zelfs beter.

Minder kans op kritieke fouten

Een andere eis die de ontwerpers van Erlang hadden, was dat als één deel van een systeem faalt, de rest van het systeem zo veel mogelijk blijft werken. Applicaties gebouwd met Elixir, zijn daarom van de grond af opgebouwd uit losjes met elkaar verbonden processen. Als één proces ermee stopt, gaat de rest van de applicatie verder, zonder dat er direct een domino-effect ontstaat met catastrofale gevolgen.

Dit betekent voor onze klanten minders kans op storingen en uitval. Doordat fouten “ingekapseld” blijven tot een klein deel van de applicatie, kunnen we vaak een kleine fout al verhelpen voordat er grote schade ontstaat. En dat scheelt ons en onze klanten een hoop tijd, geld en stress.

 

Voordelen van Elixir voor onze developers

Ok, ok, we zeggen het eerlijk: we zijn niet alléén aan de slag gegaan met Elixir om onze klanten beter te kunnen helpen. Vanuit technisch oogpunt vinden we Elixir als softwareontwikkelaars ook heel interessant.

Werken met data is vanzelfsprekend

In het team waarin we met Elixir gestart zijn, ligt de focus op applicaties waarin veel gegevens verwerkt worden. In een functionele taal als Elixir werk je veel met functies die data ontvangen, hier iets mee doen, en in een andere vorm weer teruggeven. Dit sluit heel mooi aan op de projecten die we doen, waardoor we met minder moeite hetzelfde resultaat kunnen bereiken.

Een opkomende open source community

Elixir is open source. Dat is voor Enrise niets nieuws: wij bouwen al vanaf het begin software op basis van open source technologie, waarbij de broncode vrij beschikbaar is en iedereen eraan kan bijdragen.

Wat leuk is aan Elixir, is dat de taal en gemeenschap (community) eromheen nog relatief jong zijn. Dit betekent dat er veel ruimte is om actief bij te dragen aan de taal zelf en aan open source componenten die ook anderen weer kunnen gebruiken en verbeteren. De community is daarbij ook heel open qua communicatie, wat uitnodigt om ook actief mee te doen en niet alleen passief gebruik te maken van wat er is.

Een technische uitdaging

Bij Enrise houden we van dingen naar een hoger plan brengen. Onze klanten, en ook onszelf. Een nieuwe programmeertaal daagt ons uit, en prikkelt onze creativiteit. Daar worden wij blij van. En als wij fluitend ons werk doen, dan wordt ons team, ons bedrijf, en uiteindelijk onze klant daar ook weer beter van.

Toegevoegde waarde creëren met Elixir

Elixir is een nieuwe programmeertaal met grote voordelen voor onze klanten. Kort samengevat: nieuwe technische mogelijkheden, potentieel lagere maandlasten en minder kans op kritieke fouten. Bijkomend voordeel is dat we zelf ook heel blij worden van de mogelijkheden die Elixir biedt. Al deze voordelen samen maken Elixir tot een geweldige kans om extra toegevoegde waarde te creëren voor onszelf en onze klanten.