반응형

Backend 개발과 Devops를 거쳐 Platform Enginnering 으로

요즘 들어 내 업에 대해 많은 고민을 하고 있다.
"더 잘할 수 있을까?" 혹은 "내가 잘하고 있는 걸까?" 같은 생존에 대한 불안이 아닌,
"어떻게 일하는 것이 좋을까?" 그리고 "어떻게 하면 더 즐겁고 의미 있게 일할 수 있을까?"에 대한 고민이다.

 

그 고민의 연장선에서, 지금까지 경험한 회사와 역할들을 돌아보며 내가 해온 DevOps 업무를 플랫폼 엔지니어링 관점에서 정리해보려 한다. 규모와 투자단계를 명시하는 이유는, 각 조직의 상황에 따라 DevOps 업무가 어떤 형태로 변모해왔는지를 보여주기 위함이다.

 


 

20명 규모의 A 시리즈 스타트업 - Backend Engineer

 

이 시기의 나는 백엔드 개발자로 커리어를 시작했다.
빠르게 움직이는 작은 조직 특성상 단순히 서버 개발만으로는 역할을 다 할 수 없었고,

자연스럽게 인프라, 이벤트 기획, 데이터 분석 등 다양한 역할을 겸하게 되었다.

 

주요 업무

  • 서버 개발
  • 인프라 구성
  • 새로운 제품 개발 
  • 구매 이벤트 도출하여 비즈니스 파악

작은 회사에서는 각자 업무 외에도 제품개발부터 데이터 도출, 비즈니스 방향성 파악까지 빠르게 돌아가는

사이클 속에서 다양한 역할을 병행해야 한다. 이 과정에서 신속한 실행력 효율적인 업무처리 가 핵심이었던 것 같다.

 

당시 내가 바라본 개발자 업무는 아래와 같이 정의하였다.

  • 기한 내 서비스를 출시하기 위한 빠른 인프라 구성
  • 수동 작업을 자동화하여 빠르게 릴리즈하기
  • 서버 개발자의 연장선상에서 이뤄지는 작업 ( 인프라 구성, Devops )

말 그대로 "기술을 적용하는 것" 자체가 Devops 업무라고 생각했다.


500명 규모의 B 시리즈 게임 회사 - Devops Engineer

 

조직 규모가 커지고 분업화가 이뤄진 환경에서 DevOps에 온전히 집중할 수 있게 되었다.

이 시기부터는 기술을 '어떻게 적용할 것인가' 보다, '왜 적용해야 하는가'에 대한 고민이 더 깊어졌다

 

좀 큰 회사를 가니, 이전 스타트업 과는 다르게 아래 업무? 의사결정? 의사소통? 이 추가되었다

 

얼떨결에 추가된 사항들

  • 업무는 많지만, 각각 조직이 세분화 되어있어, 뭔가를 하기전에 협의를 진행해야 함
  • 본부 / 팀 / 파트끼리는 많은 회의와 의사결정 과정에서 일정이 결정됨 
  • 회의 / 논의 / 커피챗 때문에 일하는 시간이 가끔 적어짐 ( 해당 회사 특징일 수 있음 )

주요 업무

  • 시키는일 잘 하기 ( Director 님 지시)
  • CI/CD 파이프라인 구성 및 개선
  • AWS 기반 인프라 설계 및 운영 (Network, Computing, Database)
  • 모니터링 / Observability 구성
  • ISMS 대응 및 보안정책 설계
  • 새로운 기술 PoC 수행

해당 회사내 본부에서는 Devops 업무를 하는사람은 Director님과 나 밖에 없었기에,

거의 대부분의 구성업무는 혼자서 진행했던 것 같다. 하지만

 

첫회사와 비교해봤을 때, 업무자체는 굉장히 Specialized 해졌다.

이때의 나는 Devops Engineer 업무는 아래와 같이 정의하였다.

  • 개발자가 안정적으로 배포하고 모니터링할 수 있는 환경을 만드는 사람
  • 서비스 품질을 높이는 자동화와 효율성을 인프라 구성 설계

뭔가... 이전에는 계속만들고 적용하고 했다면

해당 회사를 다니면서 적용하기전에 많은 고민을 하고 진행했던 것 같다.

그 과정에서 계속 인프라를 구성하고 그것을 고도화하기 위한 방안 및 검토를 많이 했던 것 같다.


100명 규모 B 시리즈 핀테크 회사 - Devops Team Lead

 

