# Running Teamscale in AWS
To run Teamscale in AWS, you have two options:
- running it on an Elastic Compute Cloud (EC2) virtual server, either as a Windows or Linux service or as a Docker container
- running it in Elastic Container Service (ECS) as a Docker container
Unless you are already familiar with ECS and are already hosting most of your infrastructure there, we recommend you use an EC2 instance. The setup on EC2 is simpler, i.e. less can go wrong.
# Hosting Teamscale on an AWS EC2 Server recommended
We recommend you use an EC2 server with
- Linux as the operating system, as it has better performance than Windows servers.
- an NVMe SSD for Teamscale's storage directory. SSDs provide the best analysis performance. Most other storage solutions lead to very long reanalysis times.
You can find some size and performance recommendations in our disk performance comparison table.
We recommend you install Teamscale on EC2 as a Docker image with
docker-compose according to our Docker setup guide, instead of as a plain operating system service.
# Hosting Teamscale on Amazon ECS
ECS provides different ways to host Docker containers, including Kubernetes. Under the hood, it will also provision EC2 servers to host the containers on. However, most of the orchestration capabilities of ECS are not useful for Teamscale. E.g. you won't be scaling up and down additional Teamscale instances on a regular basis.
It is possible to host Teamscale on ECS. Simply follow our Docker installation guide and adjust the steps to your chosen orchestration solution (e.g. Kubernetes).
You can find some size and performance recommendations for the underlying EC2 server and storage in our disk performance comparison table.