System Design - Apigee Edge with AWS Route 53 (muti-region deploy)

aluno
New Member

Context: when designing a very resilient solution hosted on AWS, we may use Route 53 (DNS service) to, for instance, route calls to different regions (Americas, Europe, etc.), by leveraging a health-check on the back-end services (our target servers).

Question #1: where exactly Apigee Edge (proxies) would "sit" in this solution design? Between Route 53 and each of the load balancers for the back-end servers? I.e., I would also have several instances (multi-region deploy) of the Apigee Edge platform (make sense from a disaster recovery perspective)?

Question #2: if so, how about configuration? Is there a way for having centralized management, while planning for disaster recovery (multi-region) solution? Any thoughts would be very appreciated, as well as links for documentation and examples...

I am trying to come up with a solution to "insert" API Management in a standard AWS multi-region reference architecture.

Thanks in advance.
Best regards,

Franca.

0 6 1,148
6 REPLIES 6

Not applicable

Route53 will be fronting to multi regions. In each region, you will be having LB preferably ALBs which will be fronting to apigee routers.

for Q1 : Apigee edge will reside between Route 53 and load balancer fronting the backend server. The traffic will be coming to apigee from router 53 and LB fronting Apigee routers, then apigee target will be the load balancer for backend service.

for Q2 : As I explained in the beginning route53 will head to ALB of multi regions and ALB will head router of the specific region, You can make traffic flow to one region ALB from the route53 during the DR.

Hey, I think I understood only part of your response... So, allow me to clarify some points:

Q1: Are you suggesting using both ALB from AWS (Elastic Load Balancers) and the Load Balancer policy from Apigee Edge? Does this make sense? I mean, is it really necessary to have two types of load balancers, one after the other?

Q2: I was thinking about multiple instances/deploys of Apigee Edge, but, my question remains... How about centralized management? For instance, imagine I need to create/modify an API Proxy policy and then deploy it... If I have 3 regions, maybe I need to deploy it to all three instances... Must this be a manual process?

Additionally, would you suggest/recommend a cloud version of the platform, or private instances?

Please, share your thoughts...
Thanks in advance one more time.
Franca.

for Q1. ALB is of AWS. Apigee internal load-balancing starts after request reaches to apigee router. In front of your multiple routers of each region, you should have ALB/LB of AWS and in front of those, you will have Route53 to router whether to ALB of which region. This will be for multi-dc/ multi-region architecture.

For Q2. When you develop.modify/deploy a proxy it gets reflected in all the rmps of all the regions. You need not do manually in each. Just you click on UI, it does happen everywhere.

Cloud and On-prem both have their own advantage. If your organization has its own data centers, want to customize apigee infrastructure according to your need and ready to buy the license then go for onprem.

Why would I need a(nother) LoadBalancer in a <HTTPTargetConnection> of a <TargetEndpoint>? I mean, I already have the (AWS) ALBs doing this... I'm still a bit confused... Why would I need two types of load balancers in the solution?

This is the design I am considering:
{Internet} ---> {Route53} ---> {Apigee Edge} ---> {AWS ALB} ---> {Services/Containers}

In the above, AWS ALB address would be the "target server" in Apigee Edge...
Could you comment on that, please? Is this design ok?
Thanks.
Franca.

when you use route 53 in front of Apigee multi-region, you need to have ALB for each region between route 53 and apigee. And regarding AWS ALB between Apigee and services is not mandatory. Apigee Edge has the internal Loadbalancing to handle multiple service endpoints. I said ALB between Route53 and Apigee in each region. You don't need ALB between Apigee and service. Still, some use ALB before their services if they have the same service hosted in multiple servers and they want to load balance. That is not part of apigee architecture.

Not applicable

You can see the diagram in attachemnt. apigee-regions.pdf