Tech

엔지니어가 경험한 숨고, 온보딩부터 실무까지 : DevOps

숨고의 온보딩 프로세스를 경험하고 업무를 함께하며 경험한 것들을 소개합니다

2023-11-13 Lyon Yi

Intro

안녕하세요. 숨고의 DevOps Engineer Lyon입니다.

이 글에서는 숨고의 DevOps Engineer로 합류하며 느낀점과 업무를 파악한 과정에 대해 소개하고자 합니다.

DevOps Chapter는 Tech Team*에 속해 있는데요. 그 중 DevOps Chapter는 숨고 서비스를 안정적으로 운영하기 위한 인프라와 트래픽을 책임지고 있습니다. 개발 생산성을 증진시키기 위한 배포 파이프라인을 고도화하고 시스템 엔트로피를 감소시키기 위한 표준을 제공합니다. 그 외에도 개발 간 사일로를 제거하고자 끊임없이 노력하고 개선하며 함께 성장하는 문화를 만들어가고 있습니다.

*숨고의 Tech Team은 이 포스팅에서 보다 자세히 확인해 보실 수 있습니다.

Tech Team의 비전과 방향성에 비추어 볼 때, DevOps Chapter의 역할은 개발 과정에서 나올 수 있는 여러 문제들을 함께 고민하며 해결해 나아가고, 자율적인 조직 문화 속에서 자유로운 커뮤니케이션과 피드백을 통해 함께 성장하는 문화를 만들어 나아가는 것이라고 생각합니다.

Details Onboarding

숨고에서의 새 출발을 기원하는 Welcome Card

입사 전 받아보았던 Welcome Card는 입사를 하기 전부터 함께하게 될 동료들의 매력을 엿볼 수 있는 소중한 경험이 되었습니다.

저를 향한 격렬한 환영들... 너무 화기애애하죠?
저를 향한 격렬한 환영들... 너무 화기애애하죠?

두근두근 입사 첫 날

긴장감 1억% 첫 출근 일정
긴장감 1억% 첫 출근 일정

숨고 입사 첫 날, 설레는 마음으로 오피스에 도착해 People 팀과 함께하는 온보딩 미팅을 시작으로 숨고에 대해 알아가는 시간을 가졌습니다. 이후에는 제가 앞으로 업무하게 될 공간에 대해 안내를 받았고 필요한 사항들을 체크하며 업무 상태를 갖추는 시간이 이어졌습니다.

Workshop

COVID19 이후 진행하지 못하였던 워크샵을 입사하고 얼마 지나지 않아 진행하게 되었습니다.

People팀에서 세부적인 계획을 준비해주신 덕분에 숨고멤버 모두가 어울리며 즐길 수 있는 자리가 만들어질 수 있었습니다. 보통 회사에서 진행하는 워크샵을 생각하면 일을 해야한다고 생각하는데 그런 걱정 없이 모두가 마치 휴양지에 온 것처럼 편하게 즐길 수 있었던 워크샵이었습니다.

특히 다양한 경품과 포상휴가가 주어지는 이벤트에 참여하며 함께했던 조원들과 친밀해지는 계기가 되었는데요. 이런 활동들이 숨고의 건강한 발전과 성장에 밑거름이 될 만한 의미있는 워크샵이었다고 생각합니다.

점심엔 뭐드세요?

image

숨고는 점심시간을 자유롭게 활용합니다.

숨고의 점심시간은 오후 1시부터 2시까지인데요. 저는 주로 Tech Team 소속의 DevOps Chapter와 Back-end Chapter, DataOps Chapter 분들과 점심시간을 함께 합니다.

푹푹 찌는 여름 날씨나 쌀쌀한 겨울, 또는 비가 쏟아지는 장마철에는 밖에 나가지 않고 함께 주문하기 버튼을 눌러 배달을 시켜 먹기도 합니다. 특히 이런 날에는 오피스에서 다 같이 라운지에 둘러앉아 편안하게 대화하며 식사하는 시간을 가집니다.

DevOps Onboarding

숨고의 웰컴 키트
숨고의 웰컴 키트

숨고의 Master Documents는 Atlassian의 Confluence를 활용합니다.

DevOps Chapter 스페이스에 마련된 신규 입사자를 위한 공간, 그리고 챕터원들과 함께 한 DevOps Chapter Onboarding 미팅을 통해 저는 숨고의 DevOps가 일하는 방식을 알아가게 되었습니다.

제가 DevOps Chapter에 합류하면서 가장 먼저 파악한 것은 해당 분기에 논의할 주제들을 선별하는 것이었습니다.

