Implementation of a System-Wide Event Bus

Engineering @ Vouch
vouch-engineering
Published in
3 min readOct 23, 2023

Ryan | Senior Software Engineer

One of Vouch’s strategic advantages is its ability to use technology to bring new insurance products to market quickly. In order to serve the innovative companies of the future, Vouch needs to take what otherwise would be a long 6 month manual process of bringing new insurance products to market and do it in a matter of weeks. That way, when a bunch of new-age generative AI companies need insurance coverage for when their AI model goes off the rails, Vouch is the first to offer products to support them 👍

But Vouch itself realizes that not all jobs can be fully automated with technology (at least not yet!). Instead, there’s a lot of value in enabling humans to be supercharged with technology. And that is definitely the case for Vouch as an insure-tech that deals with manual and asynchronous processes.

To enable critical business processes between underwriters, actuaries, brokers, and insurance advisors, Vouch engineering made the strategic decision to introduce an event-driven design into our foundational architecture.

Besides asynchronous processes, another big part of enabling these internal employees to be successful is to enable them to work not only with the tools they are experts in but also with the data they need. This near real-time data synchronization problem is another big reason why we decided on an event-driven system in our backend infrastructure.

Last but not least, we are also leveraging this event-driven system to embark on the journey of breaking apart our Ruby on Rails monolithic architecture (which was a great fit in our early startup days) into a TypeScript service-oriented architecture to allow our organization to grow scalably.

The process of bringing this event-driven system online was a great example of how Vouch does engineering.

After centralizing on the idea of bringing an event-driven system via cross-level discussions between ICs, managers, and CTO, our team elected a tech lead to do a deep dive into our options from hosting open-source tools to fully managed cloud solutions.

We ultimately landed on using a cloud managed Kafka solution to leverage a battle-tested open source solution that did not require significant amounts of time to stand up infrastructure for. After selecting the technology, we started our design process which is a combination of written technical design as well as fast prototype code where text doesn’t tell as a compelling story as a little bit of working code can.

Since we agreed upon the event-driven system as a group to start, getting the team aligned and adopting this centralized infrastructure has been super easy, with teams coming to the tech foundations team as soon as they see use-cases where our new event system could accelerate their work.

That being said, we’re still pretty early on our journey of seeing the full value enabling this asynchronous, domain-driven, data synchronizing system-wide event bus. So if you’d like to be involved in building the future of insurance innovation come join me on the tech foundations team of Vouch!

--

--