Rackspace and Zendesk work together in more ways than one. Zendesk, a web-based help desk software provider, is what we use as our primary ticketing system to support Rackspace Cloud Servers, Cloud Sites and Cloud Files customers. Customer support is crucial to our business and Zendesk provides a platform where we can elevate that customer experience.
Zendesk is growing tremendously, where their customers serve more than 20 million end users worldwide. To sustain this type of growth, Zendesk has relied on Rackspace for their hosting solution – using both cloud and dedicated services.
Tim Sturge, Director of Infrastructure at Zendesk, recently wrote a post on the Zendesk blog that takes a peek into the Zendesk back end infrastructure. Here’s a snippet but please click here to read the full post.
Some numbers behind the Zendesk operation:
# of new tickets: > 150,000
# of emails processed: > 500,000
# of website requests: > 10 million
# of database queries: > 100 million (That’s an average load of > 1000 QPS ; our peak load is over 4000 QPS.)
Average page load time: < 200 ms (that’s 1/5 of a second)
Tim goes on to discuss how they are able to sustain such impressive numbers.
Today, they have:
• Fully redundant and distributed environment. We have multiple servers handling each type of request. Multiple machines handle incoming and outgoing email. Multiple machines handle web requests and multiple machines handle background data processing (reports etc.) We’re proud to be in a situation where every device is part of a cluster and we can transparently balance the load between them at all times.
• High performance hardware. We’ve partnered with FusionIO to provide us with ultra high performance flash memory storage for our Plus+ plan customer’s database data. This is truly bleeding edge performance (we’ve measured 50000+ IOPS on our systems which is better than most large SANs).
• Regular backups and hot and warm spares. To make sure data integrity is never compromised we back up all databases both nightly and in real time. Some of these spares are on flash storage and others are on traditional RAID arrays. We restore from these backups regularly and use the spares for internal purposes to make sure they are always up to date and fully functional.
Some things in their pipeline:
• A sharded database environment. This will allow us to balance different customers across different database servers so as to evenly distribute the load internally. We’ll be bringing up additional databases and connecting them to our infrastructure in the next month. We’ll post the details of how we sharded in another post.
• Cloud data storage. To ensure high performance and prevent against data loss we are starting to use Rackspace’s Cloud Files solution to store ticket attachments and other large files entrusted to us by our customer and user base.
• Increasing networking scalability. We’re upgrading our load balancers to F5 BigIPs so we can keep pace with the increasing traffic to our servers.
To learn more about Zendesk, click here.