# How to Install Teamscale on AWS
To install Teamscale on AWS, you have two options:
- Installing it on an Elastic Compute Cloud (EC2) virtual server, either as a Docker container or a Linux or Windows service
- Installing it as Docker container in Elastic Container Service (ECS)
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 io2-ready storage-optimized EC2 instance with the Nitro system (opens new window) like
Use Linux as the operating system, as it has better performance than Windows servers.
Use an EBS SSD (opens new window) for Teamscale's storage directory. For best performance, we recommend
io2volumes with high IOPS configured. You can find a comparison of different IOPS in our disk performance comparison table.
Note that disk size influences I/O performance on EBS (opens new window), so make sure your disk is large enough to take advantage of the configured IOPS.
SSDs provide the best analysis performance. Most other storage solutions lead to long reanalysis times.
Instance Storage Is Not Persisted
Local SSDs (Instance Stores (opens new window)) are not persisted when EC2 instances stop, hibernate or shut down, meaning all Teamscale data is lost if you place Teamscale's storage directory on an instance store. Thus, we recommend you use EBS volumes instead.
Make sure your EC2 instance has at least as much baseline IOPS as the EBS SSD you selected as per this table (opens new window).
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. For example, 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).
Above, you can find our size and performance recommendations for the underlying EC2 server and persistant storage.