infrastructure

6 개의 포스트

github원문

GitHub Enterprise Server에서 고가용성을 (새 탭에서 열림)

제공해주신 내용은 GitHub의 검색 엔지니어 데이비드(David)의 약력으로 확인됩니다. 그가 주도적으로 작성한 **GitHub의 새로운 코드 검색 엔진인 'Blackbird'의 기술적 설계와 아키텍처**에 관한 블로그 글을 바탕으로 요약해 드립니다. 깃허브는 기존 검색 엔진의 한계를 극복하고 수십억 개의 파일에 대해 전례 없는 속도와 정확도를 제공하기 위해 Rust 기반의 새로운 검색 엔진 'Blackbird'를 자체 구축했습니다. 일반적인 텍스트 검색과 달리 코드의 특성을 깊이 있게 이해해야 하는 요구사항을 충족하기 위해, 인프라 계층부터 랭킹 알고리즘까지 모든 과정을 코드 검색에 최적화된 방식으로 재설계했습니다. 이를 통해 깃허브는 대규모 코드베이스에서 복잡한 쿼리를 밀리초 단위로 처리할 수 있는 강력한 검색 경험을 구현했습니다. **기존 범용 검색 엔진의 한계** * Elasticsearch와 같은 기존의 범용 엔진은 대규모 코드 검색에서 발생하는 특수 문자 처리와 정규 표현식 쿼리에 최적화되어 있지 않습니다. * 코드 데이터의 양이 기하급수적으로 늘어남에 따라 기존의 N-gram 인덱싱 방식은 인덱스 크기가 너무 커져 저장 비용과 검색 성능 면에서 효율성이 급격히 떨어지는 문제를 겪었습니다. * 다양한 프로그래밍 언어의 구문과 구조를 이해하지 못하는 일반적인 정보 검색 방식으로는 개발자가 원하는 정확한 검색 결과를 도출하는 데 한계가 있었습니다. **Blackbird: 코드 특화 검색 엔진 아키텍처** * **Rust 기반의 고성능 설계**: 시스템의 안정성과 메모리 효율성을 극대화하기 위해 Rust 언어를 사용하여 엔진을 밑바닥부터 직접 구현했습니다. * **Sparse N-gram 인덱싱**: 모든 데이터를 인덱싱하는 대신 유의미한 코드 패턴을 효율적으로 찾는 '희소(Sparse)' 인덱스 기술을 도입하여 인덱스 크기를 획기적으로 줄였습니다. * **Content-addressable Storage**: 코드의 중복을 제거하고 데이터 무결성을 보장하기 위해 콘텐츠 주소 지정 저장 방식을 사용하여 수 페타바이트의 데이터를 효율적으로 관리합니다. **샤딩 및 분산 처리 전략** * 수십억 개의 파일을 수천 개의 샤드(Shard)로 분할하여 관리하며, 각 샤드는 독립적으로 쿼리를 처리할 수 있도록 설계되었습니다. * 쿼리가 들어오면 오케스트레이터가 관련 있는 샤드들에 작업을 분산시키고 결과를 취합하는 분산 컴퓨팅 구조를 통해 동시 사용자가 많아도 낮은 지연 시간을 유지합니다. * 특정 리포지토리의 가시성 변화나 코드 수정 사항이 실시간에 가깝게 검색 결과에 반영될 수 있도록 고안된 파이프라인을 갖추고 있습니다. **관련성(Relevance) 엔지니어링** * 단순한 키워드 일치를 넘어 코드의 품질, 해당 리포지토리의 별(Star) 개수, 최근성 등을 종합적으로 고려한 랭킹 알고리즘을 적용했습니다. * 사용자의 의도를 파악하여 함수 정의, 변수 사용처 등 코드의 구조적 맥락을 반영한 검색 결과를 상단에 배치합니다. 대규모 시스템에서 범용 솔루션이 성능의 병목이 될 때, 도메인 특화(Domain-specific) 엔진을 직접 설계하고 구현하는 것이 서비스의 질을 한 단계 높이는 결정적인 차별점이 될 수 있음을 보여줍니다. 코드와 같이 특수한 구조를 가진 데이터를 다룰 때는 그 데이터의 본질에 맞춘 인덱싱 기법과 언어 선택이 성능 최적화의 핵심입니다.

woowahan원문

Delivering the Future: 글로벌 해커톤 2025, 준비부터 운영까지 | 우아한형제들 기술블로그 (새 탭에서 열림)

