Ambassador: Refactor Planning for ADS/IR/V2 work

Created on 21 Jun 2018  路  7Comments  路  Source: datawire/ambassador

This is the output of a planning meeting with the goal of figuring out how to proceed on the several refactors we would like to make.

Refactors:

  1. IR Refactor
  2. Moving to ADS
  3. V1 to V2 config
  4. Testing

We primarily identified any user requested features we could think of and grouped these into two categories. Features that may significantly inform a given refactor, and features that we don't necessarily expect to inform the refactor, but should function as a litmus test (once the refactor is done, these features should be trivial).

Features:

  • Better diagnostics (informs 1, 4):

    • for service developers

    • for ambassador developers [with no access to the ambassador pod]

    • for ops

    • report out of sync pods

  • Session affinity (litmus for 1)
  • Regex rewriting (litmus for 1)
  • SNI
  • GRPC UX (litmus for 1)
  • Vanity Domain Provisioning
  • TCP Proxy (informs 1)
  • Faster Reconfig (informs 2)
  • Zero Connection Drop (informs 2)
  • Multiple Listeners (litmus for 1)
  • Endpoint Routing (informs 2)

    • fancy LB algorithms

    • per pod health checking

  • Service Discovery Integrations (informs 2)
  • Better health stuff (informs 2)

    • outlier rejection

    • ...

  • Developer Isolation
  • CRDs as UX for existing functionality
  • compression

Next Steps:

  1. make sure this is complete
  2. do a rough prioritization
  3. get user stories for all the features that inform any refactors

Most helpful comment

Here's the list of things we need to tackle once we support v2:

  • [x] Sticky sessions (#422)
  • [x] SNI support / multiple certs (#153)
  • [ ] Gzip compression
  • [x] WebSockets / auth issue (#670)
  • [ ] min TLS version (#689)

All 7 comments

Here's the list of things we need to tackle once we support v2:

  • [x] Sticky sessions (#422)
  • [x] SNI support / multiple certs (#153)
  • [ ] Gzip compression
  • [x] WebSockets / auth issue (#670)
  • [ ] min TLS version (#689)

I suggest include Brotli compressions as well

Any updates on this since 0.50 is GA?

Work is ongoing @Tapppi but PRs are encouraged! We've gotten to 2 on the list.

Is gzip support in the works? I see that envoy has a gzip http filter would there be a way to add this to the configuration manually as a workaround?

@enriched it's straightforward to add now that we have v2 support, and we'd be happy to review the PR (one of our programmers actually wrote that filter). looking for someone in the community to add and test it!

This is long since done (yow). There's a separate issue for gzip support (#744).

Was this page helpful?
0 / 5 - 0 ratings

Related issues

kflynn picture kflynn  路  5Comments

kfkawalec picture kfkawalec  路  6Comments

josephglanville picture josephglanville  路  3Comments

klarose picture klarose  路  5Comments

pratikmallya picture pratikmallya  路  5Comments