zapier

Zapier needs no introduction, but briefly from their website Zapier is an online automation tool that connects your apps and services. You can connect two or more apps to automate repetitive tasks without coding or relying on developers to build the integration

Upstash enhancing the resiliency of Zapier tech stack against malicious actors

One of the core components of Zapier’s tech stack is their middleware, which is designed to be robust and scalable, running in Vercel's edge runtime. Within this context, Zapier leverages Upstash for their Redis storage needs. The main functionalities Zapier have integrated Upstash for are malicious IP blocking and global request rate limiting. These features have played a critical role for Zapier’s infrastructure, ensuring both safety from malicious actors and stability under high traffic loads.

Overcoming TCP Constraints with Upstash's Redis Integration

Before Upstash, Zapier had a separate Redis instance that was connected to from their node serverless functions, hosted on Redis Labs. However, they faced limitations in the Vercel edge runtime, which does not support TCP connections. This made it challenging to implement certain features like API rate limiting by IP from their middleware. To overcome these challenges, they chose Upstash. This decision was majorly influenced by the fact that their middleware always runs in the Vercel edge runtime, which only supports web APIs due to its reliance on Cloudflare Workers that can't establish TCP connections for traditional Redis instance integrations.

Ben Biran

With Upstash, we were able to seamlessly implement features like API rate limiting by IP from our middleware without needing to work around the limitations posed by the Vercel edge runtime. The HTTP interface for Redis that Upstash provides made this transition much more straightforward for us, allowing our team to focus on optimizing other aspects of our platform.

Ben Biran, Engineering Manager