At Zendesk, our goal is to help bring companies and their customers closer together with software that’s easy to use, easy to customize, and easy to scale. It starts with ensuring Zendesk Support runs smoothly while providing you with a service that scales to meet your ever-changing needs.
As our customers grow and their needs change, the technology has to scale to meet the demand for performance and reliability. Zendesk Support is built on an enterprise-level operations and technology architecture that exceeds industry standards and future-proofs your business. The following diagram gives an overview of the technical architecture. See the rest of the article for explanations of the parts.
A redundant and distributed environment
Zendesk Support uses a fully redundant, distributed, and automated environment consisting of geographically separate data centers running multiple, self-sustaining instances of the application.
To ensure high performance for customers globally, Zendesk Support runs on multiple data centers around the world. Each data center increases capacity and reduces latency for customers. With the Data Center Location Add-on for Enterprise, Zendesk Support offers customers the option of selecting their preferred data center location.
A pod architecture design
Each data center consists of one or more pods. This pod architecture presents maximum flexibility with the benefits of faster provisioning, user customization, and improved scalability. A new Zendesk Support customer is assigned to a specific pod in one of the data centers. Each pod has all the resources necessary to run Zendesk Support independently of the other pods. The resources include application servers, web servers, and database servers, as well as resources to handle other work such as email processing and reporting.
Each pod contains several database clusters, each consisting of a master database server and two database servers that continuously mirror the master. If the master unexpectedly encounters a problem, one of the spares immediately takes its place. This automated system of backup servers significantly reduces the possibility of downtime.
A sharded database design
The building blocks of each database cluster are shards, which are smaller, logical databases. A sharded architecture allows Zendesk Support to rebalance load across physical database clusters and pods. Zendesk Support has hundreds of shards distributed across database clusters worldwide. Each shard supports a certain number of customers. The number varies depending on the data volumes generated by customers. If a customer demands more capacity, Zendesk Support can fully dedicate a single shard or database cluster to the customer.