How Justuno Leveraged YugabyteDB to Consolidate Multiple SQL and NoSQL Databases
Justuno provides a Conversion Rate Optimization (CRO) Platform that enables e-commerce sites to turn visitors into customers through personalized onsite messaging, intelligent cross-selling, and upselling. More than 188,000 (and counting) industry leading brands improve sales and the customer experience at the same time.
At the heart of the Justuno platform is visitor intelligence data, and there’s a lot of it. Justuno tracks between 30 and 50 data points per visitor–such as time on site, products viewed, and items added to the shopping cart–in order to create relevant and personalized experiences for visitors and help online retailers capture and convert leads faster than ever before.
Early database evolution
Founded in 2011, the Justuno team originally built its platform with an on-premises Microsoft SQL Server as its database. “I originally wrote the Justuno profile system on a single Microsoft SQL Server. That was great, until it wasn’t,” said said Travis Logan, CTO at Justuno.
The Justuno application is installed on tens of thousands of websites around the world; a multi-tenant application that previously relied on a single SQL Server. This database quickly became a single point of failure as the customer base grew. “Of course there’s a backup server, and we have our 30 minute incrementals, and we wouldn’t really lose much in the way of data or downtime, but it is downtime and it is data. So we needed something distributed, something that we expect to not ever have downtime,” explained Logan.
Over time, as Justuno’s business continued growing and the platform continued evolving, the team tried out additional databases such as Cassandra and CockroachDB for different use cases, with each presenting its own set of challenges.
“We moved our profile system to Cassandra, and that’s what whetted our appetite for distributed systems. But we found that Cassandra is not suited to handle large amounts of data per node very well. We had to really scale out horizontally with a bunch more nodes, just from a data standpoint. Then we realized, from a cost perspective, it wasn’t doing us any justice,” said Logan. To keep costs contained, the Justuno team ended up backing up and only storing the last three months of analytical data in Cassandra and data lake the remaining nine months elsewhere. Justuno also looked into migrating other workloads from Microsoft SQL Server to CockroachDB.
Then in 2019, Justuno started an initiative to rebuild its platform from the ground up using cloud infrastructure, specifically Google Cloud. Along with the move to GCP, the team also started looking for a new database or databases that could provide a high level of operations per second, deliver very low latency, and be a natural fit for its new cloud native architecture.
Emerging into a modern architecture with YugabyteDB
Justuno found the database solution it needed with YugabyteDB. It works well with GCP. With a semi-relational distributed SQL API (YCQL), and a fully-relational distributed SQL API (YSQL), YugabyteDB handles multiple workloads. It also handles a high level of operations per second with near zero latency, enabling Justuno to serve personalized promotions to website visitors and optimize conversions for customers. In addition, it’s easy to scale horizontally, which is essential for the holiday season.
“We store a massive amount of data, and our database needs to be able to handle a high level of operations per second with almost zero latency so that we can serve personalized promotions to website visitors and optimize conversions for our customers. YugabyteDB has the high performance and SQL features we need, while also making it easy to scale horizontally, which is essential for our business as we prepare for the holiday season (the busiest time for e-commerce merchants using Justuno),” explained Logan.
“We needed a single database system that could handle the massive amounts of reads and writes required to serve all our customers. We’re running 12 nodes on c2-standard-16s. And we are able to sustain north of 20,000 ops per second, and that’s a pretty good mix of writes and reads. And while doing all that our latency for our SQL queries where on average, again a mix between reads and writes on average, we’re right around three milliseconds,” said Logan.
Logan added, “with YugabyteDB, it’s easy to scale. If we add one more node, we immediately get another three terabytes of data and the CPU power to handle more ops. It’s just so transparent and easy to scale horizontally as needed, especially when we are coming up against the holiday periods.”
Consolidation reduces costs and complexity
YugabyteDB enables Justuno to consolidate their databases from five current database types to a single database system that fulfills multiple requirements. This means significant cost savings in both infrastructure and operations.
“We’re going to be able to consolidate databases and lower costs for that matter. We’re able to run the same workload on YugabyteDB as we do on all the different database clusters that we’re currently running combined, and to do so with about 30 percent of the nodes that were previously required,” explained Logan.
A DevOps dream
Justuno’s e-commerce customers regularly experience significant demand spikes, making it necessary for Justuno to quickly add or subtract nodes. The Yugabyte Platform is an all-in-one database solution with an intuitive, easy-to-use interface enabling point-and-click administration for the Justuno team.
“With Yugabyte Platform, I go into the UI and there I say, I want 12 servers of this instance type, this storage, and go. Then later if I need to add three more nodes, in just a few clicks, it’s provisioning three more nodes. And, minutes later–and I mean, minutes not hours–I have three more nodes fully up and running. With Yugabyte Platform, our DevOps are point-and-click, scaling out and scaling back is very easy,” said Logan.
A technical and business partnership
Justuno and Yugabyte work closely together as partners, rather than just another vendor relationship. “Working with the Yugabyte team has been amazing. With YugabyteDB I feel like we’re partnering to make the product better and the team cares about our success. I don’t consider Yugabyte a vendor because of the relationship that we have built in such a short time. I’ve never had that experience with another vendor, let alone a database vendor,” explained Logan.
Freedom with open source
Beyond all these benefits, YugabyteDB is also fully open source. “With YugabyteDB, all the enterprise features you need to go to production are open source, giving you more freedom and control. For this reason, we chose Yugabyte as a strategic partner to help us grow our business,” Logan added.
To learn more about Justuno and their database evolution, read their success story and check out the Justuno presentation at the Distributed SQL Summit: