DevOps

bird.j·2021년 2월 26일
0

: 소프트웨어 개발 방법론의 하나. Dev + Ops의 합성어로, Development (개발) + Operations (운영)을 줄여 데브옵스라고 표현한다. 개발 담당자와 운영 담당자가 연계하여 협력하는 개발 방법론을 말한다.

하나의 SW (Software, 소프트웨어)가 나오기까지의 과정을 큰 틀에서 이해하고 있어야 하며, 새로운 개발 환경에 대한 이해가 필요하다.

특별히 데브옵스는 애자일한 조직 문화를 가지고 있는 기업들에서 많이 찾는 직무임을 알 수 있다. 기존의 기업들에서 SW가 나오는(릴리즈 되는) 탑다운 방식이 아닌, 자동화 및 시간 단축 등의 효율을 중요시하는 워크플로(Workflow)에 따라 "애자일" 방식이 존재한다. 애자일한 조직을 운영하는 기업들은 새로운 제품을 만드는 과정에서 아래와 같은 모습들을 발견하게 된다.

SW는 우리가 사용할 수 있게 되기까지 그들만의 단계와 방법이 있다. 개발 프로세스가 있듯이, 이 모든 과정들이 이뤄지게 해주는 다양한 Tool들이 존재하는데, 이 모든 것들이 잘 돌아가게, 회사의 needs에 따라 어떤 제품(HW, SW, 환경 등)을 사용할지, 자동화 할 것은 무엇인지, 등 개발이 잘 될 수 있도록 이 모든 과정들이 잘 돌아가도록 무한히 작업을 하는 것이 DevOps Engineer이다.

결국 이 과정이 잘 돌아가고 효과적이려면 개발자들을 심도 있게 이해하고 있어야하기 때문에 대부분 Backend Engineer를 했던 분들이 DevOps Engineer로 전향하는 경우가 많다. 그만큼 백(Back)에 대한 이해가 깊어야 한다.

특별히 개발에 있어 CI/CD (Continuous Integration/Continuous Delivery) 프로세스는 굉장히 중요하다. 서비스를 통합하여 제공하고 배포하는 것을 의미하며, 해당 작업이 가능하도록 다양한 Tool이 존재하기 때문에 어떤 Tool 선택하고 어떻게 운영할 것이냐에 따라 많은게 달라진다.

그러면 이러한 작업을 기존에는 어떻게 하고 있었을까? 개발 팀장 또는 PM 등 권한이 있는 분들이 대부분 결정하면 그대로 개발자들이 업무들을 나눠서 진행하거나 했던 것이다. 이 모든 과정 자체를 한 사람이 운용하도록 한 것이 DevOps Engineer인 것이다. 그래서 데브옵스를 줄여서 한마디로 말하자면 SW가 개발되기 위한 모든 Back의 제품/운영을 총체적으로 의미한다.

참고 | 데브옵스란

0개의 댓글