This page contains information related to upcoming products, features, and functionality.
It is important to note that the information presented is for informational purposes only.
Please do not rely on this information for purchasing or planning purposes.
As with all projects, the items mentioned on this page are subject to change or delay.
The development, release, and timing of any products, features, or functionality remain at the
sole discretion of GitLab Inc.
Status | Authors | Coach | DRIs | Owning Stage | Created |
---|---|---|---|---|---|
proposed | devops data stores | - |
Cloud Connector ADR 001: 로드 밸런서를 단일 진입점으로 사용하기
Context
블루프린트의 최초 반복에서는 클라우드 커넥터 관련 기능을 사용하는 모든 트래픽이 통과하는 전용 클라우드 커넥터 엣지 서비스를 설치하는 것을 제안했습니다.
우리가 이것을 전용 서비스로 만들고 싶었던 주된 이유는 다음과 같았습니다.
-
고객을 위한 단일 진입점 제공. 전 세계의 모든 GitLab 인스턴스가
cloud.gitlab.com
과 같은 단일 엔드포인트를 통해 클라우드 커넥터 기능을 사용할 수 있는 능력을 식별했습니다. - 사용자 정의 로직 실행 기능. 제품에서 애플리케이션 수준의 속도 제한과 같이 전횡 비즈니스 로직을 실행할 수 있는 공간을 만들고자 했습니다. 이는 HAProxy와 같은 전통적인 로드 밸런서를 사용하여 실행하기 어려우거나 불가능합니다.
Decision
우리는 “스마트 라우터”로 가는 작은 증분적인 단계를 내기로 결정했습니다. 이는 클라우드 커넥터 트래픽이 우리 인프라에 진입하는 단일 엔드포인트를 제공하는 능력에 중점을 두고 있습니다. 전용 서비스를 배포하는 것보다 간단한 방법을 사용하여 달성할 수 있으며, 구체적으로는 cloud.gitlab.com
에서 수신하는 로드 밸런싱 레이어를 통해 트래픽을 전달하고 간단한 라우팅 작업도 수행할 수 있습니다.
이 결정의 이유는 다음과 같습니다.
- 사용자 정의 로직 실행에 대한 불확실한 요구 사항. 우리는 아직 클라우드 커넥터 수준에서 어떻게 그리고 어느 정도까지 속도 제한 로직을 적용할지에 대해서 탐구 중입니다. 이는 이슈 429592에서 조사 중입니다. 1월까지 단일 진입점이 필요하고, 그때까지 클라우드 커넥터 수준에서 이러한 로직을 구현할 준비가 되지 않을 것으로 생각하기 때문에 웹 서비스는 아직 필요하지 않습니다.
- 전용 서비스를 통해 실행할 수 없는 새로운 사용 사례 발견. 우리는 Observability 그룹과 협력하여 GitLab Observability Backend (GOB)를 클라우드 커넥터 고객에게 제공하는 방법을 살펴보았습니다. MR 131577에서 GOB가 매일 통과하는 대량의 트래픽과 데이터 양 때문에 이 스택 앞에 다른 서비스를 두는 것이 합리적인 위험/이익 교환을 제공하지 않는 것으로 분명해졌습니다. 대신에 이러한 특수한 경우를 위해 트래픽을 분할하고 클라우드 커넥터 구성 요소를 다른 방법으로 이용할 수 있도록 할 것입니다 (예: 클라우드 커넥터 라이브러리를 통해).
이슈 429818에서 이 새로운 엔드포인트의 로드 밸런싱 옵션을 탐구하고 있으며 이슈 24711에서 Infrastructure:Foundations
팀과 협력하여 이를 배포하고 있습니다.
Consequences
우리는 제품 및 기술적 수준에서의 불확실성을 고려하여 스마트 라우터를 최종적으로 구축할 계획을 아직 포기하지 않았지만, 이 결정을 2024년 1분기에 재검토할 것입니다.