Functions overview
Serverless functions open a world of possibilities for running on-demand, server-side code without having to run a dedicated server. However, managing service discovery, configuring API gateways, and coordinating deployments between your app and your functions can quickly become overwhelming.
With Netlify Functions, your serverless functions are version-controlled, built, and deployed along with the rest of your Netlify site, and we will automatically handle service discovery through our built-in API gateway. This eliminates overhead and brings the power of Deploy Previews and rollbacks to your functions. To provide faster customer experiences, synchronous functions can use response streaming to get content in front of people as quickly as possible.
For longer-running function tasks, Background Functions allow for extended execution time using asynchronous invocation.
Currently, you can deploy functions built with TypeScript, JavaScript, and Go.
# Manage your functions
Functions deployed from Netlify are immutable. This means that an update to a function on your production branch won’t change the version that was deployed in a branch deploy, or in a Deploy Preview. You can access all versions of your functions in the Netlify web interface, under the Functions tab.
By default, the list displays all of the functions, including background functions, in the current published deploy. To find functions on another deploy, you can use the search field at the top of the list. You can start typing to jump to a particular branch, or find a Deploy Preview by number.
# Default deployment options
By default, all functions are deployed with:
- us-east-2 AWS Lambda region (for sites created after October 4, 2023)
Private Connectivity
If your team has Private Connectivity enabled, note that this region selection makes your functions use the private network.
- 1024 MB of memory
- 30 second execution limit for synchronous functions, including scheduled functions
- 15 minute execution limit for background functions
- 6 MB request and response payload size limit for buffered synchronous functions
Lower effective limit for binary request payloads
We Base64-encode requests with binary payloads such as image uploads. This encoding comes with approximately 30% overhead relative to the size of the original binary data, effectively reducing the binary request payload size limit to 4.5 MB.
- 20 MB response payload size limit for streamed synchronous functions
- 256 KB request and response payload size limit for background functions
# Custom deployment options
Depending on your plan, you can change the deployment options for synchronous functions.
- Region can be customized through the Netlify UI.
- Private Connectivity can be enabled by contacting your account manager.
Limits other than the ones mentioned above cannot be changed.
If you wish to deploy functions onto your own AWS account (in order to integrate with other AWS services on your account), please contact sales.
# More Functions resources
- Get started with functions
- API
- Lambda compatibility
- Trigger functions on events
- Functions and Identity
- Background Functions overview
- Scheduled Functions overview
- On-demand Builders
- Environment variables and functions
- Deploy functions
- Function logs
- Optional configuration for functions
- Functions usage and billing
- Function Metrics
- Use the Netlify Blobs API in a function
- Go to our Trust Center to download our reference architecture for HIPAA-compliant composable sites on Netlify
- Visit our Forums to join the conversation about Functions
Did you find this doc useful?
Your feedback helps us improve our docs.