# Temporal Worker deployments

> Programmatically scale and deploy your Temporal Workers into common production environments using our provided tooling and best practices.

A core feature of Temporal is that you are able to deploy your Workers to any infrastructure where your Workflow and Activity code will actually run.
This way, you have total control over your runtime environment, and can be responsive to any security or scaling needs that may arise over time, whether you are using Temporal Cloud or self-hosting a Temporal Service.

If you are just getting started, you want more guidance, or a refresher on Temporal concepts, our [Tutorials and Courses](https://learn.temporal.io/) help by using only one or two Temporal Workers to demonstrate core functionality.
Once you have an understanding of the core concepts, the content in this section will provide clarity on real-world deployments that grow far beyond those examples.

Our Worker Deployments guide provides documentation of Temporal product features that make it easier to scale and revise your Workflows.

[Worker Versioning](/production-deployment/worker-deployments/worker-versioning) is the recommended default for safely
deploying new Workflow code. It allows you to pin Workflows to individual versions of your workers, which are called
Worker Deployment Versions.

If your environment cannot yet support versioned worker deployments, you can fall back to patching Workflow code.
However, new production deployments should prefer Worker Versioning whenever possible.

You can optionally use the Temporal [Worker Controller](/production-deployment/worker-deployments/kubernetes-controller) to programmatically manage and scale your Worker deployments in Kubernetes pods.

This section also covers specific Worker Deployment examples:

- [**Serverless Workers**](/production-deployment/worker-deployments/serverless-workers)
  Deploy Serverless Workers on serverless compute like AWS Lambda.
  Temporal invokes your Worker when Tasks arrive, with no long-lived processes to manage.

- [**Deploy Workers to Amazon EKS**](/production-deployment/worker-deployments/deploy-workers-to-aws-eks)
  Containerize your Worker, publish it to Amazon Elastic Container Registry (ECR), and deploy it to Amazon Elastic Kubernetes Service (EKS) using the Temporal Python SDK.
  This guide covers the full deployment lifecycle and shows how to configure your Worker to connect to Temporal Cloud using Kubernetes-native tools like ConfigMaps and Secrets.
  Running Workers on EKS gives you fine-grained control over scaling, resource allocation, and availability—ideal for production systems that need reliability and flexibility in the cloud.
