Based on the minikube setup (T398915), create a set of Helm templates for configurations that will allow us to deploy the candidate solutions identified by T398917 in the production environment, to collect stats (dry run) based on real life traffic.
The goal is to evaluate the selected technolgoes as well as to determine baselines for future rate limiting rules.
Properties to be observed:
- added latency
- does it even work
- cpu load (gatewy, limiter, storage)
- memory consumption (gatewy, limiter, storage)
- service discovery and recovery (in particular, envoy getting new IPs for nodes in a StatefulSet after they restart).
Note: Ideally we would test with (some percentage of) real traffic, in dry run mode. But asa first step it would already be useful to test with generated or recorded traffic on a separate, internal instance of the api gateway (backed by the real app server or a dummy, tbd).
Note: For the evaluation, it would be sufficient to determin the user name or ID based on a coookie, even if that is not truested. We also only need to test two tiers of users: anon (with IP address as identity) and logged in (with the ID from the cookie). We can add suppotr for JWT later.