Skip to content

Commit 4ca046c

Browse files
authored
Merge pull request #668 from jdno/document-aws-regions
Document selection of AWS regions
2 parents 381e225 + 601b7d2 commit 4ca046c

File tree

2 files changed

+57
-0
lines changed

2 files changed

+57
-0
lines changed

src/SUMMARY.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
- [Documentation](./infra/docs/README.md)
5252
- [AWS access for team members](./infra/docs/aws-access.md)
5353
- [AWS access management](./infra/docs/aws-access-management.md)
54+
- [AWS regions](./infra/docs/aws-regions.md)
5455
- [Bastion server](./infra/docs/bastion.md)
5556
- [Bors](./infra/docs/bors.md)
5657
- [CDN](./infra/docs/cdn.md)

src/infra/docs/aws-regions.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# Selection of AWS Regions
2+
3+
The Rust project has deployed a lot of resources on AWS, and most of them are in
4+
`us-west-1`. As we are growing our footprint and expand to more international
5+
locations, we are reconsidering which regions we want to use.
6+
7+
Please note that this is mainly for new resources that we are deploying, such as
8+
new AWS accounts. Existing resources might get migrated, but this is a
9+
significant effort that might not be worth it given our limited time.
10+
11+
## Selection Criteria
12+
13+
We have two criteria that we use to make this decision:
14+
15+
- **Price** - Pricing differs between regions, and we can reduce our costs by
16+
deploying to cheaper regions.
17+
- **Location** - We want to host our services close to most of our users. But
18+
given that Rust is used globally, we won't be able to satisfy everyone.
19+
20+
## Price
21+
22+
Looking at the current distribution of our bill, outbound traffic is by far the
23+
most expensive item. This severely limits the price savings we might enjoy by
24+
switching to a cheaper region.
25+
26+
Even if we assume that we will be able to significantly reduce our outbound
27+
traffic cost on AWS (e.g. by moving to Fastly), the difference between regions
28+
is not massive.
29+
30+
## Locations
31+
32+
Because most of our traffic comes from the US, we want to run most of our
33+
infrastructure here. The following regions are interesting to us:
34+
35+
- `us-east-1` or `us-east-2` (cheaper)
36+
- `us-west-1` (already in use)
37+
38+
Services we want to distribute more globally, e.g. the dev-desktops, we also
39+
want to deploy to Europe. Here, the following regions seem the most reasonable:
40+
41+
- `eu-west-1` (cheaper)
42+
- `eu-central-1` (more central location)
43+
44+
## Decision
45+
46+
[We decided](https://rust-lang.zulipchat.com/#narrow/stream/242791-t-infra/topic/meeting.202022-12-12)
47+
to use the following regions for new resources:
48+
49+
- `us-east-2` - Given that most of our infrastructure is hosted in the US, we
50+
want to use a cheaper region here to benefit at least a little bit.
51+
- `eu-central-1` - Since we're not deploying that many resources to Europe, we
52+
want to optimize for location here.
53+
54+
When deploying new resources, they should be deployed to `us-east-2` by default.
55+
Only resources that need to be geographically distributed should be deployed to
56+
`eu-central-1`.

0 commit comments

Comments
 (0)