Case Study: FeedbackFruits

By: Guy Pathak - February 21, 2022 ~ 5 min read

FeedbackFruits levert een platform en all-in-one suite aan educatieve tools om docenten te ondersteunen bij het maken van boeiende lessen, het lesmateriaal interactief en divers te presenteren en studenten te helpen om zichzelf en medestudenten te beoordelen. Steffan Sluis, senior software developer bij FeedbackFruits, legt uit hoe zij meerdere Kubernetes clusters bij Leafcloud draaien, waarom dat handig is en wat hij van de samenwerking tot dusver vindt.

Steffan Sluis, senior software developer bij FeedbackFruits

FeedbackFruits: software en service

FeedbackFruits is een SaaS bedrijf en daarin zijn twee duidelijke onderdelen te herkennen: software en service. Wij leveren tools en een platform voor het onderwijs, dat is het software gedeelte. Het proces van deze tools opzetten en onze klanten begeleiden in het gebruik ervan, daar vindt ontzettend veel service plaats. Er zijn wel meer Ed-tech bedrijven die tools bieden voor het onderwijs, maar wat wij horen is dat als er ergens een probleem is, of een gebruiker er even niet uit komt, dan hebben ze binnen no-time ondersteuning. Dat stelt onze klanten in staat om de volledige potentie uit onze tools te halen. 

“Dan heb je Kubernetes, dus dan kun je het overal opspinnen, dan doe je dat bij de mensen die je de beste deal bieden en dat waren jullie.”

Steffan Sluis, senior software developer bij FeedbackFruits

Beginnen bij Leafcloud

Wij zijn bij Leafcloud begonnen met het draaien van onze R&D workloads, specifiek onze Automated Feedback Tool. Zo zijn we met Kubernetes begonnen. Het was allemaal vrij eenvoudig, Thatcher (Peskens) heeft een Terraform voor ons uitgezocht. Daarbij heeft hij ook een template aangeleverd met een draaiend cluster. Zo kregen we een soort code-sample van waaruit we konden beginnen. Uiteindelijk heeft het me een halve dag gekost aan documentatie lezen over Kubernetes om te kijken hoe ik de juiste connecties op kon zetten, daarna was het klaar, het ging eigenlijk vrij soepel.

Meerdere clusters voor verschillende omgevingen

Dan heb je Kubernetes, dus dan kun je het overal starten, dan doe je dat bij de mensen die je de beste deal bieden en dat waren jullie. Ondertussen draaien we drie Kubernetes clusters voor verschillende omgevingen: productie, staging en review. Die laatste is wel interessant om even toe te lichten. De review omgeving is een los cluster die wij gebruiken voor code die nog niet op de masterversie staat. Dus alle pull-requests die we willen testen, maar nog niet afgerond zijn. Dat stelt ons in staat om, terwijl we nog aan het ontwikkelen zijn, de applicatie te starten op een cluster op zo’n manier dat het ook verbonden is met de andere review versies van onze suite. Hierdoor kunnen we niet alleen zelf sneller itereren maar ook makkelijker als team samenwerken.  

De voordelen van Terraform

Met Terraform is het heel makkelijk om daarna ons cluster in verschillende omgevingen op te spinnen. Terraform gebruikt workspaces, hiermee kun je een omgeving encoden in een gekozen prefix, bijvoorbeeld de namen van je VM’s of de namen van je clusters. Je start met een cluster voor je productie omgeving, name-spaced met het woord ‘productie’. Dan creëer je een nieuwe workspace in Terraform en verander je in de variabelen de naam ‘productie’ in zeg ‘staging’ en je hebt een staging workspace.

Van cluster naar eindgebruiker

Binnen ons Kubernetes cluster gebruiken we Apache Flink, een streaming-based pipelining systeem. Dat gebruiken we om berichten van een Kafka-bus te verwerken die weer buiten het cluster draait. Die berichten gaan door een ‘Natural Language Processing Pipeline’ heen en daarmee zijn we in staat om op AI gebaseerde feedback te genereren, waardoor onze tool automatisch feedback kan geven op documenten van studenten. 

Samenwerken met Leafcloud

We zijn deze samenwerking anderhalf jaar geleden als win-win experiment aangegaan. Jullie waren net opgestart en zochten klanten, wij zochten een plek voor onze workload. We wisten dat er waarschijnlijk nog aspecten onduidelijk zouden zijn of dat er zich problemen zouden kunnen voordoen aan het begin. Wat we hebben gezien is dat Leafcloud een stuk betrouwbaarder is geworden. Waar het aan het begin af en toe kon gebeuren dat er iets mis was, wisten we ook dat als dat gebeurde we jullie een berichtje konden sturen waar snel reactie op komt. Dat heeft voor ons wel de doorslag gegeven in het gevoel van betrouwbaarheid. Dat is voor mij het grootste verschil tussen Leafcloud en een grotere cloud provider, er zijn namen en gezichten bij de contacten, ik kan een echt persoon spreken. Ik kan een berichtje sturen die aankomt bij iemand die er ook op zit te wachten, omdat ze er verantwoordelijkheid voor voelen. Die manier van communiceren zie je niet, als je bij de grote partijen zit. Dit is een hele andere manier van samenwerken en is voor ons altijd van toegevoegde waarde geweest.

Meer weten over FeedbackFruits? Kijk dan hier.

FeedbackFruits Leafcloud