--- title: "Functions" description: "Functions is E2E's serverless platform. You write a function, E2E builds and runs it, and you call it over its own URL without managing servers." content_type: "overview" product: "functions" platform: "MyAccount" url: "/myaccount/functions/" --- # Functions Functions, also called Function as a Service (FaaS), is E2E's serverless platform. You write a function, E2E builds and runs it, and you call it over its own public HTTPS URL. You manage no servers. Functions is available in Delhi. ## What you can do - [Activate Functions](/myaccount/functions/how-to/activate-functions/) once for your account to start creating functions. - [Create a function](/myaccount/functions/how-to/create-a-function/) from a runtime template. - [Upload code as a ZIP](/myaccount/functions/how-to/upload-code-as-a-zip/) instead of typing it in the editor. - [Deploy a custom container image](/myaccount/functions/how-to/deploy-a-custom-container-image/) to run your own Docker image. - [Call a function](/myaccount/functions/how-to/call-a-function/) over its public HTTPS URL. - [Edit a function](/myaccount/functions/how-to/edit-a-function/) to change its code, environment variables, or system configuration. - [Use environment variables](/myaccount/functions/how-to/use-environment-variables/) to keep configuration out of your code. - [Keep a function ready with dedicated replicas](/myaccount/functions/how-to/keep-a-function-ready-with-dedicated-replicas/) to avoid cold starts. - [View logs and monitoring](/myaccount/functions/how-to/view-logs-and-monitoring/) to see what a function did. - [Delete a function](/myaccount/functions/how-to/delete-a-function/) you no longer need. - [Deactivate Functions](/myaccount/functions/how-to/deactivate-functions/) when your account no longer needs it. ## What you can build Functions suits jobs that start from an HTTP request and answer quickly. See [What you can build](/myaccount/functions/concepts/what-you-can-build/) for the full set of use cases and the runtimes that suit each one. - HTTP APIs and webhooks: a function is one endpoint that handles a request and returns a response. It works well as an API route or a webhook receiver. - Your own container: if a runtime template does not fit, deploy your own Docker image as a custom container. A function runs when an HTTP request calls it. To run code on a schedule, see [What you can build](/myaccount/functions/concepts/what-you-can-build/#run-code-on-a-schedule). ## How a function works Each function gets its own public HTTPS URL. A function scales automatically with incoming traffic. More instances start under load, and fewer run when demand drops. Functions can connect to other cloud services, such as databases, object storage, messaging, and APIs, through the account's dedicated outbound IP. An external system can allow that one address in its firewall. See [Activate Functions](/myaccount/functions/how-to/activate-functions/#what-activation-gives-you). ## Runtimes and hardware Functions run on CPU hardware. Choose **CPU Functions** to write a function in Python, Node.js, Go, C#, or PHP, or **Custom Container Image** to bring your own Docker image. See [Runtimes and hardware](/myaccount/functions/concepts/runtimes-and-hardware/). To serve a model on a GPU, use [TIR](/tir/). ## Where to start To run your first function, follow [Get started with Functions](/myaccount/functions/get-started/). If a function will not deploy or answer, see [Troubleshooting Functions](/myaccount/functions/troubleshooting/functions/). For short answers, see the [Functions FAQ](/myaccount/functions/faq/), and for how the bill is worked out, [Billing](/myaccount/functions/concepts/billing/).