“One of the main benefits Confluent Cloud has provided is being able to make the changes we want to make quickly and easily by creating a more seamless backend experience."
Sean Schade
Platform Architect, Care.com
An online marketplace for a range of care services including childcare, senior care, tutoring, pet care, and housekeeping with millions of members across 20 countries, Care.com was in need of a much simpler, unified IT architecture to be able to streamline go-to-market initiatives and pivot quickly and effectively with the ever-changing needs of its customers and the marketplace in general. To accomplish this architectural transformation, the company began building a new platform—the Bravo Platform—that could seamlessly scale with its changing data needs while taking a more agile, granular, and nuanced approach to data security. The company was already using Confluent Platform but chose to transition to Confluent Cloud to power the Bravo Platform and achieve its goal of unifying a series of monolithic architectures into a single, agile platform that could accelerate Care.com on its stated mission of being a one-stop shop for families of all types to meet all of their care needs.
Challenges
Care.com had been stringing together the operation of various monolithic architectures that serve its markets across the globe. To bring these monoliths together, they created a centralized, microservices-based platform and began to use Apache Kafka® for messaging and data integration.
“In early 2020, one of our big initiatives was to take these disparate systems and combine them into a single platform that would allow us to serve the providers and seekers of care on the platform more consistently across all the different verticals that we manage,” explained Matt Coddington, Senior Director of DevOps Engineering at Care.com.
To accomplish this unification of disparate systems, Care.com began to build its Bravo Platform. At this point they were already using Confluent Platform in support of their core monolith, but chose the fully managed Confluent Cloud for Bravo because of its scalability, reliability, and the desire to offload essential but complex operational parts to experts.
“Confluent Platform was exclusively for the large domestic monolith and a little bit for the microservices historically built alongside of that,” Coddington said. “It was being used a little bit for messaging but primarily for queuing work. For example, there might be microservices that have a certain function and when certain events happen, the monolith dumps that event into the topic and the microservice consumes it and does whatever work needs to be done. There weren’t many topics that were subscribed to by multiple microservices or an idea of trying to share the events from the monolith side into the microservice side.”
Technical Solution
Switching from self-managed Confluent Platform to Confluent Cloud became a clear choice for Care.com in early 2021 when they realized they needed Confluent Cloud for scale and resiliency and also to free up Care.com developers to focus on higher-level projects and initiatives on their new Bravo Platform.
The team began to use Confluent Cloud with the central goal being to take apart these monoliths and put them back together again as a unified structure.
“There are a lot of events and messages streaming in, related to things that are happening on these monoliths. These messages are being consumed by microservices that will eventually, for example, become stores of truth for that aspect of the monolith as we start to take it apart,” Coddington said.
Per Sean Schade, Platform Architect at Care.com, there were three central questions they were asking around their messaging architecture to get the platform unification to work:
Which messages or events are being generated?
What’s the serialization format those messages use and can it be interoperable between all the different run times (i.e., Java, .NET, Go, etc.)?
How can they control and manage the schema evolution of those messages?
