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. Wij spraken Steffan Sluis, senior software developer bij FeedbackFruits, over het draaien van meerdere Kubernetes clusters bij Leafcloud, het belang van duurzaamheid in de cloud en wat hij van de komende ontwikkelingen in educatieve Tech verwacht.
"Als je toch ergens machines gaat starten, doe het dan bij de cloud waar het trainen van de AI niet negatieve impact op je omgeving heeft."
Steffan Sluis, senior software developer bij FeedbackFruits
Feedback Fruits: software en service
Feedback Fruits 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. Het bedenken van de tools, het uitzoeken van nieuwe Use-Cases en het ondersteunen van nieuwe innovatieve leervormen vergt een grote hoeveelheid communicatie.
Dus achter de schermen gebeurt er veel meer dan alleen code schrijven?
Inderdaad, dat is wat mij betreft waarin wij excelleren. 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.
Duurzaamheid en de missie van Leafcloud
Het duurzaamheidsaspect is maatschappelijk gezien ontzettend belangrijk. Of wij het als bedrijf nou willen of niet, we moeten daar met z'n allen iets aan doen. Leafcloud faciliteert dat, wat een extra overweging is om mee te nemen wanneer je gaat nadenken over hoe je een project gaat opzetten en waar je het gaat draaien. Uiteindelijk zijn er ook andere factoren, zoals vendor unieke diensten en bestaande partnerships, die zwaar meewegen en wat maakt dat we ook elders workloads draaien. Maar het duurzaamheidsaspect en de missie van Leafcloud maakt ook dat we toegewijd zijn om deze samenwerking voort te blijven zetten, want het is iets unieks. Als duurzaamheid de enige overweging zou zijn, dan zouden we alles bij jullie draaien. Zo simpel is het, want het is gewoon beter. Het is iets waar ik persoonlijk aan denk en wat een fijn gevoel geeft. Dat je workload minder impact heeft, niet afbreuk doet aan het milieu, maar zelfs correctief kan werken.
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.
"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. We hebben dat in eerste instantie ontwikkeld als een R&D project, waarbij andere technologieën nodig waren dan we voorheen gebruikt hadden. Zo zijn we met Kubernetes begonnen. Het was allemaal vrij eenvoudig, Thatcher (Peskens) heeft voor ons uitgezocht wat de makkelijkste manier zou zijn om een Kubernetes cluster te starten op Leafcloud. Dat bleek op dat moment een Terraform module te zijn. 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.
Hoe ziet het er ondertussen uit?
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 kunnen 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.
Welke voordelen biedt het gebruik 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.
Wat is het pad 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.
Richting de toekomst
We zijn op dit moment als R&D afdeling erg bezig met AI. Het is natuurlijk een beetje een buzzword, maar biedt ook veel mogelijkheden, ik hoop dat het een trend is die zich voortzet. Wanneer je structureel meerdere modellen gaat trainen en dus meerdere van dit soort tijdelijke workloads draait, wil je ze toch duurzaam trainen. Als je toch machines gaat starten, doe het dan bij de cloud waar het trainen van de AI niet negatieve impact op je omgeving heeft. Dat vind ik persoonlijk een heel krachtig idee. Mensen zijn vaak al sceptisch over AI, daarom is het belangrijk om daar op verschillende manieren ethisch mee om te gaan. Met het oog op de toekomst voorzie ik dat onze samenwerking daarmee ook verder zal groeien.
Meer weten over FeedbackFruits? Kijk dan hier.