PE(Productivity Engineering)팀에서 PIPE를 개발하고 있습니다.
LINE DEVELOPER DAY 2021에서 이승 님이 발표하신 PIPE: 더 나은 개발자 경험을 위한 CI/CD 세션 내용을 옮긴 글입니다. 안녕하세요. LINE Plus Productivity Engineering 팀의 이승이라고 합니다. 이번 글에서는 저희 팀에서 쿠버네티스 기반으로 만든 PIPE라는 솔루션을 소개하겠습니다. PIPE는 CI/CD에 런타임을 통합한 일종의 에코 시스템으로, 개발자의 생산성을 향상시키고 좀 더 좋은 개발자 경험을 제공하는 것을 목표로 개발한 솔루션입니다. 이번 글은 PIPE가 어떤 솔루션인지 알아보고, 저희가 서비스 수준을 향상시키기 위해서 어떤 노력을 하고 있는지 말씀드린 뒤, 마지막으로 앞으로 계획하고 있는 로드맵을 설명드리는 순서로 진행하
LINE에서는 개발자가 개발에만 집중할 수 있도록 개발 외의 인프라 관련 업무를 대신 수행해 주는 Kubernetes 기반 서비스 Nucleo를 자체 개발하여 LINE 내부용으로 사용하고 있습니다. Nucleo에는 현재 800여 개의 앱이 약 4,000개의 pod로 서비스되고 있는데요. 앱의 개수는 계속 빠르게 증가하고 있습니다. 모든 워크로드는 개발 구역(region)에 약 60대, 운영 구역에 약 80대가 설치된 PM(physical machine)과 VM(virtual machine)으로 운영하고 있으며, 그 외에 Nucleo 개발용 클러스터가 약 3~40개, feature 테스트용 노드 3개로 이루어진 미니 클러스터 약 20~30개 가량이 구동되고 있습니다. 이렇게 다수의 Kubernetes 클러스터를 운영하기 위해서는 빠르고 안정적으로 Kubernetes