딜리버리히어로 산하 전 세계 7개 엔티티의 기술직군 구성원들이 참여한 ‘글로벌 해커톤 2025’는 글로벌 기술 인재들을 하나로 연결하고 미래의 고객 경험을 혁신하기 위해 개최되었습니다. 우아한형제들 DR팀은 이번 행사의 오거나이저로서 한국에서의 커뮤니티 운영 노하우를 발휘해 서로 다른 시차와 환경을 가진 팀들이 기술적으로 협업할 수 있는 온·오프라인 하이브리드 환경을 구축했습니다. 이를 통해 전 세계 270여 명의 참가자는 구글 클라우드 등 최신 기술 스택을 활용하여 비즈니스 아이디어를 실현하며 글로벌 기술 시너지를 확인했습니다. **글로벌 협업을 위한 행사 기획과 소통 구조** * 전 세계 70여 개국에 퍼져 있는 구성원들의 참여를 독려하기 위해 각국의 공휴일과 휴가 시즌을 면밀히 분석하여 가장 참여도가 높을 것으로 예상되는 일정을 확정했습니다. * 물리적 거리의 한계를 극복하고자 각 엔티티 오피스를 '베이스캠프'로 지정해 오프라인의 몰입감을 유지하는 동시에, 라이브 중계와 온라인 채널을 연계해 전 세계를 실시간으로 연결했습니다. * 시간대 차이로 발생하는 소통의 병목 현상을 해결하기 위해 정기 회의 대신 엔티티별 개별 미팅을 진행하고, 표준화된 가이드 문서와 체크리스트를 배포하여 운영 효율성을 높였습니다. **규제와 실험의 자유를 고려한 기술 환경 구축** * 참가자들이 GCP, AWS, ML 모델 등 각자 익숙한 기술 스택을 자유롭게 활용하면서도, GDPR(EU 일반 개인정보 보호 규정)과 같은 엄격한 글로벌 보안 및 컴플라이언스 규정을 준수하도록 인프라를 설계했습니다. * 딜리버리히어로 중앙 조직이 직접 조율한 공통 기술 가이드를 마련하여 리소스 제공 범위와 데이터 접근 절차를 명확히 규정함으로써 기술적 파편화를 방지했습니다. * 구글 클라우드와의 파트너십을 통해 Google AI 기반 환경을 폭넓게 제공하여, 참가자들이 실제 현업 환경과 유사한 조건에서 고도화된 기술적 실험을 수행할 수 있도록 지원했습니다. **현지 운영과 글로벌 네트워크의 확장** * 근무 형태가 서로 다른 엔티티들이 같은 도시 내 오피스를 개방하고 공유하도록 독려하여, 소속에 관계없이 글로벌 구성원들이 자연스럽게 섞여 협업할 수 있는 분위기를 조성했습니다. * 각 엔티티의 CTO와 CPO가 예선 심사에 직접 참여하고, 딜리버리히어로 글로벌 CTO 및 구글 클라우드 디렉터가 최종 심사를 맡아 프로젝트의 비즈니스 가치와 기술적 완성도를 다각도로 검증했습니다. * 수상 팀에게는 상금과 함께 미국에서 열리는 'Google Cloud Next 2026' 참가 기회를 제공하여 해커톤 이후에도 기술적 성장이 이어질 수 있는 동기를 부여했습니다. 이번 글로벌 해커톤은 거대한 조직 규모와 지리적 제약 속에서도 공통의 기술 가이드와 명확한 운영 원칙이 있다면 전 세계 엔지니어들이 하나의 팀처럼 혁신을 만들어낼 수 있음을 보여주었습니다. 서로 다른 배경을 가진 개발자들이 기술로 소통하며 시너지를 내는 과정은 글로벌 기술 기업으로서의 결속력을 다지는 중요한 발판이 됩니다.

daangn원문

당근 검색 엔진, 쿠버네티스로 쉽게 운영하기 2편 — 데이터 노드 웜업 적용 (새 탭에서 열림)

