자주 묻는 질문 : 데브옵스 엔지니어 편

모요의 데브옵스 엔지니어(DevOps Engineer)는 단순히 서버를 운영하는 것을 넘어, 데이터 파이프라인을 포함한 다양한 인프라를 책임지며 개발자들이 최적의 환경에서 업무에 몰두할 수 있도록 돕고 있어요.

이번 아티클에서는 모요에서 데브옵스 엔지니어가 현재 어떤 역할을 하고 있고 더 나아가 앞으로의 목표는 무엇인지에 대한 이야기를 담아봤어요.

데브옵스 엔지니어는 어떤 일을 하나요?

기본적으로 모요에서 서비스 개발을 제외한 모든 IT 기반을 담당해요. 서비스 사용자와 모요 팀원이 모두 사용하는 인프라 구성부터 데이터 기반 의사결정에 필수적인 데이터 파이프라인 관리까지 책임지고 있어요. 

모요의 팀 문화는 작은 기능들을 빠르게 만들어 고객에게 전달하고, 그 결과를 바탕으로 다음 의사결정을 내리는 흐름으로 이루어져 있는데요. 데브옵스 엔지니어의 목표는 이러한 개발 과정에서 발생할 수 있는 다양한 비효율을 줄이고, 개발자들의 불필요한 인지 부하를 최소화하는 거예요.

그러다 보니 데브옵스 엔지니어는 서버 플랫폼 팀과의 협업이 빈번한데요. 서로 담당하는 업무를 조금 더 구체적으로 이야기하면, 데브옵스 엔지니어는 주로 인프라 환경에 가까운 작업을 담당하고, 서버 플랫폼 팀에서는 애플리케이션 코드에 더 초점을 맞추고 있는데요. 모두 개발자 지원을 목표로 하는 만큼, 서로 긴밀하게 협력하여 인프라와 코드 사이의 간극을 메우기 위해 노력해요. 

예를 들어, 데브옵스 엔지니어가 커스텀 메트릭을 활용해 더 나은 모니터링 환경을 구축하면, 플랫폼 팀은 서비스 개발자가 따로 신경 쓰지 않아도 유용한 메트릭이 자동으로 수집될 수 있는 애플리케이션 모듈을 개발해요.

모요의 데브옵스 엔지니어는 어떤 기술 스택을 활용하고 있나요?

인프라 리소스를 다룰 때는 주로 Terraform을 활용하고 있어요. 더 나은 운영과 관리를 위해 코드형 인프라(Infrastructure as Code, IaC)아키텍처를 점진적으로 도입해왔고, 지금은 대부분의 리소스를 코드로 관리하고 있어요. 

덕분에 데브옵스 엔지니어는 GitHub과 Spacelift를 통해 서로 협업하고, 안전하게 자신들의 작업을 모요의 실제 환경에 반영할 수 있어요. 자주 사용되거나 표준화가 필요한 부분은 모듈 형태로 구성하여, Private Registry에 등록해 활용하고 있어요. 이렇게 Terraform 내에서도 다양한 추상화를 진행해 왔기 때문에, 서비스 관련 대부분의 작업은 Terraform과 Cloud Provider에 대한 깊은 이해가 없어도 안전하게 테스트하고 적용할 수 있어요.

서비스 구성뿐만 아니라, 각 서비스를 빌드하고 배포하는 파이프라인을 구성하는 것도 데브옵스 엔지니어가 담당하고 있요.

저희는 GitHub Actions를 중심으로, Reusable Workflow와 Composite Action을 적극 활용해 모든 CI/CD 파이프라인을 관리하고 있어요. 이를 통해 빌드 및 배포 과정의 최적화, 버그 수정, 신규 기능 도입 등을 모든 서비스에 동시에 제공하고, 각 서비스 개발자들은 이러한 과정에 크게 신경 쓰지 않고도 매일 수십 번의 운영 배포를 진행할 수 있어요.

현재에는 데이터 파이프라인 또한 데브옵스 엔지니어가 관리하는데요. 모요에는 여러 DA 직군의 동료분들이 계셔서, 각자 데이터 분석을 진행하며 데이터 마트를 구성하는 다양한 스케줄 작업도 관리하고 있어요. 저희는 이러한 시스템의 기반이 되는 Airflow(Google Composer) 또는 스케줄러 및 배치 작업에 필요한 컴퓨팅 리소스를 관리해요. 이 작업은 모두 Google Cloud Platform 위에서 진행되고, 동일하게 Terraform으로 모든 리소스를 관리하고 있어요.

최근 데브옵스 엔지니어가 가장 집중하고 있는 프로젝트는 무엇인가요?

최근에는 ISMS 인증 심사를 위한 준비에 가장 집중하고 있어요. 인증에 필요한 다양한 기준을 달성하기 위해 인프라, 애플리케이션 전반에 걸친 크고 작은 작업을 진행하는 중인데요. 그중에는 사소할 수 있지만 시간을 많이 필요로 하는 작업도, 자칫하면 장애로 이어질 수 있는 크고 무거운 작업도 있어요. 이러한 여러 작업을 단기간에 진행하면서 많은 경험치를 쌓아가고 있어요.

모요는 아직 규모가 크지 않은 팀이지만, 그에 비해 생각보다 다양한 경험을 할 수 있는 기회가 있는데요. 이 ISMS 인증 심사 준비 또한 그런 작업 중 하나라고 생각해요. 매 업무, 매 순간 도전적이면서 엔지니어를 자극할 수 있는 상황을 만날 수 있어요.

그리고 이러한 상황에서 엔지니어링팀 모두가 주어진 일을 단순히 쳐내는 것에 그치지 않고, 더 잘 해보고 싶은 욕심으로 문제에 대해 깊이 고민해요. 

모요 데브옵스 엔지니어가 바라는 장기적인 모요의 개발 환경은 어떤 모습인가요?

팀의 목표는 앞서 언급한 것처럼 개발 과정의 다양한 비효율을 줄임과 동시에, 개발자들의 불필요한 인지 부하*를 최소화하는 것이에요. 저희는 모요 개발자가 스스로 “모요의 개발 환경은 어디에 내놔도 부끄럽지 않을 정도로 좋다”는 말을 꺼낼 수 있도록 만들고 싶어요. 모든 개발자가 다양한 배경을 가진 만큼, 각각 겪어왔던 개발 환경이 서로 다를 수 있는데요. 구성원과 팀의 경험 중 장점은 극대화하고, 단점은 최소화해서 이상적인 개발 환경을 만들어 나가고 싶어요!

* 학습이나 과제 해결 과정에서의 인지적 요구량

미래의 모요 데브옵스 엔지니어에게 하고 싶은 말이 있다면?

모요에는 다양한 배경과 경험을 가진 훌륭한 개발자들이 모여 있고, 시장의 문제를 혁신하기 위해 여러 기술적 시도를 하고 있어요. 

앞으로 동료 개발자들이 마음껏 실력을 발휘할 수 있도록, 데브옵스 엔지니어로서 더욱더 안전한 환경을 제공하기 위해 노력할 거예요. 보안이나 인프라 구성 요소처럼 어렵고 복잡한 부분은 추상화해서, 자신이 만드는 서비스를 개발자가 더 쉽게 관측하고 능동적으로 대응할 수 있는 시스템을 만들고 싶어요. 

동료 개발자들이 고객의 문제를 해결하는 데 집중할 수 있도록, 문제를 해결하는 데에 즐거움 느끼는 데브옵스 엔지니어 분이 계시다면 지금 바로 지원해 주세요! 

  • sns-icons
  • sns-icons
  • sns-icons
  • sns-icons
made with Greeting