본문 바로가기

AWS

개발팀의 일당백! Devops Engineer가 뭔가요?

오늘은 개발팀의 일당백! Devops Engineer에 대해서 알아보려고 한다.

 

현재는 Devops Engineer가 많아져서 무엇을 하는 사람인지 어렴풋하게 알고 있지만

 

지금 현재도 Devops Engineer는 하는 일이 너무나도 많고 한 호흡에 설명하기 어려운 직종이다.

 

이글에서도 한 글로 전부 설명은 못하지만, 내가 아는 범위 내에서 정리할 수 있는 내용은 정리해보려 한다.

 

주로 하는 일

회바회, 부바부로 전부 다르지만 겹치는 일은 그래도 좀 된다.

 

1. 개발 프로그램 소스 자동 배포 : 통칭 CI/CD (Gitops, Pipeline 등등)

2. 클라우드 또는 하이브리드 클라우드, On-Prem (물리 서버 환경) 인프라 관리

 

최소 위의 업무는 겹친다.

 

하지만 업계에 따라 업종에 따라 정말 많은 차이가 나고 기술스택이 확연히 달라진다.

 

Devops Engineer의 의미

흔히 Devops Engineer는 T자형 인재라고들 이야기 한다.

 

얇게 여러개를 알되, 한두개의 깊은 스킬을 가지고 있어야 한다는 뜻이다.

 

그러다보니 학습해야 하는 것들이 정말 많다.

 

다른 직군대비해서 학습해야 할 양이 꽤 많다. 기술 트랜드에 대해서 모든 기술을 깊게 알 필요는 없지만

 

내가 있는 회사에서 필요한 스킬이라면 바로 뛰어들 수도 있다는 마음가짐이 있어야 한다.

Devops Engineer를 설명하는 만능짤

 

파랑색은 주로 개발의 영역이고, 녹색은 운영의 영역이다.

 

Devops는 주로 녹색의 영역을 담당하며, 경우에 따라 개발의 영역까지 같이 걸쳐져 있어서 함께 봐야할 경우도 생긴다.

 

저 그림의 의미는 배포를 자동화하고 운영이 끝나면 무한패턴으로 사이클을 지속해 나가는 것을 의미한다.

 

또한 개발팀의 문화를 바꾸는 사람이라고도 이야기한다. 협업과 혁신등을 통해 팀 문화를 바꿔나가는 사람이기 때문이다.

 

당연히 기존에 사람이 하던 업무를 컴퓨터에게 자동화 시키고 사람에게 더 많은 업무가 가게 하거나, 더 편하게 하기 위해선

바꾸어야 하는 것들이 분명 존재하기 때문에 자연스럽게 변화에 따른 팀의 문화가 바뀌고 협업 시스템이 변경된다.

 

결국은 개발팀의 개발속도가 올라가기에 혁신이라 할 수 있는 것이다. (보통은 팀에 더 많은 일거리가 가는 엔딩)

 

하지만 1명이 수십명에서 수백명의 문화를 빠르던 천천히던 바꾸는 것은 C레벨이라 하더라도 쉽지는 않을 것이다.

 

그래서 실제로 문화가 바뀌는 경우는 정말 운영상의 큰 문제를 겪어서 문화의 변화 필요성을 깊이 공감한 경우가 아니라면

 

바뀌기 어려운 것이 현실이다.

 

그래서 수십명을 상대하기 위해서 자격증 또는 많은 학습을 통해 Devops Engineer의 정당성과 업무 효율성을 끊임없이 검증해야 하는 경우가 많이 생긴다고 생각한다.

 

Devops Engineer의 최소 업무 요구 스킬

  1. 1가지 이상의 언어를 능숙 또는 적정수준에서 다룰 것을 요구 받는다. (node.js, python, java 등등)
    1. 그리고 경우에 따라 스타트업이나 중소기업이라면 컨텐츠 개발과 겸해서 운영레벨까지도 손대기도 한다.
    2. 컨텐츠 코딩을 하지 않더라도, 장애 또는 오류 발생시 로그를 분석하고 어느 포인트에서 오류지점을 파악하여 개발부서 또는 담당 개발자에게 토스하는 역할도 해야 한다.
  2. 인프라 관리 능력 (On-premise 또는 Public Cloud)도 요구 받는다.
    1. AWS, GCP, Azure등의 상용 클라우드
    2. 정부사업을 위주로 하는 회사의 경우 KT Cloud, Naver Cloud등 국내 클라우드 스킬을 요구 받기도 한다.
  3. 개발자와의 많은 협업이 필요하다.
    1. 인프라를 제어하거나 보안에 대한 조치를 위해 개발자의 업무 또는 개발 프로세스를 일정기간 정지해야하는 상황에서 개발/비개발부서와 모두 소통할 준비가 되어 있어야 한다.

