# How to Deploy Functions to App Platform Functions are blocks of code that run on demand without the need to manage any infrastructure. Develop on your local machine, test your code from the command line (using `doctl`), then deploy to a production namespace or App Platform — no servers required. You can deploy functions as a component of an App Platform app. First, structure your project so that App Platform can correctly detect the functions and configuration you need: [How to Structure Projects](https://docs.digitalocean.com/products/functions/how-to/structure-projects/index.html.md): Projects contain functions that are grouped into packages and configured by a project.yml file. Next, upload your project to a GitHub repository. [Create a New GitHub Repository](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-new-repository): Create a new repository on your personal GitHub account or any organization where you have sufficient permissions. Finally, create an App Platform app with a functions component based on that GitHub repository. [How to Manage Functions in App Platform](https://docs.digitalocean.com/products/app-platform/how-to/manage-functions/index.html.md): Create and configure functions in App Platform. Functions are blocks of code that run on demand without requiring you to provision or manage servers. After deployment, you can also [set up alerts](https://docs.digitalocean.com/products/app-platform/how-to/create-alerts/index.html.md) to monitor your Functions’ performance and trigger Function-level alerts.