본문 바로가기
개발/개발잡담

주니어 개발자의 자동화에 대한 고민 / CICD, 개발, 자동화, 모니터링, 알람, 처리

by 치킨개발자 2023. 1. 5.
728x90

개발자와 자동화는 뗄레야 뗄수없는 관계인 것 같다.

아직 내가 개발을 잘하는 것도 아니고, 그렇다고 경험이 많은 것도 아니지만 항상 어떤 일을 하게되든 고민을 하게되는 포인트이다.

일을 하면서 계속 고민했던 부분에 대해서 정리를 해보려고 한다.

 

첫 CI/CD 적용


모 회사를 다닐 때.. 내가 맡은 업무 중 하나는 웹소켓서버였다.

대충 웹소켓 서버라고 하면 client랑 server가 계속 연결된 상태로 이벤트를 주고받는 서버라고 보면 될 것 같다.

어떤 서버인지는 사실 크게 중요한건 아니고..

당시에 AWS서비스를 썼기 때문에, AWS 서비스 중 Code Pipeline을 통해서 CI/CD를 처음 적용했다.

내가 처음 적용한 CICD 순서도

이렇게 CICD를 적용하기 전에는 서버에 직접 들어가서 git pull을 받고.. build도 하고.. 서버 종료 및 재시작하는 명령어도 직접 치고... 이런식으로 서버를 새로 배포하였다. 지금 생각하면 정말 답답한 나였다. 뭐 기존에 다른분이 그렇게 작업해서 그걸 그대로 인수인계 받기는 했지만 ㅋㅋ

그리고 또 서버가 단일 EC2에만 띄워진 상태이기 때문에, CICD를 처음 적용해보려는 나로써는 필요할때마다 직접 서버에 접속하여 배포하는게 더 편했다.

하지만 서비스가 조금씩 커지면서 단일 EC2가 아니라 여러 환경의 서버에 작업을 해야하는 상황이 생기다보니, 자동화에 대한 고마움을 느끼게 되었다.

추가로 조금씩 서버에 대한 알람을 붙이면서 모니터링과 알람에 대한 기초..? 정도가 잡혔다. 물론 이게 가르쳐주는 사람도 없고 중구난방으로 내 스스로 찾아서 적용하려다보니 좀 이상하게 생각한 부분도 있었던 것 같다.

이때를 지금 시점에서 다시 되돌아보면.. 혼자서 이것저것 해본게 기특하기도 하면서도, build나 deploy script에서 테스트나 확인하는 부분은 아무것도 없고 그냥 정상적인 케이스에 대해서만 무식하게 처리한거? 그런거는 좀 아쉬웠다.

 

자동화, 모니터링, 알람, 처리


작년 초 IT대기업으로 이직을 하고 업무를 진행하면서 내 스스로 많이 부족하다는 것을 더욱 더 느끼게 되었다.

왜 그렇게 느끼게 되었냐면, 일을 하다보니 자동화라는게 단어 그대로의 의미 이상으로 더 많은 것과 연계가 되어있다는 것을 느끼게 되서 그런 것 같다.

모니터링 스택 중 하나 Prometheus-Grafana의 Grafana Dashboard 예시

회사나 개발자들이 Kubernetes 클러스터와 대규모 서비스 및 서버를 많이 도입하는 상황에서, 모니터링 - 알람 - 분석 - 처리 이렇게 일련의 과정을 어떤 기준으로 자동화를 해야할지?

예를 들어 모니터링을 한다면 로그 모니터링도 있을 것이고, 리소스 모니터링도 있을 것이고 그 안에도 수십가지가 존재한다.

앞서 모니터링에 따른 알람도 어떻게 실시간으로 받을 수 있을지? 도 고민해야할 부분 중 하나일테고,

그리고 사람이 처음부터 직접 처리하는게 좀 더 효율적인 것도 있을 것이고,

분석하고 처리도 문제에 따라서 어떻게 처리해야하는지.. 이런것도 다 생각을 해야한다.

고민하고 해결해야할 문제가 한두가지가 아니라서 어렵고 생각을 많이하게 되는 부분 중 하나이다.

 

하나를 처리하는 것에 있어서도 다양한 포인트가 있을테고, 또 합의된 기준이 필요하고.. 그런 것 같다.

그리고 대학동기들과 이야기를 해봐도 앞서 말한 일련의 자동화라는 것은 어느 회사에서나 중요하게 생각하는 부분이고, 많은 방식으로 사내에서 지원과 개발을 하고 있는 것 같다고 느꼈다.

 

목표?


사실 목표가 정확하게 정해진 것은 아니다.

하지만 조금씩 방향성이라는게 잡혀가는 것 같아서 최근에는 만족스럽게 일하고 있는 것 같고, 앞으로도 더 열심히 고민해봐야겠다 라는 생각을 하게 되었다.

개발에만 집중하는 것이 아니라 이렇게 다양한 아키텍처나 중요한 포인트들에 대해서 생각해보고 나아가야겠다.

그리고 한번씩 이렇게 되돌아보면서 내가 잘하고있는지 봐야겠다.

뭔가 쓰고 싶었던 말은 많은데, 처음이라 잘 정리가 안된 것 같다. ㅋㅋㅋ 다음번엔 좀 더 정리를 잘 해야지..

반응형

댓글