당근마켓의 클라우드 관리 방식?
당근마켓 같은 규모 있는 스타트업의 클라우드 관리 방식 궁금하지 않으신가요?
최근에 당근마켓에서 당근마켓의 클라우드 관리 방식을 공개하는 세미나가 있었어요. 주 내용은 당근마켓의 SRE팀(클라우드 서버 인프라 관리팀)이 발표한 당근마켓의 사내 개발자 플랫폼 Kontrol에 대한 것이죠.
서비스 개발을 위한 클라우드 인프라 관리에 관심 있는 메이커 여러분이라면 당근마켓의 클라우드 관리 방식에 대해 나눈 고민과 그 결과물을 살펴보는 것은 도움이 될 거라고 생각해서, 아래에 발표내용을 요약했습니다! (출처 : https://youtu.be/JWR8pEPimsY)
1. 배경
회사의 개발자는 서비스 개발직군과 인프라관리 직군으로 나뉜다.
서비스 개발자가 작업할 서버를 SRE팀에 요청하면 SRE팀에서 인프라세팅(AWS) 작업 후 요청한 엔지니어에게 전달하는 방식
하지만 두 직군 사이에 대립되는 입장차가 존재한다. 서비스 개발자는 빠른 변경과 다양한 시도를 원하지만, SRE팀은 안정적 운영과 보안 관련 승인 및 일관된 정책적용 관리를 원함
대안의 필요성 인식
당근마켓은 기존의 방식이 양쪽 모두에게 불편하다는 결론에 이르게 됨
- SRE팀은 개발직군에게 인프라를 만들어주는 일만 하고 있을 수는 없다 -> 늦은 대응으로 이어짐
- 당사자가 신청 또는 개설을 잊고 있거나, 당일 이벤트를 위해 갑자기 요청이 들어오는 경우 바로 대응이 안될 수 있다
- 그리고 조직이 점점 커지고 있어서 SRE팀의 업무가 과중되고 있다.
대안으로 개발자 플랫폼을 선택
기술의 발달로 인프라 및 아키텍처가 점점 복잡해지면서 개별 엔지니어가 직접 인프라를 다루기엔 인지부하(cognitive load)가 점점 커진다는 부담(=개발효율의 저하)을 플랫폼이라는 추상화된 형태로 인지 부담의 선을 정하여(다 알 필요는 없고 어디까지만 알면 된다는 선) 해결할 수 있다고 판단
따라서 대안으로 서비스 개발자에게 플랫폼을 제공하는 방식을 선택(Develper Self-Service, SRE팀을 거치지 않고 서버 사용)
- 일관된 정책을 적용한 상향 평준화 된 플랫폼 제공으로 서비스 개발자의 입장과 SRE팀의 입장을 동시에 충족
결과물(당근마켓 사내 개발자플랫폼 Kontrol)
직접 개발한 Kontrol은 배포툴인 GoCD를 기반으로 만들었으나, 최근 Argo CD workflows로 교체.
생성된 프로젝트의 Ownership관리를 Katalog, 비용 시각화를 위한 Kost, 개발자가 직접 리소스를 관리할 수 있는 Krp라는 서비스도 직접 개발.
결국 당근마켓의 개발자들은 위의 기능들이 탑재된 Kontrol이라는 단일 UI의 개발자 플랫폼을 통해서 서비스 개발에 관한 통합적인 관리를 할 수 있게 된다.
5. 개발자 플랫폼을 구축해서 얻은 이득
인프라 작업 요청 감소
-> self-service로 서비스 개발자는 서버개설을 기다리지 않고 바로 개발, 인프라팀은 작업 요청 감소로 업무 부담 완화디버깅 시간 감소
-> 동일한 모양(설정)의 서비스가 생성되기에 디버깅할 범위가 줄어듦
설정 변경 시 일괄 적용 및 통일된 인프라
개별 조작 없이 한 번의 명령으로 전체에 적용
-> 개선된 효율성으로 확보된 시간을 서비스 개발에 투여할 수 있음
댓글
로그인 후 댓글을 남길 수 있습니다.
아직 댓글이 없습니다.