당근 검색 플랫폼팀은 쿠버네티스(ECK) 환경에서 Elasticsearch 클러스터를 운영하며, 롤링 리스타트 시 발생하는 레이턴시 급증 문제를 해결하기 위해 '데이터 노드 웜업(Warmup)' 시스템을 구축했습니다. 단순히 Pod가 실행되는 것을 넘어 샤드 복구와 캐시 예열이 완료된 후에만 다음 노드를 재시작하도록 제어함으로써, 피크 타임에도 서비스 영향 없이 안정적인 배포가 가능해졌습니다. 이를 통해 운영자의 모니터링 부담을 제거하고 언제든 안심하고 배포할 수 있는 환경을 마련했습니다. **롤링 리스타트와 콜드 캐시의 위험성** * Elasticsearch는 페이지 캐시, 쿼리 캐시 등 다양한 메모리 캐시에 크게 의존하므로, 재시작 직후 캐시가 비어 있는 '콜드 캐시' 상태에서는 성능이 급격히 저하됩니다. * 쿠버네티스의 기본 롤링 업데이트는 Pod의 준비 상태(Ready)만 확인하고 다음 노드를 재시작하기 때문에, 준비되지 않은 노드에 트래픽이 몰리며 전체 검색 레이턴시가 수 초까지 치솟는 장애가 발생할 수 있습니다. * 노드 한 대가 내려간 동안 남은 노드들이 모든 부하를 감당해야 하며, 복제본(Replica) 샤드가 없는 상태에서 다른 노드에 문제가 생기면 클러스터가 'Red' 상태로 변해 가용성이 무너질 위험이 큽니다. **안전한 배포를 위한 단계별 웜업 전략** * 목표는 배포 중에도 P99 레이턴시를 평소 수준으로 유지하고, 클러스터 상태가 'Yellow'에서 다시 'Green'이 된 것을 확인한 후 다음 단계로 넘어가는 것입니다. * 이를 위해 노드 재시작 후 세 가지 단계를 거칩니다: 1) 데이터 노드가 클러스터에 정상 합류할 때까지 대기, 2) 할당된 샤드들의 데이터 복구(Recovery) 완료 확인, 3) 실제 검색 쿼리를 미리 실행하여 캐시를 채우는 과정입니다. * 특히 샤드 복구가 완료되지 않은 상태에서 웜업을 시작하면 데이터가 없는 상태에서 쿼리를 날리는 꼴이 되므로, 반드시 인덱싱 상태를 모니터링하는 로직이 포함되어야 합니다. **사이드카 패턴 기반의 웜업 시스템 구현** * Elasticsearch 컨테이너와 함께 실행되는 별도의 `warmup-sidecar`를 도입하여 노드의 상태를 정밀하게 추적합니다. * 사이드카는 API를 통해 해당 노드의 샤드들이 모두 'Started' 상태인지 확인하고, 실제 운영 환경에서 발생하는 검색 트래픽(Traffic Replay)을 신규 노드에 미리 쏘아주어 메모리에 데이터를 올립니다. * 이 모든 과정이 완료되어야만 쿠버네티스의 Readiness Probe를 통과하게 설계하여, ECK 오퍼레이터가 노드 웜업이 끝날 때까지 다음 Pod의 재시작을 자동으로 대기하도록 제어했습니다. 대규모 트래픽을 처리하는 상태 기반(Stateful) 시스템에서는 인프라 수준의 단순한 헬스체크만으로는 부족하며, 애플리케이션 내부의 데이터 준비 상태를 고려한 정교한 배포 전략이 필수적입니다. 데이터 노드 웜업 도입으로 배포 시간은 기존보다 길어졌지만, 시간에 구애받지 않고 24시간 언제든 안전하게 시스템을 업데이트할 수 있는 운영 안정성을 확보하게 되었습니다.

figma원문

대규모 가시성: Figma가 (새 탭에서 열림)