2023 Q2 DevOps Actions Items Discussion 이라는 제목으로 DevOps Chapter에서 개선하거나 적용해볼 만한 주제들을 선별하였고 이를 바탕으로 챕터원들과 함께 자유롭게 논의하였습니다.

내용 중 일부를 공개합니다.

image

이 논의에서 저를 포함한 DevOps Chapter의 구성원들은 선별한 여러 주제를 Reach, Impact 등 다양한 관점에서 바라볼 수 있었습니다. 또 자유로운 토론을 통해 서로가 생각하지 못했던 점이나 숨고의 인프라 구조를 보다 효율적으로 만들기 위한 여러가지 고민을 나누는 뜻깊은 시간이 되었습니다.

특히 신규 입사자의 의견을 적극 수용하고 서로가 생각하는 방향성에 대해 함께 의논하는 숨고의 개발 문화를 경험하게 된 것은 매우 인상적이었습니다. 구성원들이 자유롭게 의견을 나누면서 다양한 문제들을 다루고 업무를 자율적으로 진행할 수 있도록 세심하게 배려해주신 덕분에 숨고에 적응하는데 큰 도움이 되었습니다.

image

숨고 DevOps의 비전 (DevOps 문화를 실현하는 숨고)

숨고가 실현하고자 하는 DevOps의 문화란?

Ted

  • 개발자들간에 원활한 소통을 통해서 서비스를 함께 개선할 수 있다.
  • 숨고 서비스 개선을 위해서 능동적으로 R&D 하고 적용해볼 수 있는 기회가 있다.

Lyon

  • 엔지니어가 서비스를 만들고 운영할 수 있는 인프라 환경을 개발하고 문화를 조성한다.
  • 개발부터 운영까지 인프라 환경에서 발생할 수 있는 모든 과정에 대해 보안을 고려한다.
  • 최적화된 환경을 제공하여 비용 효율적으로 인프라를 운영한다.

이렇게 숨고 DevOps Engineer 모두가 생각하고 정의하는 DevOps 문화를 실현할 수 있도록 나아갈 방향을 잡고 도전하는 것이 숨고 DevOps의 비전입니다.

이러한 비전을 가지고 나아가는 이유가 무엇인가요?

점점 다양해지는 환경의 업무 방식들 속에서 각 개발팀들이 스스로 업무를 할 수 있는 환경을 만들고자 하기 때문입니다. 다양한 환경에서 안정적으로 더 빠르고 많은 것들을 할 수 있는 조직을 만들어 가는 것. 이런 방향성을 가지고 나아가는 것이 숨고의 DevOps 문화를 만드는 것이라고 생각합니다.

image

숨고의 DevOps는 이렇게 일해요. (저는 이렇게 일해요)

💡 문서 충실도 3원칙

  • The summary of issue must be comprehensible by the organization who share goals without referring to appendices.
  • Based on the master document, organization who share skills must be able to reproduce the results without major trial and error and be able to rework it.
  • The above two principles should be able to be met without further explanation.
    • Document review with silence will help.

저는 문서 충실도 3원칙(3 Principles of document fidelity)을 준수하는 것은 내 자신과 조직을 위해 반드시 필요한 것이라고 생각합니다.

조직의 누구나가 쉽게 알아볼 수 있도록 작성하는 것은 쉬우면서도 어려운 것이죠. 그래서 숨고의 DevOps는 다양한 수단을 활용하여 업무들을 기록하며 풀어 나아가려 합니다.

Troubleshooting이나 Bugfix 등 여러 이벤트들이 발생할 때, 관리 포인트가 너무 많으면 작업이나 문제 해결이 어디에서 진행된 것인지 파악하기 어려워져 히스토리를 추적, 관리하는 것이 버겁고 힘들어집니다.

누군가가 특정 키워드로 어떤 포인트에서 작업했는지 알 수 없기 때문에 우리는 투명성을 갖추어야 합니다. 때문에 DevOps Chapter는 기본적으로 Jira를 활용한 문서 중심의 개발(Documentation Driven Development) 업무를 진행합니다.

문서의 작성자는 건강하고 투명한 개발 문화를 만들어 나아가기 위해 지속적으로 관리하고 노력해야 한다고 생각합니다.

Slack의 Thread에서 시작된 일을 예로 들면, 목적에 따라 Epic, Story, Task, Bug 등으로 구분하고 이에 대한 Proposed methods나 Result & Analysis와 같은 As-is, To-be의 근거가 될 수 있는 자료들을 Notion이나 Confluence에서 정리될 수 있어야 한다고 생각합니다

