Building event-driven architecture with Aiven

CASE STUDY

We’ve never had any problems with Aiven. No interruptions, nothing.

Nicolas Chiu

Lead Software Developer at JobCloud

Overview

JobCloud has the biggest job boards in Switzerland. Since they decided to implement an event-driven architecture, Aiven for Apache Kafka has been helping them leverage their old infrastructure and add elements with no downtime and sustained performance.

Uses: Apache Kafka

Cloud: Amazon Web Services

Industry: Technology

Year founded: 2013

Products used
Apache Kafka
Hosted on
Amazon Web Services

The Challenge

👉👉👉 Watch this case study on video!


Founded in 2013, JobCloud provides traditional job-posting and job-searching services as well as multilingual semantic recruitment technologies, candidate management, employer branding tools, analytics and programmatic job ads.

For historical reasons, JobCloud had ended up running a number of legacy systems. “We have a lot of legacy systems in place, using outdated languages and implemented with a really strange database setup, and nobody dared to touch them,” says Nicolas Chiu, Lead Software Developer at JobCloud. The systems were just there, mostly working, but this was hardly ideal from a maintenance viewpoint.

JobCloud’s goal was to modernise their systems into an event-driven architecture to better support modern data requirements. At the same time, they really didn’t want to directly access the strange APIs. The easiest answer, it seemed, would be to insert a messaging layer between the other systems that would separate the complexity of the legacy systems from other services, whether existing or new.

After months of evaluating messaging and streaming solutions, JobCloud decided to go with Apache Kafka, arguably the quintessential solution for streaming event data. “It has a huge ecosystem and contributor base. It also has a lot of connectors, which makes it easy to integrate other systems,” Nick says. 

But Apache Kafka is not the easiest system to run.

“When we started out, we noticed that Apache Kafka has a huge learning curve. There's just so many things that you can configure. And at the very beginning, we were really overwhelmed.”

Finding a provider wasn’t easy, either. The first one they tried couldn’t offer all the features they needed, like ACLs on topics and locking integration, in spite of the prohibitive price tag. The JobCloud systems also proved to be too much for the provider’s technical capabilities.

“We were desperate to find anything better, and back then it was really hard to find good providers,” Nick reminisces. “So when we found Aiven, we were immediately like 'hel-lo, what kind of plans do you have to offer?!'”

I really feel like you guys want to help us out.

Nicolas Chiu

Lead Software Developer at JobCloud

The Solution

With Aiven, JobCloud was able to find a Kafka solution that provides flexibility and customizability but no setup or maintenance headaches. Aiven just takes all of that complexity away, allowing JobCloud to focus on product development.

There were fears to begin with. Some of the settings and authentication details were confusing at the start; and while Aiven works more with Java, JobCloud is a PHP house. “But it’s actually really cool. I’ve contacted Aiven support several times, and I’ve gotten a lot of help. I really feel like you guys want to help us out.”

Aiven for Kafka has been implemented exactly as Nick envisioned. It acts like a message bus, passing information between different systems. This way, a truly event-driven architecture can exist even when the component systems were designed in a different world. 

Nick also likes the range of integrations that Aiven has to offer. JobCloud makes extensive use of Grafana, integrated with Prometheus. In case something goes wrong, they’ve implemented a Slack integration to provide alarms for admins.

The Outcome

Right now, day by day, JobCloud sysadmins hardly even remember that Aiven for Kafka is there. It’s just working as it should, and nothing’s really going on.

“We’ve never had any problems with Aiven,” says Nick. “No interruptions, nothing, not even when there are lots of maintenance updates and Kafka versions to apply at once. The only thing we see in the monitoring is the broker names and whatever change. Nothing bad ever happens.”

Thinking about it, Nick can remember one instance when JobCloud had to open a real support case with Aiven. “But it was solved so quickly, and it went away so completely, that I can’t even remember what it was about,” he chuckles.

Aiven is always looking for ways to serve customers better, like all companies, but Nick is particularly impressed by the way Aiven goes about it. He feels that the customer’s feedback and input is actively sought and then acted on where it comes to things like feature roadmaps.

Over the past three years, JobCloud’s event-driven structure has grown and is still growing heavily, and everything still works like a dream. The company has been able to live with its legacy architecture while still expanding and helping ever-increasing numbers of employers and job seekers.

“We’re really, really happy with the approach that we took, and that we chose Aiven as the provider,” Nick says. “I see a bright future for us here.”

We’re really, really happy with the approach that we took, and that we chose Aiven as the provider.

Nicolas Chiu

Lead Software Developer at JobCloud

Check out our other case studies

Alef EducationPafNetSpyGlassAdeoOVO EnergyVidioComcastAivenTalon.OneNorautoSpareOmetria

Start your free 30 day trial

Test the whole platform for 30 days with no ifs, ands, or buts.

Aiven logo

Let‘s connect

Apache Kafka, Apache Kafka Connect, Apache Kafka MirrorMaker 2, M3, M3 Aggregator, Apache Cassandra, Elasticsearch, PostgreSQL, MySQL, Redis, InfluxDB, Grafana are trademarks and property of their respective owners. All product and service names used in this website are for identification purposes only and do not imply endorsement.