I am excited to announce that we have migrated the SalesLoft platform onto a highly scalable infrastructure that can better serve the growth of our client base. This was a crucial project for us as an organization. As we’ve continued to serve more and more modern sales organizations, the need to provide a platform with the performance and scalability to handle the growth of you, our customers, for years to come became critical to support our shared mission.
In this post, I’d like to explain the benefits of this type of architecture, and provide some details on how we got here.
How we got here
Over the past year SalesLoft has had the privilege of seeing incredible growth in our customer base. In fact, we’ve recently been named as the 7th fastest growing company in North America.
The most central parts of the platform, the lungs and the heart of SalesLoft, have seen more than 5x growth year-over-year. When planning for our anticipated growth trajectory back in the fall of 2016, implementing a more scalable database architecture was identified as the primary focus area.
A project like this is particularly challenging. I liken it to road improvement projects. In that realm, much of the effort of building the new road is taken up with all that is necessary to ensure that traffic can continue to flow smoothly while the new, improved road is built. This project has followed a similar pattern. As compatibility changes were completed, they were pushed into production so that when we were ready to make the big switch, the only change we had to make was diverting traffic flow to the new database. All the while, existing customer traffic had to keep flowing without issue. We couldn’t close lanes or block the road.
Also similar to most road improvement projects, it takes a little more effort than first anticipated. During this process, we had to modify almost everything – every table, index, and query in the entire system. Doing this safely required more time than we initially thought.
What we did
Database sharding is a scaling technique used to improve the performance and scalability of large databases.
Before we get into technical details, let’s look at a real-world example. Consider the checkout line at your local grocery store. Initially, there is one register open and eight people waiting, impatiently, to check out. If the store opens three more registers, the customers can distribute themselves across the across the four registers, and now everyone gets checked out quickly. Essentially, we just sharded the checkout line by breaking up the single line into four “shards” and applied more resources to process them (the four new cashiers/cash registers). We can do the same thing with our database infrastructure.
The basic idea behind database sharding is to break up your existing tables into many smaller tables (shards) each holding a subset of rows from the overall table. These shards can then be distributed over multiple servers.
This improves performance in two ways:
- Each shard is significantly smaller than the original, which can speed up queries by reducing the amount of data they need to process.
- The ability to distribute shards across multiple servers makes it easier to apply more computing resources to the entire database as compared to a traditional single server database implementation.
Where we are today and where we’re heading
As of today, we’re happy to report that all of our customers are currently running on the new sharded database infrastructure. The new database architecture will provide our customers with confidence that they can rely on SalesLoft for their company’s needs now and as they grow in the future. I’d like to thank the incredible engineering team at SalesLoft that took on this massive, but hugely important, project. While we all perceive performance as a mission-critical feature, the team is delighted to be back at work in their “day jobs” of building critical features to delight our customers.
For many companies, projects like this are often kept firmly behind the scenes and not readily spoken about to a broad audience. I personally think that it’s important that our customers are aware of the measures that we’re taking to keep the infrastructure that you rely so heavily upon both up-to-date and growth-ready. While you won’t necessarily see the impact of this large undertaking in your day-to-day activities within SalesLoft, it allows us to maintain the high level of performance you expect from us while we continue to grow, but more importantly as you continue to grow in the coming years – building out your modern sales teams, adding more prospects and customers, and expanding your footprint and product offerings to new markets.
Want more great sales content? Join us for Rainmaker 2018, coming this March!