피그마(Figma)는 서비스 규모가 확장됨에 따라 복잡해진 권한 관리 로직을 효율적으로 처리하기 위해 자체적인 권한 정의 언어(DSL)인 'Permit'을 구축했습니다. 기존의 파편화된 명령형 코드 방식에서 벗어나 선언적인 DSL을 도입함으로써 권한 정책의 일관성을 확보하고 보안 취약점 발생 가능성을 획기적으로 낮췄습니다. 이를 통해 복잡한 사용자-리소스 간의 관계를 명확하게 모델링하고 성능 저하 없이 대규모 시스템에 적용할 수 있는 권한 검증 인프라를 완성했습니다. ### 기존 시스템의 한계와 권한 관리의 복잡성 * 권한 체크 로직이 Go 애플리케이션 코드 곳곳에 흩어져 있어, 특정 리소스에 대한 접근 규칙을 한눈에 파악하거나 일관되게 수정하기 매우 어려웠습니다. * 팀, 프로젝트, 파일로 이어지는 계층 구조뿐만 아니라 엔터프라이즈 설정, 공유 링크 등 수많은 변수가 결합되면서 권한 로직 수정 시 예기치 않은 부작용(side effects)이 발생할 위험이 컸습니다. * 성능 최적화를 위해 데이터베이스 쿼리에 권한 로직을 직접 포함시켜야 하는 경우가 많았는데, 이는 비즈니스 로직과 권한 정책이 뒤섞여 코드 유지보수성을 떨어뜨리는 결과로 이어졌습니다. ### 관계 기반 접근 제어(ReBAC)와 Permit DSL 설계 * 구글의 Zanzibar 시스템에서 영감을 얻어, 객체 간의 관계를 중심으로 권한을 정의하는 ReBAC(Relationship-Based Access Control) 모델을 피그마의 환경에 맞게 커스텀화했습니다. * Permit DSL은 'Actor(사용자)', 'Resource(파일, 팀 등)', 'Action(편집, 보기 등)' 간의 관계를 선언적인 문법으로 정의합니다. * 예를 들어 "사용자가 파일이 속한 프로젝트의 편집자라면 해당 파일에 대한 편집 권한을 가진다"와 같은 전이적인(transitive) 관계를 직관적인 문법으로 표현할 수 있게 되었습니다. ### 컴파일러 및 성능 최적화 기술 * DSL로 작성된 정책을 런타임에 해석하는 대신, 효율적인 Go 코드로 변환하는 자체 컴파일러를 개발하여 실행 성능을 극대화하고 런타임 오버헤드를 최소화했습니다. * 컴파일 단계에서 정적 분석을 수행하여 순환 참조나 정의되지 않은 권한 사용 등 논리적 오류를 사전에 차단합니다. * 특히 '부분 평가(Partial Evaluation)' 기법을 도입하여, 권한 로직을 SQL 쿼리의 WHERE 절로 변환함으로써 수백만 개의 리소스 중 사용자가 접근 가능한 항목만 효율적으로 필터링할 수 있도록 구현했습니다. ### 안전한 전환을 위한 검증 및 배포 프로세스 * DSL 내부에 유닛 테스트를 직접 작성할 수 있는 기능을 포함시켜, 정책 변경이 기존의 기대 결과와 일치하는지 배포 전 즉시 검증할 수 있는 환경을 마련했습니다. * '섀도 모드(Shadow mode)'를 활용하여 실제 트래픽에서 기존의 레거시 권한 로직 결과와 새로운 Permit 시스템의 결과를 실시간으로 비교하며 데이터 정합성을 확인했습니다. * 성능 모니터링을 통해 권한 확인 작업이 전체 API 응답 시간에 미치는 영향을 정밀하게 추적하며 안정성을 확보했습니다. 권한 관리는 단순한 기능을 넘어 대규모 SaaS의 보안과 확장성을 결정짓는 핵심 인프라입니다. 피그마의 사례처럼 권한 로직을 비즈니스 코드에서 분리하여 '정책(Policy)'으로서 중앙 집중화하고 코드화하는 전략은, 제품의 복잡도가 높아질수록 개발 생산성과 시스템 안정성을 동시에 잡을 수 있는 가장 강력한 방법 중 하나입니다.

line원문

LY의 테크 컨퍼런스, 'Tech-Verse 2025' 후기 (새 탭에서 열림)

LY Corporation(이하 LY)은 기술 컨퍼런스 'Tech-Verse 2025'를 통해 합병 이후의 플랫폼 통합 전략과 AI 기업으로의 전환 비전을 제시했습니다. LY는 자체 프라이빗 클라우드 구축을 통해 압도적인 비용 절감과 보안 강화를 실현하고, 모든 서비스에 AI 에이전트를 도입하여 사용자 경험을 혁신할 계획입니다. 특히 생성형 AI를 활용한 개발 프로세스의 전면적인 진화로 엔지니어가 서비스 본질에 집중할 수 있는 환경을 구축하는 것이 핵심입니다. **CatalystOne: 고효율 통합 플랫폼 구축** * **자체 클라우드 기반의 비용 최적화**: 퍼블릭 클라우드 대비 약 4배의 비용 절감 효과를 거두고 있으며, 50만 대의 서버와 3Tbps에 달하는 대규모 트래픽을 효율적으로 관리하고 있습니다. * **플랫폼 통합(CatalystOne)**: 합병 후 중복된 인프라를 'CatalystOne'이라는 이름 아래 통합하여 기술, 엔지니어, 시설 등 핵심 자원의 운영 집중도를 높였습니다. * **보안 및 혁신 가속화**: 통합된 플랫폼을 통해 거버넌스를 강화하고, 폭발적인 데이터 성장과 생성형 AI 수요에 기민하게 대응할 수 있는 차세대 프라이빗 클라우드 'Flava'를 구축했습니다. **전 서비스의 AI 에이전트화와 개발 혁신** * **퍼스널 에이전트 구현**: 현재 44개 서비스에 생성형 AI를 도입했으며, 수천만 개의 에이전트를 연계하여 개별 사용자의 니즈를 정교하게 지원하는 것을 목표로 합니다. * **AI 기반 개발 솔루션 도입**: 2025년 7월부터 모든 엔지니어에게 AI 개발 솔루션을 전면 도입하며, RAG(검색 증강 생성) 기술로 사내 지식을 활용해 코드 품질을 높입니다. * **생산성 지표의 획기적 개선**: PoC 결과 'Code Assist'는 96%의 정답률을 기록했고, 'Auto Test' 도입으로 테스트 시간을 97% 단축하는 등 압도적인 개발 효율성 향상을 확인했습니다. **실용적인 결론** LY의 전략은 대규모 인프라를 운영하는 기업이 단순히 AI를 도입하는 것에 그치지 않고, 인프라 통합을 통한 비용 효율화와 AI를 활용한 개발 문화 혁신이 병행되어야 함을 보여줍니다. 특히 엔지니어링 환경에 AI를 적극적으로 이식하여 확보한 리소스를 사용자 가치 증대에 재투자하는 선순환 구조는 기술 기업들이 참고할 만한 모델입니다.

