Replies: 1 comment
-
Chiming in - love this concept. I'm curious how much automation would be desired. I see a couple options: 1. Semi-AutomatedArchitect deploys to multiple clusters and surfaces the list of load balancer ips. Then its up to the user to set up the networking. Pros:
Cons:
2. AutomatedArchitect deploys to multiple clusters and auto configures the load balancer pools with a service like Cloudflare. Pros:
Cons:
3. Automated + Private Cloudflare (lb providers)Architect allows you to register your Cloudflare zones on an account. Then automates the creation of lbs/pools in that zone. Pros:
Cons:
Obviously we could do all three, but would love feedback! |
Beta Was this translation helpful? Give feedback.
-
Hi everyone – our team is testing out Github Discussions as a means of sharing our feature ideas and getting feedback from peer developers. We'd love to hear what you think of some of our wilder ideas, so please let us know if you have any questions/comments/concerns that will help us design the most helpful features in the best ways.
Overview
Larger scale organizations often find themselves needing a higher degree of reliability and availability than can be offered by a single datacenter or container platform. Software fails after all, and the cloud providers and datacenters are no exception. In order to defend themselves from this kind of failure, software companies will often instrument an active-active deployment architecture.
This is a tactic that includes deploying your entire application to multiple different datacenters and allowing each datacenter to re-route to each other in the event they're experiencing outages. When instrumented correctly, this tactic has the added benefit of allowing you to host your software in datacenters closest to your users to ensure they receive faster response times and an better experience. A typical active-active deployment architecture looks something like this:
While multi-region, active-active deployment strategies are popular for large organizations, it often requires a large scale, collaborative effort between DevOps and SREs in order to instrument it. The SREs need to setup the clusters, build secure gateways connecting the clusters for failover, and instrument the edge gateways that will receive external requests and forward them to. DevOps needs to setup deployment pipelines to deploy to each region and needs to configure the ingress and edge gateways to expose only the relevant apps and services.
In our efforts to make environment provisioning and deployment as easy as possible, we recently asked ourselves if there's any support we can provide to ease the burdens associated with deploying and managing multi-region environments. Right now teams can register multiple regions as individual environments and deploy to them each separately, but cannot treat multi-region or multi-cloud environments as a single deploy target. This forces developers to know which regions are available explicitly and ensure they can deploy to each in their own pipelines, and also forces SREs to figure out how to configure the ingress and mesh gateways respectively.
Feature proposal
What we want to do is abstract away the fact that an environment may be backed by more than one region and allow developers to deploy to a single environment regardless of how many regions the code gets shipped to. This would allow SREs to expand or contract the number of regions without developers needing to change their workflows for deployment.
In order to make this a reality, we're looking to allow environment operators to have a few extra features available when they setup their environment:
What we're looking for
We'd love to hear from any developers or SREs interested in or currently implementing multi-region architectures. We want to make sure that we have a firm handle of the desired architecture as well as a good experience for creating and managing it. Please feel free to reply with free-form thoughts, but if you're looking for inspiration or structure then we'd love to know your answers to the following:
Thanks in advance for your help!
Beta Was this translation helpful? Give feedback.
All reactions