타 직군에서 Devops Engineer로 넘어가는 패턴

  • 로그기반으로 한 코딩에 대한 피드백이 있어야 하는 사람이다보니 개발자 출신(FE, BE)에서 전직하는 사례.
    • 배포중 불편한 사항을 누구보다 많이 겪고 필요성을 누구보다 잘 알기 때문 (몇백대 서버의 배포 담당자는 본인)
  • 패스트캠퍼스 또는 클라우드 엔지니어 국비과정을 통해 신입 Devops Engineer로 준비하여 들어오는 사례.
    • Devops가 필요한 것은 알고 있지만 현실적으로 어느정도의 나비효과인지 체감이 안되는 경우일 수 있다고 생각한다.

 

Devops Engineer의 채용 패턴

경제상황에 따른 상황을 배제한 일반적인 채용 패턴을 정의하려고 한다.

어차피 경제문제로 채용을 못하는 것은 어쩔 수 없는 것이라 여기선 언급하지 않으려한다.

 

업무 요구스킬이나 소통능력 등 신입이 가지기 어려운 아우라 덕에 채용자체도 경력자에게 더 유리하게 작용한다.

다른 직군 대비 상대적으로 도입된지 얼마되지 않아서 순수 Devops Engineer로 시작하는 사람이 많지 않으며 그나마 중견 또는 대기업에서 주로 찾을 수 있는 것같다.

 

스타트업 또는 중소기업에서 채용하는 경우는

  • Devops Engineer가 있었다가 나갔다.
  • 필요성을 인식은 했지만 Devops Engineer가 무슨 일을 하는지 정확히 인지하지는 못한다.
  • 단순히 클라우드 인프라 담당자를 찾는 경우.

Devops Engineer가 일당백인 이유

위의 내용을 보다보면 정말 하는 일이 많다는 것을 알 수 있다.

개발자는 폭도가 아니다. 하지만 장애가 나면 누구나 폭도가 될 수 있다. Devops Engineer는 장애의 최전선 총알받이니까...

  • Devops Engineer 1명이 10 ~ 200명의 개발자를 대응해야 하는 상황이 늘 생긴다.
  • 개발자가 많고 사업이 점점 늘어나면 늘어날 수록 인프라에서 처리해야할 아키텍쳐가 늘어난다.
  • 그에 맞게 운영에 적용해야할 기술도 늘어난다.

내 업무를 자동화해서 컴퓨터에 맞기면 업무가 편해질 수 있지만, 컴퓨터는 시킨대로만 일을 한다고 생각하면 그 만큼 배울게 많은 것이다.

 

Devops Engineer로서 살아남을려면 어떻게 할까?

끊임 없는 학습의지는 언제나 중요하다.

 

하지만 나 혼자 모든 인프라 스킬을 익히는 건 불가능한 수준이라고 개인적으로는 생각이 든다.

그래서 집단지성이 필요하다는 생각을 늘 한다.

 

나의 경우엔 키워드나 인사이트를 얻기 위해서 클라우드 세미나를 많이 다니는 편이다.

나는 주로 aws를 많이 사용하기 때문에 관련 커뮤니티를 계속 확인하고 거기서 질문도 하고 아는 것들은 답변도 한다.

또한 개발 톡방 또는 클라우드 사용자의 slack 채널도 활용한다.

 

마지막으로 내가 주로 방문하는 커뮤니티를 적어둔다.

글쓴이도 주로 상주하고 있으며 혹시 관심이 있다면 아래 사이트 또는 톡방에 들어와서 트랜드 또는 눈팅을 해봐도 좋을거 같다.

awskrug : https://awskrug.slack.com/

 

Slack

 

awskrug.slack.com

aws의 모든것 카카오톡방 : https://open.kakao.com/o/gNSUnzob

 

AWS의 모든 것

#AWS #아마존 #클라우드 #EC2 #참여코드 질문 : AWS EC2 인스턴스 최소 크기는 t2.OOOO 입니다. (영문, 소문자만 입력)

open.kakao.com

aws 강의실 youtube : https://www.youtube.com/@AWSClassroom

 

AWS 강의실

AWS를 쉽게 알려드리는 AWS 강의실입니다. 스타트업 Dev Lead 역할을 하면서 AWS와 관련된 문제를 해결하는 팁과 노하우도 공유합니다. - AWS Serverless Community Builder - AWS 공인 Solutions Architect Professional -

www.youtube.com