90DaysOfDevOps (Day 66)

고태규·3일 전

DevOps

목록 보기
61/64
post-thumbnail

해당 스터디는 90DaysOfDevOps
https://github.com/MichaelCade/90DaysOfDevOps
를 기반으로 진행한 내용입니다.

Day 66 - A Developer's Journey to the DevOps: The Synergy of Two Worlds


1. DevOps의 구조적 딜레마와 정의


많은 IT 기업은 주니어와 시니어라는 이분법적 구분을 통해 조직을 운영한다.

여기서 발생하는 문제는 다음과 같은 순환 고리를 만든다.

  • 기업은 주니어와 시니어 개발자를 고용한다.

  • 신규 입사한 주니어는 온보딩과 프로젝트 적응을 위해 시니어의 도움이 필수적이다.

  • 하지만 시니어 개발자가 조직을 떠나거나 이동하면, 남겨진 주니어 개발자는 준비되지 않은 상태에서 강제로 시니어의 책임을 떠맡게 된다.

이러한 악순환은 조직의 인력 지속 가능성을 저해하고, 프로젝트의 안정성을 위협한다.

이는 단순한 인력 관리의 문제를 넘어, 역할 구분(Labeling)에 집착하는 조직 문화의 한계를 보여준다.


또한, DevOps를 많은 사람들이 특정 직함으로 오해하는 경우가 많다.

예를 들어 "데브옵스 엔지니어는 인프라 운영과 CI/CD 파이프라인 관리만 해야 하고 개발에는 관여하지 않는다"는 식의 고정관념이다.

하지만 데브옵스는 직위가 아니라 팀이 일하는 방식이자 프레임워크다.


이처럼 개발, 운영, 비즈니스 팀 간의 엄격한 역할 분리는 마치 쓰레기 분리수거처럼 경직된 구조를 만든다.

  • 개발팀: 백엔드와 프론트엔드로 나뉘어 서로의 영역을 구분한다.

  • 운영팀: 개발 코드를 모르며 인프라만 관리한다고 선을 긋는다.

  • 비즈니스팀: 기술적 제약을 고려하지 않고 요구사항만 전달한다.

이러한 업무의 격리(Silo)는 협업을 방해한다. 문제 발생 시 "누가 했는가?"를 따지는 책임 전가와 소통 부재를 야기한다.

결국, 데브옵스의 핵심은 구조를 통한 분리가 아니라, 각 팀원의 역량을 연결하는 협업에 있다.


2. DevOps의 정의와 확장된 개념


2-1. 데브옵스 무한 루프

데브옵스는 Code → Build → Test → Deploy → Operate → Monitor → Feedback 으로 이어지는 연속적인 프로세스다.


이 과정 전체에 걸쳐 개발자와 운영자, 그리고 모든 이해관계자가 지속적으로 협업해야 한다.

2-2. DevSecOps (보안의 통합)

현대 클라우드 환경에서 보안은 선택이 아닌 필수다.

DevSecOps는 데브옵스의 모든 단계(기획부터 모니터링까지)에 보안을 내재화하는 접근 방식이다.

보안은 별도 팀의 사후 검증 대상이 아니라, 개발 수명 주기 전체에 걸쳐 통합되어야 한다.

2-3. 플랫폼 엔지니어링 (Platform Engineering)

플랫폼 엔지니어링은 데브옵스 원칙을 기반으로 한다.

플랫폼 엔지니어링은 소프트웨어 개발자가 애플리케이션 개발에만 집중할 수 있도록 내부 개발자 플랫폼(IDP)을 설계하고 구축하며 관리하는 분야이다.

표준화된 도구, 자동화된 워크플로우, 일관된 환경을 제공하여 개발자 생산성을 높이고 운영 복잡성을 줄이는 것을 목표로 한다.


3. 데브옵스 전문가를 위한 7가지 마인드셋


  1. CLCD (Continuous Learning & Continuous Development)
    CI/CD를 넘어, 개인 차원에서의 지속적인 학습과 지속적인 자기 계발이 필요하다. 기술은 빠르게 변하므로, 끊임없이 배우고 성장하려는 태도가 필수적이다.

  2. 큰 그림 보기
    자신의 코드나 특정 업무에만 매몰되지 말고, 인프라, 운영, 비즈니스 요구사항을 포함한 전체적인 관점을 이해해야 한다. 넓은 시야를 가질 때 비로소 올바른 문제 해결 방향을 잡을 수 있다.

  3. 세부 사항으로 줌인
    큰 그림을 이해한 바탕 위에서 세부적인 문제에 접근해야 한다. 전체 맥락을 파악하고 디테일을 다루면 문제 해결이 더 창의적이고 효율적으로 변하며, 버그와 재작업을 최소화할 수 있다.

  4. 협업 능력 강화
    데브옵스의 본질은 협업이다. 동료 및 타 부서와 견고한 관계를 맺고 시너지를 내야 한다. 다른 팀의 업무를 이해하고 관계를 맺는 것은 기술적 문제 해결에도 큰 도움을 준다.

  5. T자형 인재
    한 분야의 깊은 전문성(수직적 깊이)과 인접 분야에 대한 폭넓은 지식(수평적 너비)을 겸비해야 한다. 예를 들어, 개발자라 하더라도 테스트, UX, 인프라에 대한 이해를 갖추면 다양한 프로젝트 환경에 유연하게 적응할 수 있다.

  6. 멘토링과 지식 공유
    다양한 팀과 협업하는 데브옵스 환경은 타인을 돕고 멘토링할 기회가 많다. 주니어 동료를 돕고 지식을 공유하는 과정은 개인의 성장은 물론 프로젝트 전체의 성공을 견인한다.

  7. 성장 마인드셋
    긍정적인 태도로 소통하고 행동을 개선하려는 자세를 가져야 한다. 정원을 가꾸듯 자신의 커리어와 역량을 지속적으로 관리하고 성장시키는 것이 중요하다.

결국, 데브옵스는 특정 직무 역할이나 라벨에 국한되지 않는다.

중요한 것은 직함이 아니라 어떻게 일하는가이다.

뛰어난 도구와 기술을 활용하여 주도적으로 가치를 창출하고, 경계를 넘어 협업하며, 지속적으로 학습하는 것이 데브옵스 여정의 핵심이다.


0개의 댓글