넘블 딥다이브 후기

noname2048·2023년 5월 4일
1

프로젝트 참여 배경

해당 프로젝트는 23.03.31 에 서비스가 런칭된 넘블 플랫폼을 이용하였습니다. Kubernetes로 모니터링 시스템 구축하기 딥다이브 (4월 7일 시작) 프로젝트의 일환으로 회고록을 위해 작성된 글입니다.

벡엔드 신입으로 일하면서, 관련된 devops 과정이 신기하고 궁금했습니다. 특히 스타트업에서 일하면서 devops 쪽 모니터링이 있으면 좋겠다는 생각을 몇번 했습니다. 비록 일하면서 사용자가 거의 없었기에 서버나 DB에 리소스 부족이나 모니터링에 대한 니즈는 중요한 것이 아니였지만, 배워볼 기회가 생겨 응하게 되었습니다.

아래 글은 과정 및 회고를 위해 적은 글이며, 처음 접한 지식을 조사하면서 작성하였기에 혹시나 오류가 있을 수 있습니다. 주변 지식이나 검증을 통해 습득하시길 추천합니다.

진행 과정과 결과

초기에 열정을 불타오르며 참여를 약속한 것과는 달리, 프로젝트 진행도중 회사를 퇴사하게 되었습니다. 이에 여러가지 일을 동시에 진행하다보니 프로젝트를 마무리 짓지 못한 것이 아쉽습니다. 그래도 과제명세가 남아 있는 만큼, 제가 공부할 수 있는 만큼 조금씩 진행 할 수 있도록 노력을 할 예정입니다.

프로젝트는 총 4주차 과정으로 1) k8s 구성하기, 2) argocd 사용하기 3) 로깅하기 4) 지표 모니터링 등으로 이루어져 있는데, 2주차의 절반정도까지 진행한 것 같습니다.

이 프로젝트에서는 4개의 팀이 존재했고, 저는 개인으로 참가하기를 선택했습니다. 다른사람과 다같이 하면 정말 좋았을 것 같습니다. 다만 만일의 경우 프로젝트를 다 진행하지 못할 거란 예상이 있었고 혼자서 해내보고 싶었기에 선택을 후회하진 않습니다.

과제를 진행하면서 겪었던 문제들

생각했던 것보다 더 많은 문제들이 있었고, 특히 과제와 주어진 가이드라인에서는 상세하게 하나하나 알려주는 것이 아닌, 중간중간의 결과물만 알려주는 식으로 나침반 역할을 하였습니다. 이 과정을 하나로 연결하고자 찾아나가고 조사하는 과정이 마치 방탈출 게임처럼 즐겼던 것 같습니다.

다만 한번도 겪어보지 못했던 문제나, 다음 과정으로의 빠른 진행을 위해 더 공부할 거리가 많음에도 스킵해야할게 많았었었는데, 이해하지 못하고 넘어가는 것들은 결국 다음에 만날때 같은 상태로 만나기에 최대한 공부하려고 노력하였습니다. 이 과정이 속도를 늦추긴 했지만, 그래도 재미있었습니다.
'
예를 들어, 가이드라인에서는 http 로 모니터링 시스템을 가동할 수 있게 하였지만, 저는 최대한 https 를 지원하고자 하였고 이러한 점들에서 가이드라인과 다른 방향으로의 공부를 하게 되었습니다. 비록 목표를 달성하는 것은 실패했지만, 이 프로젝트를 시작하는 배경이였던 '공부를 하자'는 소기 목적은 어느 정도 달성 한 것 같네요 :)

그래서 어디까지 했는데?

  • 프라이빗 VPC 안에서 클러스터를 가동했습니다.
  • nginx, koa, fastapi, argocd 를 이용해서 웹 서비스를 제공합니다.
  • 각각의 사이트는 서브도메인을 통해 접근할 수 있습니다. (argocd.papperbottle.com)
  • 각각의 사이트는 https 연결을 지원합니다. (cert-manager 를 사용합니다.)
  • k9을 이용해서 deploy, cm, ingress, svc 등을 살펴보고 생성/수정할 수 있습니다.
  • argocd 를 설치하고 사용할 수 있습니다.

