FeedbackFruits provides a platform and an all-in-one suite of educational tools to support teachers in creating engaging lessons, presenting instructional materials interactively and diversely, and assisting students in self-assessment and peer evaluation. Steffan Sluis, senior software developer at FeedbackFruits, explains how they operate multiple Kubernetes clusters with Leafcloud, why it's advantageous, and his experience with the collaboration so far.
FeedbackFruits: Software and Service
FeedbackFruits operates as a SaaS company with two distinct components: software and service. They deliver tools and a platform for education, constituting the software aspect. The process involves setting up these tools and extensively guiding customers in their utilization, providing significant service. While there are numerous Ed-tech companies offering educational tools, FeedbackFruits distinguishes itself by promptly offering support whenever issues arise or users face challenges, enabling customers to fully harness the potential of their tools.
Starting with Leafcloud
FeedbackFruits initially started running their R&D workloads, specifically their Automated Feedback Tool, with Leafcloud. This marked their entry into Kubernetes. The process was fairly straightforward, as Thatcher (Peskens) selected Terraform for them. Alongside that, he provided a template with a functional cluster, serving as a code sample to kickstart their operations. It took around half a day for Steffan to delve into Kubernetes documentation to establish the proper connections, after which everything ran smoothly.
Multiple clusters for different environments
Utilizing Kubernetes allows them to launch it anywhere, and they chose Leafcloud for providing the best deal. Presently, they operate three Kubernetes clusters for distinct environments: production, staging, and review. The review environment is particularly noteworthy. It's a separate cluster used for code that hasn't yet been integrated into the master version. This setup enables them to test pull requests that are still in progress. It not only facilitates faster iterations during development but also fosters smoother team collaboration.
The benefits of Terraform
Terraform makes it remarkably easy for FeedbackFruits to spin up their cluster in different environments. By utilizing workspaces, they encode an environment with a chosen prefix, such as VM names or cluster names. Starting with a cluster for the production environment, prefixed with 'production,' they create a new workspace in Terraform and modify the variables from 'production' to 'staging,' thereby creating a staging workspace.
From cluster to end-user
Within their Kubernetes cluster, they employ Apache Flink, a streaming-based pipelining system, to process messages from Kafka running outside the cluster. These messages go through a 'Natural Language Processing Pipeline,' enabling them to generate AI-based feedback, automating feedback provision on students' documents.
Collaborating with Leafcloud
The partnership commenced as a win-win experiment about a year and a half ago. Leafcloud was newly established and seeking customers, while FeedbackFruits needed a place for their workload. They anticipated potential uncertainties or issues in the early stages. However, they observed Leafcloud becoming more reliable over time. While occasional glitches occurred initially, they knew that reaching out would elicit a swift response. This reliability became the defining factor in their confidence in Leafcloud. The most significant difference, according to Steffan, between Leafcloud and larger cloud providers is the personal touch: having names and faces for contacts, the ability to communicate directly with individuals eager to help. This form of interaction is absent when dealing with major players. Such collaboration has consistently added value for FeedbackFruits.
Find out more about Feedabck Fruits here