line원문

테크 컨퍼런스 Tech-Verse 2025를 개최합니다 (새 탭에서 열림)

LY Corporation은 오는 6월 30일부터 7월 1일까지 양일간 글로벌 테크 컨퍼런스인 'Tech-Verse 2025'를 개최합니다. 이번 행사는 AI와 보안을 메인 테마로 하여 전 세계 그룹사 엔지니어들이 경험한 127개의 기술 세션을 온라인으로 공유할 예정입니다. 누구나 무료 사전 등록을 통해 참여할 수 있으며, 한국어, 영어, 일본어 실시간 통역이 제공되어 글로벌 기술 트렌드를 깊이 있게 파악할 수 있는 기회를 제공합니다. **Tech-Verse 2025 행사 개요 및 참여 방법** * **일정 및 방식**: 2025년 6월 30일(월)부터 7월 1일(화)까지 매일 오전 10시에서 오후 6시 사이에 진행되며, 전 세션 온라인 스트리밍으로 생중계됩니다. * **참여 대상**: 공식 사이트에서 사전 등록만 하면 누구나 무료로 시청할 수 있어 접근성이 높습니다. * **글로벌 협업**: 한국의 LINE Plus를 비롯해 일본, 대만, 베트남 등 LY Corporation 그룹사 전체의 엔지니어, 디자이너, 프로덕트 매니저가 참여하여 폭넓은 기술 생태계를 다룹니다. **12개 분야의 방대한 기술 세션 구성** * **일자별 트랙 구성**: 1일 차에는 AI, 보안, 서버사이드, 프라이빗 클라우드 등 인프라 중심의 세션이 배치되며, 2일 차에는 AI 유즈 케이스, 프론트엔드, 모바일 앱, 디자인 및 제품 관리 등 사용자 접점 기술을 중점적으로 다룹니다. * **다국어 지원**: 총 127개의 세션에 대해 3개 국어(한/영/일) 실시간 통역을 지원하여 언어 장벽 없이 기술적 디테일을 학습할 수 있습니다. * **핵심 테마**: 최근 IT 업계의 화두인 생성형 AI의 실무 적용과 고도화된 보안 전략이 전체 컨퍼런스의 중심축을 이룹니다. **분야별 주목해야 할 주요 기술 사례** * **AI 및 데이터 파이프라인**: 단순한 코드 작성을 넘어 전문적인 AI 코딩 프로세스로의 진화와 생성형 AI를 활용한 데이터 파이프라인 구축 및 분석 자동화 사례가 소개됩니다. * **인프라 및 서버사이드**: 'Central Dogma Control Plane'을 활용해 수천 개의 마이크로서비스를 연결하는 대규모 인프라 관리 기법과 LINE Call의 영상 품질 개선을 위한 서버 기술이 공유됩니다. * **앱 개발 및 사용자 경험**: 배달 서비스 '데마에칸(Demae-can)'의 개발 환경을 React Native에서 Flutter로 전면 교체한 과감한 이행 전략과 데이터 기반의 LINE Talk 사용자 인사이트 도출 과정이 포함되어 있습니다. **참여 권장 및 실용 가이드** 최신 기술 트렌드와 대규모 서비스 운영 노하우를 얻고 싶은 개발자라면 Tech-Verse 2025 공식 사이트를 통해 관심 있는 세션을 미리 타임테이블에 등록해 두는 것이 좋습니다. 특히 현업에서 AI 도입을 고민하거나 대규모 트래픽 처리를 위한 인프라 구조를 연구하는 엔지니어들에게 실질적인 기술적 영감을 줄 것으로 기대됩니다.