Can a proxy and associated shared flows deployed to multiple environments ?

Dear Team,

One quick question

We have a high performance API proxy A which is consumed by two consumers . We are thinking of creating environment specific to these two consumers and deploy proxy accordingly. So the proxy A need to be deployed to both the environment as per requirement. Is this possible ?. I am getting an error saying "New deployment will not receive any traffic for basepath /hello-world, as this basepath is already claimed by proxy hello-world in environment eval." 

Offcourse there are other ways to build the environment but just asking if its possible to deploy a proxy to two different environments. 

Reason: Depending on the consumer traffic then respective pods serving traffic for the APIs in that environment scales up and down

Kind Regards

Arijit

Solved Solved
0 4 405
1 ACCEPTED SOLUTION

1. Can you elaborate on the TPS? 

2. Your existing configuration must have the environments in the same environment group, so this error is expected as you don't have a unique way to reach this second deployment - either the host or the API proxy base bath must be unique. ie each environment should be in separate groups.

3. By using the same environment group, this requires having separate API proxies with separate base paths. The approach seems like more an anti-pattern as this further complicates your API products, Analytics, etc.

View solution in original post

4 REPLIES 4

1. I don't see why different consumers require having APIs deployed to their own environments. Is there particular TPS that you're concerned about? 

2. Based on the error you're receiving, it sounds like you have more than 1 API proxy using the same basepath in the same environment?

3. Also, is this Apigee X or Apigee Edge - if it's X, will you have unique environment groups for these environments ie so you have unique hosts. With that said, it's worth addressing the first question first.

Hi @dknezic 

1. It is mainly due to TPS, so that we can for some particular consumers we can estimate the resource consumption (perhaps scaling) 

2. I am trying this in trial version of apigee x where one environment eval is available initially. Then i have created another environment test and was trying to deploy hello world api which is already deployed to eval. 

3 . This is apigee x and we may do this in hybrid. Both environment will have same environment group sharing same hosts. 

Kind Regards

Arijit

1. Can you elaborate on the TPS? 

2. Your existing configuration must have the environments in the same environment group, so this error is expected as you don't have a unique way to reach this second deployment - either the host or the API proxy base bath must be unique. ie each environment should be in separate groups.

3. By using the same environment group, this requires having separate API proxies with separate base paths. The approach seems like more an anti-pattern as this further complicates your API products, Analytics, etc.

Hi @dknezic 

For the TPS part , lets assume we have two consumers C1 and C2 . C1 invokes API A1 and A2, C2 invokes A1 and A3. The tps requirement for C1 is around 1000 tps for both A1 and A2 and for C2 it would be 10 tps. As an environment maps phsycially to a message processor pod or group of message processor pods,  I was thinking of creating environment based on high performant consumers, but I get your point on context path routing issue as well as the anti pattern. 

Kind Regards

Arijit