글쓰는 개발자/회고

[2023년 3월 회고] - 4월 마지막 주에 쓰는 3월 회고

뒷골목프로그래머 2023. 4. 24. 08:46
반응형

지난 달 회고를 작성하면서 분명히 습관화 해야지... 해야지... 하면서도 이렇게 늦게 쓰게 되었습니다. 4월 마지막 주에 써버리면 마치 이 회고는 3월 회고가 아니라 3월 ~ 4월 셋 째 주를 포함하는 회고가 될 것 같아서 캘린더와 Gitlab commit log를 보며, 최대한 3월의 느낌을 반영 하려 합니다.(미리 써야겠습니다...)

 

 추후 진행 할 업무에 대한 PoC로써 kubeFlow PipleLine 으로부터 전달받은 Metric을 Kafka Broker로 전달하고 Python Websocket에서 subscribe하여, 클라이언트로 전달하는 기능을 완성했습니다. 그리고 동시에 Elastic Search, Kibana 또한 연동 되었구요. 이 과정에서 저는 Python Websocket으로 Kafka Broker에 붙고 클라이언트에 Metric을 실시간으로 전송하는 기능을 만들었습니다. 결과적으로는 ElasticSearch와 Kibana를 사용하면, 제가 구현한 기능은 필요없을 것 같다는 생각이 들었습니다. 동료와 함께 구현하면서 그간 많이 들어는 봤지만 실무에서 접하지 못했던 기술에 대한 체험(?)을 할 수 있었던 시간이었습니다.

 

 하지만 이 시간 동안 아쉬운 점도 많이 있었습니다. Trial & Error를 반복하면서 어떻게든 시스템을 구축했지만 뭔가 근본적인 지식이 쌓이지 않는다는 느낌이 들었습니다. 실제 Kafak, ElasticSearch를 운용한다면, 최소 3대 이상의 서버를 갖춘 상태에서 하는 것을 권장하는 데 단일 Host에서 Docker Container로 띄워서 하다보니 Tutorial 수준에 멈춰있다는 느낌을 많이 받았습니다. 언젠가 만들 제품에 필요한 선행 기술 연구의 일환으로 진행한 프로젝트이지만 과연 선행 기술이 축적이 되었는가에 대한 의문은 남았습니다. 제대로 이해하지 못했기 때문에 틈 나면 블로그에 글을 써보려 하는 저도 모르는 기술을 소개 할 수는 없는 노릇이었습니다. 여러모로 표면적으로 완수했지만 찝찝한 프로젝트 였습니다. 그리고 Backend 개발자로서 근 미래에 인프라 구축 역할을 맡을 일이 있을까? 하는 의문도 들어서 언제 찝찝함이 해소될 지는 모르겠습니다.

 

 그럼에도 불구하고 3월의 가장 큰 성과라면, Python Concurrency에 대해서 어느 학습 및 실험을 진행하고 동료들에게 설명하는 시간을 가졌다는 것 입니다. Multi Thread, AsyncIO, Multi Processing 을 직접 Image Resize를 통해 비교하고 세미나를 진행하면서 스스로 고민하던 문제도 해결되었습니다.

 

 그리고 Base Django Project를 고도화 하면서, Celery + Redis 를 활용한 분산 비동기 작업 처리 기능, Email 발송 처리 를 추가하였습니다. 지속 업데이트를 통해 조만간 착수 하게 될 사내 프로젝트를 제가 개발한 Base Django 로 바로 시작할 수 있도록 할 것 입니다.

 

 4월이 끝나기 1주일을 남기고 3월 회고를 쓰다보니 정상적이라면 1주일 뒤에 다시 회고를 작성하게 생겼습니다. 그 때는 늦지 않게 바로 작성해보겠습니다.

반응형