Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reduce the number of load balancer groups on dev and prod #93

Closed
Tracked by #92
hellais opened this issue Aug 22, 2024 · 1 comment
Closed
Tracked by #92

Reduce the number of load balancer groups on dev and prod #93

hellais opened this issue Aug 22, 2024 · 1 comment
Assignees
Labels
chore routine tasks that must be done, but require little active brain power funder/otffoss2023-2024 priority/medium

Comments

@hellais
Copy link
Member

hellais commented Aug 22, 2024

We should have only 1 load balancer for all API services, instead of 1 per service.

For each service, since we need direct monitoring of each individual service, we should configure the rules of the general load balancer to do routing on a path basis (which we already do) and also on a hostname basis (which we need to add).

This is related to: #62

@hellais
Copy link
Member Author

hellais commented Aug 22, 2024

We should make sure that https://api.prod.ooni.io/ still works, since DW is using this in their app.

hellais pushed a commit that referenced this issue Sep 6, 2024
This diff removes the microservice hosts from the prometheus alerts.
Part of #93
hellais added a commit that referenced this issue Oct 1, 2024
Changes:
* Add support for creating digital ocean droplets for test helpers
* Switch networking config to NAT gateway less setup

Fixes:
* #92
* #91
* #93

Checklist for doing it:
* [x] Create terraform module for deploying test helpers to digital
ocean
* [x] Tweak ECS task sizes to reduce instance consumption
* [x] Drop ECS cluster for test helpers
* [x] Setup direct load balancer rules to address services based on
hostname
* [x] Drop test helper monitoring on AWS in monitoring host
* [x] Add support for SAN in ACM certificates by creating new module
* [x] Setup nginx based load balancing for test helpers
* [x] Refactor EC2 instance deployment to use cloud-init

Since AWS costs are too high for the test helpers with IPv6 support, we
switch them back to digital ocean.

How this is implemented is by adding a new rule to the oonibackend proxy
that acts as a load balancer towards the test helpers on digital ocean.
The reason to do this is so that we don't have to complicate the TLS
setup by having to do certificate provisioning on the test helpers, but
rather are able to keep it in AWS.

Moreover by having a single entry point to the test helpers it means we
can implement a cache which works across all the test helper backends,
instead of having a per-test helper caching layer.

What is missing is adding the rules that perform routing on a per domain
basis to the load balancer config.

---------

Co-authored-by: decfox <[email protected]>
@DecFox DecFox closed this as completed Oct 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chore routine tasks that must be done, but require little active brain power funder/otffoss2023-2024 priority/medium
Projects
None yet
Development

No branches or pull requests

3 participants