In this guide, we will walk you through how to leverage Statsig’s platform in serverless environments. The examples in this guide use the
statsig-node SDK in a Google Cloud Function.
These details shouldn't matter - but you may have to adjust your implementation based on your cloud provider of choice.
Statsig server SDKs can be used in serverless environments. If you are unable to
initialize Statsig outside of a serverless function, you will incur a server round trip to Statsig servers to initialize the SDK in every function.
After this point, all checks should be locally evaluated in the function.
Finally, if you need to force Statsig to flush logs, you should
shutdown the SDK before the function exits.
The following example has some debugging information built in to show the cost of initializing the SDK in a cloud function. In our experience, the
initialize call takes less than a second, and subsequent function invocations should proceed without this startup cost.
If this doesn't work for you, a custom integration may help but would require additional setup.
For example, you could create a background function which fetches your definitions from Statsig servers periodically, and stores them in your database. Then, when initializing a Statsig server SDK, you can fetch the values from your database, rather than issuing a request to Statsig servers.
Reach out to us in Slack if you want to talk through how to make Statsig play nicely with your architecture and requirements!