Advanced search: add sizing guidance
<!--IssueSummary start--> <details> <summary> Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards. </summary> - [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=555966) </details> <!--IssueSummary end--> ## Background In the [design document](MR: https://gitlab.com/gitlab-com/content-sites/handbook/-/merge_requests/13206), we are proposing to package Elasticsearch or OpenSearch with GitLab. To include it with gitlab distribution, we need to know sizing guidance with different architectures. ## Problem to solve The current reference architecture documentation does not mention the possibility of integrating an OpenSearch cluster. This omission may lead to confusion or missed opportunities for users who wish to enable advanced search capabilities available in GitLab Enterprise Edition (EE) or Ultimate. Including OpenSearch in the architecture—clearly marked as optional—would help clarify its role and relevance, especially for teams evaluating or planning deployments that require enhanced search features. ## Further details Adding OpenSearch to the reference architecture documentation would help clarify deployment options for users of GitLab Enterprise Edition (EE) and Ultimate who wish to enable advanced search capabilities. This addition would benefit: * Infrastructure and DevOps engineers designing scalable GitLab deployments. * Solution architects evaluating optional components based on feature requirements. * Technical decision-makers comparing editions and planning for future extensibility. * Allows you to point to an architecture scheme close to the one in production ## Proposal To start, update documentation with additional sizing guidance for Advanced search. Documentation for sizing should be available in places where folks expect to find this information. Proposing: - https://docs.gitlab.com/integration/advanced_search/elasticsearch/#enable-advanced-search - https://docs.gitlab.com/administration/reference_architectures ### Sizing guidelines General sizing recommendations based on instance size. In new reference architectures, there will be 4 sizes suggested for scaled architectures as well as single node instances. Expand on the [OpenSearch sizing used in the performance tests](https://gitlab.com/search?search=opensearch_vm_&nav_source=navbar&project_id=23052226&group_id=103837428&search_code=true&repository_ref=main ) Sizing for Advanced search has multiple factors: - node size (CPU/Memory) - node count (3 minimum for multi-node clusters, 1 for single node with strong warnings) - required storage - today we use code storage requirements, but also have data to figure out size per index - search requirements (handled by the performance tests) - indexing requirements (TBD) ### Indexing time for project sizes We can provide indexing times for projects (whether that be a specific project repository size) or we could provide a combination of # of projects / repository sizes and how long to takes to index these on a quiet system. This info could be provided for each architecture described in the sizing guide
issue