When you tap a hotel keycard on your door handle and hear the satisfying buzz and click of a deadbolt electronically unlocking you’ve likely just used a SALTO Systems product.
SALTO is a leader in cloud-based access management technology. They manufacture advanced, flexible, and secure wireless electronic access control technology. SALTO’s products are available in over 40 countries and they have over 40M daily active users accessing over 5M equipped devices. They are leading the movement to replace mechanical keys with digital keys. As part of their strategy for leading this movement they are building flexible infrastructure with CockroachDB.
“We became early adopters of CockroachDB at SALTO because we had a feeling it would be a big player in the future. We started with an expectation and a hope of what the product would become, and we were not disappointed!” - Gorka Lerchundi, Engineering Manager & Tech Lead
Access management technical challenges
The company was founded in 2001 to provide electronic lock hardware that was installed on-prem. While the physical products are still an integral part of the business, SALTO needed to develop a cloud-based platform that could collect data from these physical products in real-time — and they needed to guarantee that users could still open doors even if there was an outage.
The team at SALTO built out the first version of their platform on SQL Server and ran into the following challenges:
They had to take the app down to do schema changes
They had to take the app down to deal with database upgrades
An active-passive system put their applications at risk and created complexities (primary, failover, read replicas) for the developers
A lift and shift migration to a cloud-based architecture would have been too complex and time-consuming. They decided it would be faster and safer to build a new platform from scratch in order to avoid the challenges of downtime and to guarantee a seamless experience for end users. They began researching the tools that would become part of their new cloud-based tech stack.
After years of operating a legacy system, the team at SALTO had some requirements for their new database: active-active experience, easy to operate, easy to upgrade/make changes. The general philosophy was to make their organization more operationally efficient.
SALTO considered PostgreSQL because it’s a powerful relational database, but it was disqualified because of the manual labor required to scale it. They wanted to “extract the developer from the infrastructure” meaning that they didn’t want developers doing any database management. Instead, they wanted developers to be free to focus on solving business problems. While they were on SQL Server the developer hours required to take their application down and then bring it back up didn’t seem like much but it had a negative impact on innovation.
“We wanted to decouple the developer from the infrastructure team. We didn’t want to make the developer responsible for knowing that there’s a difference between primary, failover, or read replicas. We just wanted them to use the database; that’s all.” - Gorka Lerchundi, Engineering Manager & Tech Lead
Gorka Lerchundi, the Engineering Manager & Tech Lead at SALTO, suggested that they evaluate CockroachDB. He is a self-proclaimed “database freak” who follows the industry on Twitter and heard that the ex-Googlers who created GIMP built a database called CockroachDB.
Persistent datastore for access management
After running an evaluation in 2018, SALTO became an early adopter of CockroachDB. They purchased an enterprise license and were impressed with how CockroachDB, in Gorka’s words, “just worked.”
To learn more about the SALTO use case with CockroachDB check out the full case study here. There are diagrams and details concerning:
Best practices for building with CockroachDB
Running a distributed system across multiple regions can be very complex. You have to determine what regions to operate in and you have to set up networking, nodes, and load balancers for each region. With CockroachDB Dedicated (the fully managed version of CockroachDB) SALTO is able to simplify this complexity. CockroachDB has helped free up SALTO developers to focus on adding new capabilities that enhance the end-user experience.