하지 못한것은 무엇인가?

  • argocd 를 이용해서 app of apps 패턴을 작성하지 못했습니다.
  • ELK 스택을 로그 수집에 적용하지 못했습니다.
  • grafana, prometheus 를 적용하지 못했습니다.

NCloud 후기

요번에 네이버 클라우드를 처음 사용해보았는데, 생각보다 꽤 괜찮다는 느낌을 받았습니다. 리소스나 카테고리의 분류가 회사에서 사용하던 GCP 와 똑같진 않지만 비슷한 형태를 띄어, 사용하기 편리하고 UI도 필요한 것을 위주로 배치하면서, 상세 설명에서는 작고 정보를 많이 띄워주는 형태로 한국인이 좋아할 만한(?) UI로 되어있었어서 정보를 얻기 수월했습니다.

특히, 줄 맞춤이나 관련된 리소스를 보는 것은 마음속의 편안함을 가져다 줄 정도로 UI가 이쁘고 빠릿빠릿 했습니다.

많이 찾아보는 기술 문서의 경우에도 비슷한 형태로 되어 있고, 예제와 같이 자세하게 설명이 되있기에 필요한 정보를 찾아 리소스를 구축해나가는데에 문제가 없었습니다.

아쉬운점은 GCP의 경우 비용을 합쳐 그래프 형태로 제공해주는데 네이버 클라우드는 그렇지 않았습니다. GCP 는 하루마다 지출된 비용, 총 비용에서 차지하는 비율, 같은 서비스라도 어떤 리소스가 가격을 더 많이 내게 했는지 등의 상세한 비용을 자동으로 그래프로 그려주고, 여러가지 옵션으로 비교할 수 있어 파악과 분석이 빠릅니다. 네이버 클라우드는 엑셀을 제공하긴 하지만 해당 기능이 없어 좀 불편했습니다. (빠른 시일 내에 추가되길 바래봅니다!)

생각해볼것

프로젝트를 진행하면서 만난 사람중에 쿠버네티스에 대해 공부하는 것이 스타트업에서 필요하지 않을 수 있다고 의견을 제시하는 분을 만났습니다. 왜냐하면 이미 upstash, railway 와 같은 좋은 서비스가 있기 때문인데요. 더불어 이러한 k8s를 돌리는데 한달간 약 40만원이 청구되는 것을 보면서 절대 k8s 서비스가 싼것이 아님을 다시한번 상기하게 됩니다.

높은 러닝커브와 비용을 감수하는 이유는 아무래도 스타트업에서 생기는 비용을 절약할 수 있을 때 효용성이 있을 것 같습니다. CI/CD 를 효율적으로 구성하고, WAS를 수요에 따라 조절할 수 있다는 장점은 매우 뛰어나지만, 초반 스타텁에서 정말 필요한 지식일까는 다시한번 생각하게 됩니다.

아직은 잘 모르겠지만, 그래도 이러한 데브옵스 분야로 진출하게 되면 꼭 필요한 분야라고 생각합니다. 이보다 좋은 간략화된 서비스를 구성하는 방법도 배워서 적당한 기술을 적절하게 써먹을 수 있도록하는 균형 잡힌 시야를 가지기 위한 노력도 아끼지 않아야 겠다는 생각을 해봅니다.

이러한 기회를 제공한 넘블측과 멘토에게 감사의 인사를 전하며 이만 글을 마무리하겠습니다.

profile
설명을 쉽게 잘하는 개발자를 꿈꾸는 웹 개발 주니어

2개의 댓글

comment-user-thumbnail
2023년 5월 30일

글 잘 읽었습니다 ㅎ0ㅎ
혹시 로그 수집은 주로 어떤 내용을 하시나요?

1개의 답글