[CASE STUDY]

Making the right move: Modernizing a monolith with CockroachDB

Terminal
Rightmove is the UK’s #1 property portal – it's also a publicly traded, multi-billion dollar company that has been in business since 2000. Their mission is to make moving easier by giving everyone the best place to find the tools, expertise, and trust to make it happen.

Rightmove’s site currently experiences up to 34M searches per day, has around 10K properties uploaded per day, and people spend 1.3 billion minutes of time on the site each month. Their customers range from real estate agents who help people either rent or buy properties, to new home developers in search of demand data and advertising for their development, to surveyors to go and value a property for mortgages, to other bespoke property-related products for government agencies and financial institutions.

To support their 24 years worth of industry data, Rightmove has a Central Platform and Reliability Engineering Team. They are in charge of keeping the website available at all times, and building out the platform so that other product teams can ship new features. In order to build and maintain a reliable platform, Rightmove decided to modernize their monolithic infrastructure design using CockroachDB.
Icon

[ INDUSTRY ]

Software development (for residential and commercial property)


[ CHALLENGE ]

Maintaining availability while reducing operational overhead.


[ SOLUTION ]

Migrating from Oracle to CockroachDB to modernize their applications and reduce operations.

searches per day

34M

minutes spent on site each month

1.3+B

of data

1PB

uptime

99.99%

Cognitive overload = system failure

Prior to using CockroachDB, a majority of Rightmove’s systems were based on Oracle. To achieve high availability and prevent data loss, the Central Platform and Reliability Engineering Team was running an active-active-active datacenter setup and using async replication. 

This design created a lot of operational overhead for their own team, and created complexity for developers when it came to understanding the database architecture and replication (also known as cognitive load). They wanted a single endpoint to be able to write for their applications to reduce this unnecessary complexity. 

At the time, Rightmove was also tied to a two-week release cycle for database changes. This inhibited the velocity and autonomy of their product teams – especially when trying to innovate in new spaces and build greenfield projects. 

The Central Platform and Reliability Engineering Team needed a solution that solved these challenges which meant looking for a highly available, extremely resilient, geographically distributed database that didn’t add complexity for managing replication. They were also interested in application portability and regional resilience for cloud deployments. 

A summary of their requirements included a database that delivered: 

  • High availability and high performance 

  • Flexibility to evolve with their needs

  • Ability to increase innovation, velocity, and autonomy for teams

  • Built-in replication to reduce complexity

The Rightmove team ran a number of POCs and in the end found that CockroachDB was best placed to meet their modernization needs and reduce operational overheads for their teams.

quote

In my mind, CockroachDB is the solution that I think of when I think about modern, scalable, and resilient databases.

-Andrew Tate, Head of Technology OperationsRightmove

Slow and steady migration

As part of their modernization effort over the past few years, Rightmove started to develop microservices and break apart their monolith. They created separate schemas in their Oracle database that have bounded context within the applications. This enables them to migrate their microservices and the associated schema independently (one by one).

When it's time to migrate, they first move the application and all the microservices from Docker Swarm on-premise to Google’s Kubernetes Engine in the cloud which is still pointing to the Oracle endpoint in their data centres. They then stream the data in real-time from Oracle to CockroachDB Cloud which is running on GCP. 

Then they do all the performance testing and all of the quality checks, and then redeploy the application in the cloud with the new CockroachDB endpoint for the pods update. Finally, they start reading and writing from the new database. 

Here’s an overview of what the migration path looks like:

diagram

They have around 180 microservices and run the managed version of CockroachDB on Google Cloud and leverage VPC peering. While this setup works well for now, they have plans to run across multiple regions in the future as their business grows. 

Today, CockroachDB serves as the primary relational data store for all of Rightmove’s stateful applications. It supports a number of their data services for specific property industry products, and it’s also the foundation for their brand new commercial real estate proposition.

quote

Slowly breaking apart our monolith and creating microservices makes the migration process to CockroachDB much easier. We have over 24 years worth of industry data and needed a way to conduct a low blast radius migration.

-Andrew Tate, Head of Technology OperationsRightmove

Developing greenfield apps, faster

Since using CockroachDB, Andrew reports that they’ve been able to “massively reduce complexity and cognitive load for the development teams as they are building new applications.” 

This is due to the fact that they now have a single endpoint to write to, they no longer need to manage replication, and upgrades are automatic and don’t require downtime. They also no longer have to wait 11 days for a database change to go out and they can develop much faster in the greenfield space.  

When it comes to getting started with CockroachDB, Andrew says some things are slightly different depending on what RDBMS you are coming from. When creating an index he says you need to be specific about which columns you might put into that index whereas before you might not have thought about that. 

On the plus side, with CockroachDB they now have the ability to store semi-structured data alongside relational data which Andrew says is a huge advantage that they weren’t originally aware of. He mentioned that this tactic is good for greenfield app development because you can query across the data and iterate really quickly when you're designing a new data model.

quote

Alongside using CockroachDB for greenfield app development, we are starting to leverage all of the glorious, unstructured property data to push AI further into our user experience.

-Andrew Tate, Head of Technology OperationsRightmove

right side image

What’s next

Rightmove plans to continue porting over their microservices and scaling up the migration process in the near term. They are also working with CockroachDB on a plan to re-architect some of their underlying data structures and other core business entities. 

Rightmove believes that AI presents a wealth of opportunity for the company in both the near term and medium term. They plan to use GenAI to leverage their large volumes of unstructured data which will allow them to build out the platform’s capabilities to deliver more value for customers, enhance the end-user experience, and drive internal efficiency.

Ready to get started?

Go hands-on with 100% free CockroachDB Serverless. Spin up your first cluster in just a few clicks.

cta-bg