DevOps, 어디까지 파 보셨나요? (feat. Ethan)
다재다능한 매력으로 늘 긍정적인 바이브를 내뿜는 해치랩스의 비타민, Ethan은 해치랩스 DevOps 전반을 책임지고 있어요. DevOps가 어떤 직무인지는 지난 번 JooHyung의 인터뷰를 통해 간략히 알아볼 수 있었는데요, 오늘은 좀 더 심층적으로 DevOps 업무가 어떻게 이뤄지고 있는지 다뤄 볼 예정입니다.
Joy: 안녕하세요, 이든! 드디어 이든 인터뷰를 진행하게 되었네요. 오늘 인터뷰에서는 이든이 맡고 계신 광범위한 데브옵스 업무를 이든이 어떻게 처리하고, 대응하고 계신지 자세히 여쭤보려고 해요.
Q1. DevOps는 정의하기에 따라 업무의 영역이 굉장히 넓어질 수 있다고 들었어요. Ethan이 이제껏 담당해 온 업무의 영역에 구체적으로 어떤 일들이 포함되는지 궁금해요.
Ethan: 맞아요. 이 업무를 똑부러지게 정의하기는 어려워요. 그치만 시간이 지나면서 점점 윤곽이 보여요. DevOps 는 어플리케이션과 서비스를 빠른 속도로 고객에게 제공할 수 있도록 조직문화를 개선하는 업무에요.
간단히 예를 들어볼게요. 시스템 안정성 개선이나 보안 패치로 인해 점검 시간동안 배달 앱, 게임, 은행, OTT 서비스 등을 이용하지 못하게 된다면 어떨까요? 고객 입장에서 당장 중요치 않은 일로 기다려야 한다고 느끼기 때문에 굉장히 불만을 가질 거에요. 또 이런 일이 빈번하게 일어난다면 다른 어플을 찾아 떠날지도 몰라요. 만약 서비스 개선이나 보안패치가 업데이트 없이 빠르게 이루어진다면, 고객이 원하는 새롭고 중요한 기능들을 필요한 시점에 업데이트할 수 있게 되고, 고객들은 서비스 만족도가 올라가겠죠. 😊
이를 지속적으로 달성하기 위해 크게 다섯 가지 업무들을 해요.
- CI/CD 배포 파이프라인 개선을 통해 개발 생산성을 높입니다.
키워드 : Jenkins, Git Action, ArgoCD - 제품에 적합한 클라우드 환경을 구축해 서비스 성능 개선 및 인프라 비용을 최적화합니다.
키워드 : GCP, Docker/Kubernetes - 서비스 상태를 쉽게 확인하고 빠르게 장애 상황을 대응할 수 있도록 모니터링 시스템을 구축합니다.
키워드 : Datadog, Prometheus, Stackdriver - 적은 인원으로 서비스를 운영할 수 있도록 자동화 시스템을 설계합니다. 키워드 : Go, Shell Script, Python
- 확장 가능한 인프라를 위한 IaC 작업을 합니다.
키워드 : Terraform
위 업무들로 개발자, CS 및 시스템 운영 담당자, 의사 결정권자의 간극을 좁힐 수 있고, DevOps 엔지니어는 안정적인 서비스 및 시스템을 지속적으로 공급해줄 수 있습니다.
Q2. 말씀주신 업무들을 동시다발적으로 처리함에 있어서 고충이 많았을 것 같아요. DevOps를 담당하면서 다양한 장애물을 만났을 것 같은데, 어떤 것이 가장 도전적으로 느껴졌나요?
Ethan: 개발과 운영을 잇는 역할이기에 항상 커뮤니케이션이 가장 어려웠어요. 팀마다 문화가 다르고 요구사항이 다르기 때문에 유연하게 대응해야 하고요. 그래서 효과적인 커뮤니케이션을 위해 데이터 기반의 의사결정을 하기 위해 노력하고 있어요. 데이터 기반의 의사결정이란 본능이나 직관에 의지하지 않고 주어진 상황을 데이터로 수집한 뒤 차트로 시각화해서 의사소통을 하는 방식입니다. 최근에는 데이터를 가공하는 과정에서 제 주관적인 해석을 곁들였는데, 이로 인해 상대방에게 혼란을 주었던 경우가 있었어요. 그렇다 보니 의견에 대한 신뢰도도 떨어지고 좋은 피드백을 받기 힘든 상황이 발생했습니다. 이런 상황을 해결하기 위해 원본과 가공된 데이터를 구분하고 신뢰할 수 있는 자료나 원본 링크를 첨부하는 습관을 기르려고 하고 있어요.
또 상대방의 가려운 부분을 잘 긁을 수 있도록 전달할 정보에 대한 청자의 이해도를 미리 파악하는 것도 중요해요. 발표할 때 어느 부분에 더 힘을 주고 어디까지 설명할지 윤곽이 나온다면 일을 두세 번 할 필요가 없더라구요.
해치랩스는 누구보다 빠르게 성장하고 있는데 그만큼 트래픽도 함께 증가하고 있어요. 안정적으로 서비스를 제공하기 위해서는 그 순간마다의 최적의 인프라를 설계해야 하는데, 왜 저 방법보다 이 방법이 더 나은지 고민하고 적용하는 과정 또한 많이 막막하기도 하고 무섭기도 해요. 하지만 그래도 언제 터질지 모르는 서비스 장애에 대해 빠르게 탐지, 복구, 예방해야 하는 부담감도 있지만, 화재 현장을 망설이는 소방관이 어디 있나 하는 생각을 하며 열심히 임하고 있어요.
Q3. 어려움이 많은 만큼, 난제를 풀어내고 최적화했을 때의 보람도 클 것 같아요. DevOps 엔지니어로서 가장 보람 있었던 순간은 언제였나요? 어떤 프로젝트였는지도 말씀해주시면 좋을 것 같아요.
Ethan: 회사에서 인프라에 쓰고 있는 비용(흔히 말하는 서버 운영비)을 크게 줄였을 때 가장 뿌듯했어요. 팽팽 돌아가고 제품이 떠있는 클라우드 환경에서 무언가를 삭제한다는 건, 폭탄 해체 작업과 비슷한 느낌을 들게 해요. 복잡하게 얽힌 서비스와 인프라 간 연결이 끊어진다면 갑자기 입/출금 기능이 동작하지 않거나 제품이 다운될 수 있고, 최악의 경우 고객이 이탈할 수 있기 때문이에요. 그렇기에 무언가 최적화하거나 제거하는 행위는 그 사람이 얼마나 시스템을 이해하고 있는지, 다른 개발자들의 작업을 얼마나 인지하고 있는지 등 개발과 운영에 대한 높은 이해도를 요구해요.
이런 작업을 문제 없이 해결했을 때 굉장히 뿌듯했어요. 평소에 DevOps 및 SRE 업무는 겉으로 티가 잘 나지 않는데, 내가 한 일에 대한 결과가 실시간으로 그리고 직접적인 절감액 규모로 나타나니까 더 행복했어요.
Q4. DevOps 엔지니어가 되기 위해서는 어떤 역량이 필요하고 어떤 공부들을 하면 좋을까요?
Ethan: 개발자들과 소통하기 위해 하나 이상의 프로그래밍 언어는 필수이며 네트워크, 운영체제와 같은 Computer Science에 대한 기본기를 탄탄하게 갖춰야 해요. 더불어 클라우드 인프라와 Kubernetes 에 대한 꾸준한 공부가 반드시 필요해요. 요즘 좋은 강의도 많지만 시작하기 막막하다면 AWS 나 GCP 공식 자격증을 준비하는 것도 방법이 될 수 있어요.
위에서 다져놓은 기본기를 바탕으로 실제 서비스를 6개월~1년 이상 운영해보는 것도 아주 좋은 경험이에요. 그러면서 CPU, Memory, Disk 와 같은 리소스 튜닝을 공부해볼 수 있고, 로깅 및 모니터링을 통해 문제해결 능력 또한 기를 수 있을 거에요.
운영을 하면서 귀찮은 작업들을 빠르게 자동화할 수 있도록 shell, go, python 등 언어로 짜인 스크립트를 다뤄봐도 좋고, 데브옵스 뿐만 아니라 개발분야의 대부분의 자료가 영어이기 때문에 영어 공부도 꾸준히 해야 해요.
Q5. 개발 안에서도 여러 분야가 존재하는데, DevOps 외에도 앞으로 맡아 보고 싶은 분야나 프로젝트가 있으신가요? 또한 개발적으로 업무 역량을 어떻게 발전시켜가고 계신지 궁금해요.
Ethan: 프론트엔드 분야를 탐내고 있어요! 시스템을 설계하고 툴을 만들다 보면 이걸 그림으로 보고 싶을 때가 많거든요. 개발자 분들이나 의사결정권자에게 실시간으로 상황을 공유하기도 편하고, 인프라 관련 명령어들을 사용하는 결재 승인, 권한 위임 등과 같은 절차 또한 원터치로 진행할 수 있을 거에요. 회사 사람들 또한 저의 고객이기 때문에 이들의 불편을 실시간으로 해소하기 위해 직접 커스텀할 수 있는 개발 실력을 갖추는 게 목표입니다.
조금 더 길게 본다면 저는 최고의 엔지니어보다 그들을 누구보다 잘 이해하고 도와줄 수 있는 매니저, 리더가 되는게 꿈이에요. 첫 발자국을 이 DevOps 직군으로 찍은 이유이기도 한데, 꿈을 이루기 위해 우리 회사 뿐만 아니라 다른 회사의 개발, 운영팀들이 어떻게 일하는지 잘 파악하고 좋은 것들만 체득하고 싶어요. 최근에 열렸던 NDC (넥슨 개발자 컨퍼런스), 곧 열릴 UDC (업비트 개발자 컨퍼런스) 와 같은 컨퍼런스들, 웨비나를 꾸준히 참가해 팀의 일하는 방식이나 속도를 염탐하고 있어요. 👀
Q6. 마지막 질문! DevOps 팀에는 어떤 분이 새로 합류하면 좋을까요? Ethan이 함께 일하고 싶은 분은 과연 어떤 분일지 궁금해요.
Ethan: 긍정적이고 유연한 사고를 지닌 분, 최신 기술 트렌드를 두려워하지 않고 배움과 토론을 즐기는 분, 해치랩스의 새로운 단계에서 빠르고 안정적인 인프라를 설계하는 가슴 뛰는 도전을 함께할 수 있는 분이면 좋겠어요!
Joy: 데브옵스에 대해 막연히 알고 있었는데, 이든의 경험이 녹아 있는 설명을 들으니 어떤 일들을 하고 계시는지 직관적으로 이해가 되었어요. 특히 제가 업무적으로 존경하는 HR 시니어 분이 계시는데, 그분이 하셨던 말씀과 동일한 답변이 있어서 깜짝 놀랐어요. 바로 ‘회사 사람들 또한 저의 고객이기 때문에 이들의 불편을 실시간으로 해소하기 위해 실력을 갖추고 싶다’는 내용이에요. 이든이 다른 직군 구성원들의 마음도 잘 헤아리고 있는 것은 데브옵스 업무를 잘하기 위한 마음가짐을 늘 가지고 있어서이기 때문이라는 생각이 드네요.
Ethan과 함께 더욱 깊이 있게 탐험해 본 DevOps 의 세계, 어떠셨나요? 팔색조 같은 매력을 지닌 DevOps 직군에 관심이 있다면 해치랩스 커리어 페이지를 참조해주세요. 정식 지원을 하기에 앞서 가벼운 티타임 신청도 커리어 페이지 내에서 언제든 가능하답니다. ☕️
👇 해치랩스 채용에 관한 자세한 소식이 궁금하시다면, 아래 채용 페이지에서 지금 확인해보세요.
👀 웹3 업계로 이직을 꿈꾸고 계시다면, ‘웹삼뽀’ 구독으로 트렌드를 놓치지 않는 것도 중요하겠죠?