Hello,
I need to move an API from a deployed proxy to a new proxy, and I am worried about the downtime in production.
The two proxies are in Hybrid, in the same tenant, so if I try to deploy the new proxy without removing the Api from the old one, I receive the error:
CONFLICTING DEPLOYMENT
Existing deployment of “organizations/dev/apis/xxx” contains conflicting base paths
And this error makes sense…
But if I remove the API from the old proxy first, deploy it, and then deploy it in the second proxy, this is going to generate a downtime in production.
Is there any way you could recommend to avoid this downtime?
Thanks in advance
Hi,
As the basepath is the same between the two proxy definitions, is it possible to create the “new” proxy as a new Revision of the old/pre-existing proxy? Is it required to treat the two proxies as two different proxies? And if so, what are those requirements? If not, deploying a new revision will rollout the new proxy in a rolling update and will not disrupt traffic.
Cheers,
Thanks for your answer!
I understand the point, but I need a new proxy.
The “old one” has other APIs with different basepaths that I will keep there, and I need to take this API/basepath to a new one.
Ah ok, so you need to split an existing Proxy with more than one proxyendpoint (multiple basepaths) out into 2 proxies.
There is a pattern for this. It requires the use of two environments that are part of the same environment group. It looks like this.
Original Proxy: proxy-org is deployed to env-1 (with the multiple endpoints)
You’ll have a second environment, env-2 that is part of the same Environment Group.
You create the second proxy with the conflicting basepath: proxy-new
You will then deploy proxy-new to env-2. This will give you a message that traffic will continue to route to proxy-org in env-1. Essentially you are deploying the new proxy to make it ready to take traffic, but as there is an existing route, the route is not yet updated. The new deployment creates a fallback route into env-2 that will be used once the route to env-1 is removed.
Next you will deploy a new Revision of proxy-org that has removed the conflicting basepath. This removes the route to env-1, allowing the fallback route to env-2 to take precedence.
Give it a test in a lower SDLC. This should move the traffic little to no disruption.
Cheers,
1 Like