본문으로 이동
궁극의 CI 환경을 만들기 위한 여정 | 2024 당근 테크 밋업
컨퍼런스

궁극의 CI 환경을 만들기 위한 여정 | 2024 당근 테크 밋업

당근 밋업 당근 · YouTube

원문 보기

AI 핵심 요약

stateless한 CI 환경에서는 빌드마다 캐시가 사라져 시간이 길어지는 문제를 해결하려고 원격 캐시를 시험했지만, 캐시 준비와 압축·전송 비용 때문에 일부 프로젝트에서는 오히려 빌드가 느려졌다. 이후 당근의 개발자 플랫폼 컨트롤이 배포 파이프라인을 유연하게 구성하는 점을 활용해, AWS EKS의 EBS 동적 프로비저닝으로 프로젝트별 스토리지를 연결하고 Docker BuildKit의 캐시 영역만 유지하도록 바꿨다. 이 방식은 전체 평균 빌드 시간을 30% 넘게 줄였고, 일부 프로젝트에서는 91% 감소했으며, 빌드 시간 지표를 제공해 개발자들이 Dockerfile을 개선하도록 유도했다. 다만 동시 빌드와 EBS의 가용 영역 간 공유에는 제약이 있어, 캐시 성능뿐 아니라 운영상의 한계도 함께 고려해야 한다.

  • 원격 캐시는 캐시 크기와 압축·전송 비용이 커지면 빌드가 오히려 느려질 수 있으므로 실제 프로젝트에서 검증해야 한다.
  • BuildKit의 `RUN --mount=type=cache`를 활용하면 레이어 캐시뿐 아니라 패키지 다운로드나 컴파일 과정의 캐시도 재사용할 수 있다.
  • 캐시만 보존하고 나머지 빌드 데이터는 초기화하도록 영속 스토리지의 마운트 범위를 제한하는 것이 중요하다.
  • Docker 캐시가 잘 작동하려면 Dockerfile을 캐시 재사용에 유리한 순서와 형태로 작성해야 한다.
  • EBS 기반 캐시는 동시 빌드와 가용 영역 간 공유에 제약이 있으므로, 팀의 운영 여건에 따라 Docker Build Cloud 같은 관리형 서비스도 검토할 수 있다.

소개

stateless한 배포 환경의 장점은 매번 일관된 환경에서 빌드를 수행할 수 있다는 거예요. 하지만 배포가 일어날 때마다 매번 환경이 초기화되기 때문에 캐시도 유지되지 않아서 빌드 시간이 길어지는 단점이 있어요. 여러분은 이러한 문제를 해결하기 위해 어떤 고민을 해보셨나요? 당근만의 특별한 방법으로 CI를 튜닝했던 여정을 들어보세요. 🥕 영상을 보고 당근에 관심이 생기셨다면 채용 공고를 확인해보세요! https://about.daangn.com/jobs/

비슷한 학습 자료

컨퍼런스 당근 밋업

당근의 성장과 함께 쌓아온 안정적인 인프라 구축과 운영 노하우를 당근 SRE 팀에서 공유해요. 사내 개발자 플랫폼 개발 경험, 관측가능성 구축 경험, 네트워크 개선 경험 등을 들어보세요! 🥕 당근 개발자 플랫폼은 어떻게 발전하고 있을까 (변정훈) 👉 발표 자료 보러가기: https://daangn.notion.site/SRE-c62abc2b6f0347a4ace9ee9cdfc49b6b#8afac52012304b20977c9299f8bca5f4 👉 당근 채용공고 보기: https://about.daangn.com/jobs/

데브옵스 · 인프라 개발 도구

컨퍼런스 당근 밋업

다들 한 번쯤 하루 종일 운영 업무만 하다 퇴근하신 적 있지 않으신가요? 당근에서도 처음에는 운영 업무를 수동으로 처리했지만, 점차 늘어나는 업무에 고생하고 있었어요. 당근 인터널 프로덕트 팀에서는 이런 문제를 엔지니어링으로 해결하고자 했는데요. 인프라 자동화에 관심 있으신 분들께 이 경험을 들려드릴게요. 🥕 영상을 보고 당근에 관심이 생기셨다면 채용 공고를 확인해보세요! https://about.daangn.com/jobs/

