monocular
monocular copied to clipboard
Scaling Monocular
Now that monocular is being used for the Helm Hub we need to look at scaling the Helm Hub. There are two things that come to mind in terms of vertical content scaling:
- The UI needs to be able to visualize many more charts and repositories. For example, what happens when the homepage has over 1,000 charts or the charts page has 50 repositories?
- We need to scale the data transfer. Currently, Monocular UI is a web app that queries for all information on all charts then does the filtering client side. This can really be seen on the charts page. How do we scale this to thousands of charts or, if we are lucky, more?
This ticket is first, and foremost, to address the scaling need.
My first thought in solving this is to look at creating Monocular 2.0 and make some breaking changes that:
- Update the homepage to list things like newly added charts and recently updated charts
- Only send the charts that are needed to the browser when they are needed. Essentially, shift the filtering to be server side
- Update the UX to handle many orgs and only send the ones that are needed on demand to the browser
This could change both the UI display and the server side API making it a 2.0 breaking change.
This is just a proposed idea. Thoughts @prydonius?
Only send the charts that are needed to the browser when they are needed. Essentially, shift the filtering to be server side
+1, I think the first step would be to implement pagination on the server side so that we only fetch a certain number of charts each time.