adtech_so
171
2019-02-17 23:00:41 작성 2019-02-20 00:44:59 수정됨
2
3103

거대한 기술적 부채를 해결하기 위해서 걸어온 반년간의 이야기 (1)


어느 프로젝트건 누구도 건드리기 싫어하는 거대한 종양같은 기술적 부채는 하나씩 있기 마련입니다. 만약, 그것이 하나의 영역의 문제가 아니라 여러 영역을 거치며 고쳐야할 필요가 있다면 필요한 용기는 배로 늘어나겠지요. 물론, 각 영역을 담당하는 인원 수가 넉넉하다면 문제없겠지만 멤버 이탈이나 절대적인 인원이 부족한 상황이던 우리 팀은 저 혼자 감당해야 했고(물론 코드 리뷰해주시는 분들은 존재) 여러 시련과 장애물이 있었지만 결과적으로 크게 눈에 띄는 버그없이 기술적 부채를 해결하였습니다.


작년 8월 중순부터 올해 2월 중순까지 경험하고 느낀점에 대해서 간단하게 정리하고자 합니다.

- 영역별 배경지식

- OSS에 대한 이해

- 영향 범위 파악

- 일정 조정

- 비즈니스 멤버와의 커뮤니케이션


어쩌면 동일한 문제를 마주한 미래의 나에게, 혹은 당신에게 바칩니다.


0. 배경 이야기

2018년 8월 초순, CV 이후의 계측률 관련 서버 로그 스키마에 관한 버전 업 대응을 하고 있었을 때 눈에 들어온 것은 거대한 기술적 부채에 대한 회의록이었습니다. 이미 경쟁사들은 해당 기능을 런칭한지 꽤 지난 상태여서 우리 서비스도 대응하지 않으면 안되는 시점이었지만 기존 멤버의 이탈과 다른 멤버의 역할 변경(개발 -> 매니지먼트), 신규 서비스 기획 등 여러가지로 난해한 상황이었습니다.


그 시점에서의 저는 배속된 지 1년 조금 넘은 상태(2년차)로 다양한 영역의 작업을 받으며 해결해왔다지만 이번 거대한 기술적 부채는 또다른 차원의 작업이었기때문에 선뜻 Project Manager에게 하고 싶다는 의사를 내비추기에는 약간 망설여졌던 것이 사실이었습니다. 하지만, 팀 내에서 제가 기술적 부채 해결을 감당한다면 product 차원에서 적어도 제자리걸음은 하지 않을 것이다라는 동기 하나로 용기를 내어 도전을 하기로 하였습니다.


1. 인수인계

일단, 회의록 작성에 참가한 선임 개발자 두 분으로부터 대략적인 작업 순서나 확인 사항에 대해서 상담하는 시간을 가졌습니다. 데이터베이스 스키마 수정이나 데이터 집계 쪽의 참조 변수 추가나 fraud 관련 migration 작업은 거의 완료된 상태였고, 대략적으로 앞으로 내가 해야 하는 작업은 아래와 같았습니다. (하지만, 모든 개발이 그렇듯 아래의 일정대로 흘러가지 않았고 여러 곳에 함정이 존재)


1.1 작업 순서

- 발신 서버(Java)에 새로운 타입의 로그를 생성 후에 정기적으로 cloud storage에 전송하여 저장

- 데이터 집계(Spark)에서 새로운 타입의 로그를 대응

- 로직 관련 조사와 검증

- 집계의 결과물을 cloud storage에 전송하여 저장

- cloud storage로부터 데이터 베이스에 저장

- 관리화면(Rails)에 반영

- 계정 권한에 따른 표시 항목 제한

- 비즈니스 멤버에게 개발환경 계정 발행 후 테스트 기간 제공

- 정기적으로 외부 고객들에게 압축된 데이터를 제공하는 작업(Shell)을 수정

- 비즈니스 멤버쪽에서 사용되는 데이터 수치 통지 작업(Luigi) 수정


1.2 확인 사항

- 사내 서비스나 외부 서비스에 영향이 있는 부분이 있으므로 사전에 파악하여 정리

- Big Query의 dataset 정리 및 expiration time 설정

- revert가 필요한 경우를 포함하여 작업 순서에 관련된 리뷰를 재차 받을 필요가 있음

- 관리 화면 쪽의 계정 권한이 chaos이기 때문에 관리화면 작업을 들어가기 전에 전체적으로 정리할 필요가 있음


확인 사항에 관련된 내용을 작업 순서에 추가하여 리뷰를 받았고, 8월말부터 본격적인 작업에 들어가기 시작했습니다.

2
0
  • 댓글 2

  • j2doll
    521
    2019-02-18 22:45:22

    시리즈 물인가요? 다음글 기대 됩니다. 추천 하나

    0
  • adtech_so
    171
    2019-02-18 22:52:36 작성 2019-02-18 22:53:09 수정됨

    j2doll 넵, 시리즈 물입니다! 방금 2편 올렸습니다. 감사합니다.

    0
  • 로그인을 하시면 댓글을 등록할 수 있습니다.