Based on last (6.15) trustee meeting, the topic is rised without blocking #1150
Different Models
| Dimension |
Model 1: All-in-one KBS+Builtin AS |
Model 2: All services in one Pod |
Model 3: One service per Pod (current) |
| Pod/Process topology |
1 Pod, 1 main process |
1 Pod, multiple containers |
Multiple Deployments/Pods |
| Deployment complexity |
Lowest |
Medium |
Highest |
| Independent scaling |
No |
No (pod-level scaling only) |
Yes (KBS / AS / RVPS independently) |
| Independent rollout/rollback |
No |
Limited |
Yes |
| Failure isolation |
Weak |
Medium |
Strong |
| Network attack surface |
Smallest (mostly in-process calls) |
Small (can use localhost between containers) |
Largest (service-to-service traffic across cluster network) |
| External access for KBS |
Yes |
Yes |
Yes |
| External access for AS |
No (not separately exposed) |
Optional |
Optional |
| Risk of exposing internal interfaces |
Low |
Low-Medium |
Medium-High if misconfigured (AS/RVPS as LB) |
| Resource scheduling flexibility |
Low |
Low |
High (e.g., AS on dedicated nodes) |
From my side, there are needs that require directly connects to AS's evaluate API. Thus the deployment needs to expose AS API also. But we now do not have control for "which gRPC API" can be exposed, thus the set_policy would also be exposed if AS API is exposed.
Anyway, let me bring this topic out, and we can iterate without blocking current helm PR.
Based on last (6.15) trustee meeting, the topic is rised without blocking #1150
Different Models
KBS/AS/RVPSindependently)AS/RVPSas LB)From my side, there are needs that require directly connects to AS's
evaluateAPI. Thus the deployment needs to expose AS API also. But we now do not have control for "which gRPC API" can be exposed, thus theset_policywould also be exposed if AS API is exposed.Anyway, let me bring this topic out, and we can iterate without blocking current helm PR.