현재 회사를 다니면서 팔자에도 없는 팀장를 맡게되었다.

굉장히 Long Story 이긴하지만, 입사할때만 해도 팀원이었고 우여곡절을 겪어 팀장대리를 달고

업무를 진행하면서 본격적으로 입사 5개월차에 팀장을 맡게되었다. 

 

전체적인 인원과 팀의 규모는 이전과는 적어졌지만,

직급에서 오는 특이점으로 인해서 업무를 진행하는 시야가 달라졌다 -> ( 시야가 달라져야 했다 )

 

주요 업무

  • DevOps 팀의 업무 조율 및 목표 설정
  • 모니터링 및 장애 대응 (SRE 관점에서...)
  • 인프라 안정성 유지 및 보안 업무 병행
  • 반복되는 수동 작업 자동화
  • 신기술 도입 및 사내 확산 전략 수립

이 시점에 SRE나, Platform Engineering 과 같은 직무를 있다는 것을 알게되었고 

해당 직무들이 기존 내가 경험하고 알고있던 Devops Engineer와 다른점이 뭔지 천천히 공부하게 되었다.

 

이 시점에서 나의 고민은 기술적 효율성, 구성 이런것들 보다 아래 물음의 대한 고민들을 많이 하게되었다.

  • 어떻게 하면 누구나 쉽게 인프라를 다룰 수 있을까?
  • 어떻게 하면 효율적으로 수동적인 업무를 자동화할 수 있을까?
  • 어떤 방식으로 구성해야 개발자 UX 를 높이면서 업무 효율성을 추구할 수 있을까?

자 그럼, 어떻게 해야 누구나 쉽게 인프라를 다루고, 수동적인 업무를 자동화하고, 업무 효율성을 추구할 수 있을까?

해당 회사를 다니면서 위 2개의 회사와 크게 차이점이 있었다.

  • 이미 인프라는 어느정도 구축이 되어있음
  • 대대적인 인프라 구조 변경은 필요하지 않음 (단, K8s 도입등은 예외)
  • 오히려 보안과 관리체계, 내부 운영 프로세스 개선이 주요 포인트
  • 그리고 수동적인 업무가 과도하게 많음

자... 수동적인 업무가 뭘까? ( 이걸로 시간이 꽤 많이 뺏김 )

  • 신규 인프라 구성 요청
  • 환경변수 등록 및 변경 요청
  • 모니터링 설정 및 알람 확인 / 등록 
  • AWS 사용관련 질문 및 지원 요청

수동적인 업무들이 보통 Devops 관련 업무들이긴 하지만,

저런 업무들로 조금씩 시간을 뺏기다 보니 정작 고도화된 업무들을 할때 나름 시간이 부족하다고 생각했다.

 


그래서 어떻게 해결한 것인가? -> Platform Engineering

 

Service Catalog 기반으로 Self 서비스 구조 만들기

  • Terraform Cloud 를 활용해 팀/서비스 단위로 IaC 템플릿을 관리
  • AWS Service Catalog 또는 Port.io 같은 도구를 도입하여 GUI 기반의 셀프 프로비저닝 제공
  • 표준화된 인프라 템플릿을 통해 개발자가 직접 필요한 리소스를 생성하고 관리할 수 있도록 유도
  • 구성된 리소스는 팀 단위 대시보드로 가시화하여 관리 편의성 향상

 

Internal Developer Platform (IDP) 도입

  • Backstage / Budibase 기반의 IDP를 구성하여 서비스 생성, 인프라 요청, 환경변수 설정 등을 통합
  • GitOps 기반으로 모든 요청이 코드로 기록되고, 추적 가능하도록 구성
  • Slack 등 협업툴과 연동하여 요청 → 승인 → 실행 → 결과 피드백 루프를 자동화

 

AIOps 도입으로 모니터링 고도화

  • 기존 임계값 기반의 경보 시스템은 False Positive 발생이 잦고, 실질적인 문제 탐지가 어려움
  • 머신러닝 기반의 이상탐지 모델을 도입하여 패턴 기반 탐지 (SageMaker , Datadog Anomaly Detection...)

결론

현재 지금은 Service Catalog와 IDP 툴을 적용해서 구성해 볼 예정이다.

관련해서 시간이 난다면 블로그에 글을 기재해보겠지만, 많은 우여곡절이 있을 것 같다.

아자아자 화이팅

반응형

+ Recent posts