데브옵스 · 인프라

컨퍼런스 당근 밋업

“당근에 오신 걸 환영해요!” 당근의 프론트엔드 개발자로 입사한다면 어떤 개발 도구를 만나게 될까요? 지난 3년 간 쌓아올린 당근의 웹뷰 플랫폼을 여러분께 소개해요. git init부터 배포까지 생생한 라이브코딩과 함께, 웹뷰 플랫폼 구축에 대해 당근이 생각하는 Best Practice와 앞으로의 비전을 공유해요. 🥕 영상을 보고 당근에 관심이 생기셨다면 채용 공고를 확인해보세요! https://about.daangn.com/jobs/

웹 개발 프론트엔드

컨퍼런스 당근 밋업

갑자기 서버에서 모든 아웃바운드 통신이 실패한다면 사용자는 어떤 경험을 하게 될까요? 그리고 에러 알림을 받은 엔지니어는 어떤 행동을 해야 할까요? 당근페이 팀은 Kubernetes 환경에서 Istio service mesh를 이용해 네트워크를 관리하며 JVM 애플리케이션을 운영하고 있어요. 어느 날 특정 Pod에서 모든 외부 통신이 불가능한 현상이 발생했어요. 이 현상은 짧지 않은 기간 동안 지속되었고, 그때마다 원인 분석과 가설을 바탕으로 문제 해결을 시도했지만 끈질기게 재발했어요. 정확한 원인을 찾아 문제를 해결하기까지 다양한 성능 개선이 이루어졌는데, 내결함성(fault-tolerance)과 탄력성(resilience)을 갖춘 시스템을 만들기 위해 당근페이 팀이 어떤 노력을 하고 있는지 이 세션을 통해 소개할게요. 🥕 영상을 보고 당근에 관심이 생기셨다면 채용 공고를 확인해보세요! https://about.daangn.com/jobs/

백엔드 데브옵스 · 인프라 네트워크

컨퍼런스 당근 밋업

🥕 2026 당근 빌더 밋업 | SRE Day 하이퍼로컬, 가장 거대한 현장 4,300만 명이 가입한 서비스를 만드는 당근 빌더들은 어떤 문제를 풀고 있을까요? 하나의 프로덕트를 처음부터 끝까지 책임지고, 직군의 경계를 넘나들며 함께 답을 찾아가는 당근 빌더들의 고민과 시도, 성공과 실패의 경험을 솔직하게 나눠요. 기술과 도구가 달라지는 시기에도, 개발자가 개발에 집중하고 사용자가 서비스를 믿고 쓸 수 있도록 돕는 SRE의 역할은 변하지 않아요. 개발과 배포의 속도를 높이는 시도부터 인프라를 효율적으로 운영하고 서비스의 신뢰성을 지키는 과정까지, 당근 SRE가 현장에서 마주한 문제와 해결의 여정을 만나보세요. 👉 당근 채용 바로가기: https://careers.daangn.com/

데브옵스 · 인프라

컨퍼런스 당근 밋업

🥕 2026 당근 빌더 밋업 | SRE Day 하이퍼로컬, 가장 거대한 현장 4,300만 명이 가입한 서비스를 만드는 당근 빌더들은 어떤 문제를 풀고 있을까요? 하나의 프로덕트를 처음부터 끝까지 책임지고, 직군의 경계를 넘나들며 함께 답을 찾아가는 당근 빌더들의 고민과 시도, 성공과 실패의 경험을 솔직하게 나눠요. 기술과 도구가 달라지는 시기에도, 개발자가 개발에 집중하고 사용자가 서비스를 믿고 쓸 수 있도록 돕는 SRE의 역할은 변하지 않아요. 개발과 배포의 속도를 높이는 시도부터 인프라를 효율적으로 운영하고 서비스의 신뢰성을 지키는 과정까지, 당근 SRE가 현장에서 마주한 문제와 해결의 여정을 만나보세요. 👉 당근 채용 바로가기: https://careers.daangn.com/

데이터베이스 데브옵스 · 인프라