At Intercom, we have a strong focus on delivering products that actually solve customer problems. This intense focus means we are careful not to Latest Mailing Database spend valuable time and resources over-engineering our solutions. That's why we aim to create 'boring' software and why we're committed to using less software, choosing to rely on off-the-shelf technologies and outsourcing the bulk of the undifferentiated work. Sometimes this focus on solving customer problems means we make simpler engineering decisions upfront, knowing that those decisions won't be scalable forever and we'll have to revisit them in the future. It's how we weigh our options and choose to allocate the resources we have at any given time, and it allows us to spend time on the things that matter.
But what happens when those choices start to catch up with us? “We were facing a database scalability issue and decided to address it by moving to Latest Mailing Database partitioned databases” This is the story of how we reacted when it became clear that one of those earlier pragmatic choices had to be confronted, and how we dedicated time and resources to finding a long-term solution. In this case, we were facing a database scalability issue and decided to deal with it by moving to partitioned databases - horizontally partitioning our tables into many different databases, so that we can scale horizontally by adding more shards or partitions as well as vertically by using larger database servers. It was a huge undertaking that required not only technical skills, but also organizational flexibility.
Long-term solutions to long-term challenges After nine years of connecting companies to their customers, our databases had reached scales that we could never have dreamed of when making these first choices. We were running on the Latest Mailing Database biggest servers offered by Amazon RDS and had tens of billions of rows of data with tens of thousands of reads and writes per second. Running a schema migration of our largest tables was now nearly impossible. “Individual teams were spending more and more time wondering if we could scale rather than focusing on delivering the next great feature to our customers” Decisions that made eminently good sense when Intercom was much smaller were starting to show their age, and growing with our customers as they grew became increasingly difficult.