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

Traffic management between new version of API (Canary release) #2393

Open
umeshtiwari23 opened this issue Dec 13, 2022 · 4 comments
Open

Traffic management between new version of API (Canary release) #2393

umeshtiwari23 opened this issue Dec 13, 2022 · 4 comments
Labels
S: Triage T: Feature Request Something new you want added to Apiman

Comments

@umeshtiwari23
Copy link

Description

Most modern API Gateway supports the canary release where canary release receives a small percentage of API traffic and the production release takes up the rest.

Acceptance Criteria

Policy thats supports a pre-configured ratio of traffic routing between old and new API version.

Motivation

No response

Details

No response

@umeshtiwari23 umeshtiwari23 added S: Triage T: Feature Request Something new you want added to Apiman labels Dec 13, 2022
@msavy
Copy link
Member

msavy commented Dec 13, 2022

Do you already use Apiman, and are you familiar with writing plugins?

What kinds of different ways would you want to configure routing traffic between old and new version.

e.g.

  • Accept header modification
  • Different base URL
  • Custom header?

@umeshtiwari23
Copy link
Author

I have used APIMan before but I am not familiar with writing plugins. My use case is slightly different here, I want to route the traffic to new backend & old backend but the API version remains unchanged. e.g.
Screenshot 2022-12-13 at 12 09 32

@msavy
Copy link
Member

msavy commented Dec 13, 2022

You can create an Apiman policy plugin to do this today. It might be a tiny bit awkward, but it's certainly doable.

Your 'canary policy' would simply rewrite the destination URL for 30% of the incoming requests to the alternative backend.

Does that make sense?

@umeshtiwari23
Copy link
Author

thanks for the feedback

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S: Triage T: Feature Request Something new you want added to Apiman
Projects
None yet
Development

No branches or pull requests

2 participants