회고모음

2월회고록

악분 2022. 2. 27. 17:02
반응형

2월에는 엔지니어링, 업무&인력관리, 개발분야이 많은 일이 있었습니다. 그 중 개발분야를 회고로 남기려고 합니다.

 

1. 처음으로, 혼자 개발설계하고 배포까지 완료한 프로젝트가 생기다

드디어, 처음으로 업무에서, 혼자 개발설계부터 배포까지 끝낸 프로젝트가 생겼습니다. 대외비여서 상세하게 외부에 공개할 수 없어 아쉽습니다 ㅜ.ㅜ

 

2. 프로젝트 주제

프로젝트 주제는 “쿠버네티스 클러스터에서 사용하지 않은 pod를 중지하는 서비스”입니다. CPU, RAM, GPU자원을 차지하고 사용하지 않는 서비스가 많아 강제로 pod를 중지하는 서비스가 필요했습니다.

 

3. 개발언어

매일 또는 일정시간마다 실행되야되서 배치타입으로 서비스를 개발했습니다. 언어는 파이썬을 사용했고 배치 라이브러리는 appscheduler 파이썬 패키지를 사용했습니다.

 

4. 기획과 요구사항 정리

요구사항은 고객님이 명확하게 정리해주셔서 어려운점은 없었습니다. 기획이 어려웠는데, 배치가 실행될때마다 바로 pod를 종료할 것인가, 종료에 대한 유예시간을 줄 것인가, 어떻게 알림서비스를 구현할 것인가 등의 대한 토론이 진행되었습니다. 기획만 약 1달정도 소요되었습니다. 

 

5. 개발 설계

배포 후에 잦은 기능 변경을 위해 객체지향 설계와 개발을 진행했습니다. 인터페이스를 설계하여 기능을 추상화하고, 추상화 세부내용은 상속한 자식 클래스에서 구현했습니다. 추상화의 장점때문에 추상화 된 세부내용을 다른 객체에서 수행할 수 있었습니다.

 

객제지향 설계는 udemy강의를 들었습니다. 아직 30%밖에 못들었는데 언제 다 듣지!. 객체지향 설계가 궁금하신분은 이 강의 추천드립니다. 언어는 JAVA지만 언어상관없이 매우 좋은 강의입니다.

 

6. 사용하지 않는 pod찾기

개발에 가장 큰 핵심은 어떻게 사용하지 않는 pod를 판단하냐인데, 프로메테우스 쿼리를 사용했습니다. 데이터 분석가와 같이 프로메테우스 쿼리 결과를 분석하였습니다. 자세한 내용은 대외비여서 세부 내용은 생략하겠습니다.

 

7. 데이터 분석 파이프라인

데이터 분석을 쉽고 빠르게 하기위해 데이터 분석 파이프라인도 만들었습니다. 쿠버네티스 JOB을 이용했습니다. 데이터 분석을 하기 위한 데이터 분석가와 많은 커뮤니케이션을 진행했고 너무 즐거운 시간이었습니다.

 

8. 힘들었던 점

가장 큰 힘들었던 점은 필요한 정보를 찾기위한 커뮤니케이션이었습니다. 외부 open api(slack 등)를 사용하지 않고 파견간 기업내부 API를 사용해야 했기 때문에, 누가 담당하고 어떻게 대화해야 내가 원하는 정보를 얻을 수 있을까 등 많은 커뮤니케이션 과정이 있었습니다. 잘못 물어봐서 많이 혼났던 과정이... 있었습니다

 

두 번째는 사수 없이 하는 거다보니 맞게 하고 있는지 판단할 수 가 없었습니다. 배포 후 서비스가 잘 돌아가지만, 설계가 맞게 되었는지, 코드는 올바르게 작성하지 않았는지 등 판단해주는 사람이 없었습니다. 아쉽지만, 업무에서는 서비스가 동작만 하는지만 초점이여서 리뷰등은 스터디로 매꿀 예정입니다

 

세 번째는 배포 후 불편사항 접수입니다. 이 부분은 관리자가 주로 해결하고 있는 상황이어서 저에게 큰 애로사항이 아닙니다. 하지만, 개발이 끝이 아니고 운영이 진짜 시작이다라는 것이 체감이 왔습니다.

반응형