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

Epic: Single Application Cluster #16265

Closed
16 tasks done
svenefftinge opened this issue Feb 7, 2023 · 8 comments
Closed
16 tasks done

Epic: Single Application Cluster #16265

svenefftinge opened this issue Feb 7, 2023 · 8 comments
Assignees
Labels
team: webapp Issue belongs to the WebApp team type: epic

Comments

@svenefftinge
Copy link
Member

svenefftinge commented Feb 7, 2023

Summary

We want to remove the multi-region application deployment we have in gitpod.io which includes removing the db-sync component and maintaining multiple databases, because it adds too much complexity and overhead for the value.

The target architecture is one application installation (in US) managing multiple workspace clusters in multiple regions.

Internal RFC

Preparation

Preview Give feedback
  1. release-note-none size/XL
  2. team: webapp
    easyCZ
  3. easyCZ

Performing the switch

Preview Give feedback
  1. team: webapp
    easyCZ

Cleanup

Preview Give feedback
  1. easyCZ
  2. easyCZ
  3. team: webapp
    easyCZ
  4. component: infrastructure team: webapp
    easyCZ
  5. easyCZ
  6. easyCZ
  7. easyCZ
  8. easyCZ
  9. easyCZ

Previous work and documents

@kylos101
Copy link
Contributor

kylos101 commented Feb 7, 2023

👋 hey @svenefftinge,

Do you need help on the Workspace side?

When were y'all hoping to make these changes? @atduarte mentioned WebApp team was hoping to do the consolidation/move work this week.

There are a few things I can think of on Workspace side, can you think of anything else? For example, I was thinking the following would need to change:

cc: @geropl @aledbf

@svenefftinge svenefftinge assigned easyCZ and unassigned svenefftinge Feb 8, 2023
@svenefftinge
Copy link
Member Author

Handing over DRI role to @easyCZ so I can focus on #15980

@kylos101
Copy link
Contributor

kylos101 commented Feb 8, 2023

Thanks for the heads up, @svenefftinge ! @easyCZ lemme know if you'd like to plan later this week? As a heads up, I'm deploying for Workspace Team next week, too, and can help with related changes.

@kylos101
Copy link
Contributor

kylos101 commented Feb 9, 2023

We should plan on the following too:

  1. For the initial leg of the consolidation, continue registering workspace clusters in the EU region, cordoning US, just incase we have to fallback
  2. Once the EU infrastructure is removed, then we can remove the dual cluster registration
  3. Writing a cluster selection test (if it doesn't exist) to include the new region field

@kylos101
Copy link
Contributor

kylos101 commented Feb 9, 2023

Timing wise we'd want to:

  1. Make the database change to update existing clusters with the proper region
  2. Flip the new feature flag, knowing the only requests making it to the US application cluster are for the US, and route to US workspace clusters
  3. Uncordon and update score for EU workspace clusters in the US application cluster, still no traffic will be sent to them until
  4. We finally update the GCP load balancer to remove the EU application cluster backend

@kylos101
Copy link
Contributor

kylos101 commented Feb 9, 2023

Before we do this, an internal test might look like:

  1. Prepare an ephemeral cluster in the EU region, in the US application cluster, uncordon and update score and set admission constraint new-workspace-cluster
  2. Make the database change to update existing clusters with the proper region
  3. Flip the new feature flag, knowing the only requests making it to the US application cluster are for the US, and route to US workspace clusters...but it would be exclusive to few Gitpodders (us) working this change, still no traffic will be sent to it until
  4. We finally update the GCP load balancer to remove the EU application cluster backend, we'd use a VPN to get ourselves to the US application cluster, if needed

@easyCZ
Copy link
Member

easyCZ commented Feb 13, 2023

Some additional details for the execution of the switch - Notion doc (internal)

@easyCZ
Copy link
Member

easyCZ commented Mar 6, 2023

This is now complete, including removal of unused code.

What remains, and is a potential candidate for removal, is the regional vs global message bus distinction. This will be further cleaned up with the PAYG transition so leaving that for now.

@easyCZ easyCZ closed this as completed Mar 6, 2023
@github-project-automation github-project-automation bot moved this from In Progress to In Validation in 🍎 WebApp Team Mar 6, 2023
@easyCZ easyCZ moved this from In Validation to Done in 🍎 WebApp Team Mar 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
team: webapp Issue belongs to the WebApp team type: epic
Projects
Status: Done
Development

No branches or pull requests

4 participants