Swiftype Explains Their Cloud Stack

At Swiftype our mission is to make it easy for anyone to add great search functionality to their website or mobile application. We believe that search is one of the most critical interactions between a product and a user, since it is one of the most explicit expressions of intent your users can reveal to you. My co-founder Quin and I learned this firsthand as engineers at Scribd.com, where we built one of the largest full-text search engines on the web. At Scribd, search was an incredibly important problem. At a product level, millions of users searched the site every day, so search satisfaction was a key discovery and retention path. At a technical level, the wide variety and sheer mass of content uploaded presented unique challenges that required significant search expertise to accommodate.
As with many startups, Scribd first attempted to buy a hosted search solution that would allow us to move faster, but after evaluating the market we couldn’t find anything that met our needs. So Scribd developed its own solution internally based on some great open source tools and learned very quickly how difficult and expensive it is to deliver a truly great site search experience. Quin and I realized the trouble Scribd had buying a solution was a great opportunity for a new company, so we started Swiftype.
Developers are typically the earliest adopters of cloud services, and ours is no different. Developers love Swiftype because it allows them to quickly develop a better, higher quality search engine than what they could reasonably do on their own. And because it’s cloud based, we can scale the solution automatically as your product grows. For us, performance and stability are features in their own right, so we’re regularly iterating on and improving our own stack. Our servers are hosted on dedicated hardware in multiple datacenters at SoftLayer. For an application with high I/O, CPU, and memory requirements, there really isn’t any substitute for dedicated hardware. EC2 can be a great fit for a certain profile of web applications, but it really didn’t perform at the level we needed for the service we strive to deliver, and that vastly outweighed the convenience you get from EC2. There was a similar impetus for multi-datacenter support — for an application like search, speed is critical, and latency is a huge part of that for most users. Being able to geographically distribute our search servers means that we can deliver results more quickly to users around the world.