더 나은 것

#computer #work

요즘 남는 시간에 컴퓨터를 만진다면 개인용 클러스터를 관리하는 작업을 한다. 오라클 클라우드의 인스턴스에 k3d로 생성한 Kubernetes Cluster인데 사실 클러스터라는 말이 무색하게 그냥 컴퓨터 하나 사용하는 Kubernetes 환경이 있는 것이다.

스타트업을 창업했을 때 일손이 부족한 가운데 급히 인프라 작업을 하면서 Kubernetes에 제품을 배포하기 위한 스크립트를 만들어 사용했다. 최대한 멱등적으로 만들어보긴 했지만 스크립트의 특성 상 절차적인 부분을 완전히 지울 수는 없었다. 게다가 환경변수를 통해 값들을 주입하는 부분이 많아 복잡했다. 내가 만들었으니 나는 이해할 수 있지만 이걸 처음 접하는 동료들은 어려울 수 밖에 없었다. 창업의 길에서 나와 새로운 회사에서 일할 때도 내게 맡겨진 건 인프라 작업이었는데 정해진 일정에 맞추기 위해선 이전 경험과 코드를 재활용 해야했다. 결과적으로 작업은 완수하였지만 작업의 내용을 동료들에게 전달하고 교육시키는 일이 쉽지 않았다.

이번에 잠시 짬이 나는 동안, 더 나은 방법을 찾아 적용해보고 있다. Helmfile + Helm Chart를 조합하면 내가 원하는 외부 Helm Chart들을 쉽게 설치할 수 있고 내가 원하는 Kubernetes 자원들도 나만의 차트를 만들어 설치할 수 있다. 사용해야 하는 도구는 Helm + Helmfile이 전부이며 이를 사용하기 위해 배울 것도 거의 없다. 차트 생성을 위한 지식만 갖추면 쉽게 원하는 자원을 추가할 수 있다.

이렇게 보통 더 나은 것들이 있다. 코드의 질, 제품의 질을 향상시키기 위해 늘 더 나은 것이 있는지 찾아보고 적용하는 것도 소프트웨어 엔지니어에겐 일상이다. 아, 그리고 사실 이 글의 목적 중 하나는 앞서 이야기한 것대로 Writefreely도 설치 방법을 변경했는데 잘 동작하는지 테스트하는 것이다. 문제가 없다면 이 글이 잘 올라갈 것이다.