이렇듯 기본적인 것을 지킨다는 생각에서 시작해 숨고의 DevOps Chapter는 챕터 구성원 각자가 생각하는 비전을 목표로 Documents를 활용하여 DevOps 문화 개선을 위해 노력하고 있습니다.

또한 DevOps Chapter는 Back-end Chapter와 긴밀한 관계를 유지하고자 하는데요. Back-end Chapter가 배포 프로세스에서 느끼는 불편한 점이나 개선되었으면 하는 것들이 있다면 이에 대해 지속적으로 소통하며 개선해 나아가고 있습니다.

예를 들면 ConfigMap이나 Secret 값의 변경으로 인해 Restart가 필요한 서비스들이 다수인 경우라면 번거롭기도 불편하기도 하죠. 테스트를 해야 하는데 반영이 되었는지부터 확인해야 하는 상황이 생기기도 하고요.

이외에도 CI/CD 단계에서 발생하는 휴먼 에러라던지, 빌드 ENV를 잘못 지정했다던지 하는 크고 작은 이슈들을 최소화하면서 안정적이고 효율적인 배포 환경을 만들어가기 위해 Back-end Chapter와 꾸준히 소통하고 있습니다. 이런 과정이 숨고 Tech Team의 더 나은 개발문화를 위한 발판이 되어 함께 성장하는 조직 문화가 될 것이라 생각합니다.

뿐만 아니라 DevOps Chapter는 Stand-up Meeting을 매주 진행하고 있습니다.

image

미팅을 시작하기에 앞서 다루고자 하는 주제를 정해놓고 미팅을 진행합니다. 이 외에는 이번 주에 진행한 업무에 대해 서로 공유하고, 최근 관심사에 대해 소통하는 시간을 가집니다.

미팅에서 현재의 상황에 맞는 다양한 Action Items를 떠올려 도출하는 논의 과정들을 통해 건강한 DevOps 문화를 만들고 지속적으로 발전할 수 있는 시간이 되도록 노력하고 있습니다.

최근에는 이러한 시간을 통해 노드 오토스케일링 성능 개선 및 안정성에 대한 논의를 하여 Action Item을 도출하게 되었는데요. 이에 대한 상세 내용을 숨고의 AWS Warmpool 적용 이후, 알게된 것들과 개선을 위한 Actions이라는 주제로 포스팅할 계획이니 저의 다음 포스팅을 기대해주세요!

DevOps Retrospective

DevOps Chapter는 Back-end Chapter와 함께 KPT 방법론*에 의한 회고를 진행 합니다.

  • Keep: 잘하고 있거나 좋았던 점
  • Problem: 문제라고 생각되거나 개선해야 한다고 생각하는 점
  • Try: 문제를 해결하기 위한 다양한 방법

*Keep, Problem, Try의 세 가지 관점으로 분류하여 회고하는 방법론

Back-end Chapter와 함께 회고하며 서로의 Needs나 기술적인 토론 등을 통해 상호 보완적인 건강한 교류를 하는 문화를 만들고 있습니다.

특히 DevOps Chapter는 이 자리를 통해 Back-end Chapter와 긴밀하게 움직이는 서로의 업무 영역을 이해하고 업무의 전문성을 높이고 있습니다.

또한 이러한 교류를 바탕으로 자연스럽게 개발 과정에서 불편했던 점들이나 개선이 필요한 사항을 빠르고 정확하게 들을 수 있어 견고한 DevOps 문화를 만드는데 큰 도움이 되고 있습니다.

Outro

업무나 근무환경, 복지 제도는 회사마다 차이가 있겠지만 숨고의 문화와 자유로운 분위기, 멤버들간의 뛰어난 단합력과 유대감은 숨고만의 특별한 매력이라고 생각합니다.

이러한 숨고의 다양한 문화들을 경험하면서 저 또한 숨고멤버가 되었다는 느낌을 받았습니다.

온보딩을 하는 기간동안 숨고의 많은 것들을 느끼고 배우게 되었으며 앞으로 숨고에서의 DevOps 생활이 더욱 기대됩니다.

뛰어난 동료들과 함께 성장하며 지난 날들을 돌아보았을 때 한 치의 후회가 남지 않도록 저는 앞으로도 숨고와 함께하며 더욱 건강하고 발전해 나아가는 문화를 만들고자 노력할 생각입니다.

저와 함께, 그리고 DevOps Chapter와 함께 문화를 만들어갈 당신! 거기 계신다면 지금 바로 여기로 오세요.

지금까지 긴 글을 읽어주셔서 감사합니다.

Lyon Yi Soomgo DevOps Engineer
숨고의 인프라를 책임지며 건강한 개발문화를 만들어가는 DevOps의 Lyon입니다.