Pinterest, 쿼터 관리 플랫폼 Piqama로 리소스 효율성 극대화
Pinterest는 다양한 리소스의 사용량 제한을 관리하는 쿼터 관리 플랫폼(Quota Management Platform)인 Piqama를 개발함
Piqama는 쿼터 스키마 관리, 유효성 검사, 업데이트 권한 부여, 배포, 시행 전략 등 쿼터 라이프사이클(Quota Lifecycle) 전반을 관리
Big Data Processing Platform 및 Online Services에 통합되어 리소스 할당(Resource Allocation) 및 비용 관리(Cost Management) 효율성을 향상시킴
향후 Entitlement 시스템과의 통합, 자동 권한 부여 기능 강화, 분산 쿼터 관리 기능 추가 예정
Piqama 아키텍처: 중앙 집중형 관리
Piqama는 REST(REST) 및 Thrift(Thrift)를 통해 접근 가능한 중앙 집중형 관리 포털(Centralized Management Portal)을 제공한다. 이 포털은 쿼터 스키마 관리, 유효성 검사, 업데이트 권한 부여, 배포, 시행 전략 등 쿼터 라이프사이클(Quota Lifecycle) 전반을 관리한다.
쿼터 스키마 관리(Quota Schema Management): 고유 식별자(Unique Identifier) 및 계층적 관계 정의
쿼터 유효성 검사(Quota Validation): 사용자 정의 규칙(Custom Validation Rules) 및 원격 서비스(Remote Service) 연동
쿼터 업데이트 권한 부여(Quota Update Authorization): 쿼터 소유자(Quota Owner) 기반의 접근 제어
결과적으로 Piqama는 다양한 시스템(Diverse Systems) 및 쿼터 유형(Quota Types)을 지원하며, 사용자 친화적인 인터페이스를 통해 쿼터 관리 효율성을 높인다.
Big Data Processing Platform 통합: Yunikorn과 연동
Piqama는 Big Data Processing Platform에서 Yunikorn(Yunikorn)을 통해 리소스 스케줄링(Resource Scheduling)을 관리한다. Piqama는 프로젝트별 쿼터 값을 저장하고, Yunikorn Config Updater를 통해 쿼터 업데이트를 반영한다.
보장된 리소스(Guaranteed Resources): 최소 메모리(Memory) 및 vCore(vCore) 할당
최대 리소스(Maximum Resources): 프로젝트별 최대 메모리 및 vCore 사용량 제한
최대 동시 애플리케이션(Max Concurrent Applications): 프로젝트별 동시 실행 애플리케이션 수 제한
결과적으로 Piqama는 자동 권한 부여(Auto Rightsizing) 및 수동 조정(Manual Adjustments)을 통해 유연한 리소스 할당을 지원하며, Moka의 쿼터 라이프사이클을 완전히 관리한다.
Rate Limiting Framework 통합: PinConf 활용
Pinterest는 Piqama를 활용하여 온라인 스토리지 서비스의 Rate Limiting Framework(Rate Limiting Framework)를 개선한다. Piqama는 Rate Limit 규칙의 라이프사이클 관리를 자동화하고, 실제 시스템 리소스 사용량에 따라 쿼터를 관리한다.
규칙 생성(Rule Creation): UI 또는 API를 통해 규칙 정의
규칙 배포(Rule Delivery): Pinconf(Pinconf)를 통해 호스트에 배포
규칙 조정(Rule Adjustment): Piqama의 Right-sizing 서비스(Right-sizing Service)를 통해 자동 관리
결과적으로 Piqama는 Rate Limit 규칙 관리(Rate Limit Rule Management)를 간소화하고, 비용 관리(Cost Control) 및 예산 관리(Budgeting Management)를 개선한다.
Governance & Optimization: 통계 기반의 자동 권한 부여
Piqama는 쿼터 관리 외에도 사후 관리(Post-implementation Governance) 및 최적화 기능을 제공한다. Piqama 클라이언트는 애플리케이션 통합 시 시행 및 사용 통계를 수집하며, Apache Iceberg(Apache Iceberg) on Amazon S3(Amazon S3)에 저장한다.
통계 수집(Statistics Collection): 애플리케이션 통합 시 시행 및 사용 통계 수집
데이터 저장(Data Storage): Apache Iceberg on Amazon S3에 저장, 공간 최적화
자동 권한 부여(Auto Rightsizing): Presto(Presto), Iceberg(Iceberg) 등에서 히스토리컬 데이터(Historical Data)를 활용하여 예측 기반 권한 부여
결과적으로 Piqama는 자동 권한 부여(Auto Rightsizing)를 통해 리소스 사용 효율성을 높이고, 비용 절감(Cost Reduction)을 가능하게 한다.
Quota vs Budget: 예산 연동
Piqama는 예산(Budget)과 쿼터(Quota)를 연동하여 비용 관리(Cost Management)를 지원한다. 예산은 특정 조직, 팀 또는 프로젝트에 할당된 금액을 의미하며, 쿼터는 할당된 예산에 따라 사용 가능한 리소스를 나타낸다.
Chargeback System: 리소스 사용량을 실제 비용으로 변환
예산 초과 시 제재: Big Data Processing Platform에서 예산 초과 시 리소스 할당 제한
Entitlement System 연동: Pinterest Entitlement 시스템과의 통합 예정
결과적으로 Piqama는 예산 기반의 리소스 할당(Budget-based Resource Allocation)을 통해 비용 효율성을 높이고, 책임감 있는 리소스 사용(Responsible Resource Consumption)을 장려한다.
향후 계획: Entitlement 시스템 통합
Piqama는 향후 Entitlement 시스템과의 통합, 자동 권한 부여 기능 강화, 분산 쿼터 관리 기능 추가를 계획하고 있다.
Entitlement System 통합: 리소스 쿼터와 Entitlement 시스템 간의 연동 강화
자동 권한 부여 기능 강화: 맞춤형 자동 권한 부여 기능 롤아웃
분산 쿼터 관리: 분산 환경 지원을 위한 기능 추가
결과적으로 Piqama는 운영 효율성(Operational Efficiency)을 높이고, 플랫폼 전반의 혁신(Platform-wide Innovation)을 지원할 것으로 기대된다.