데브옵스 엔지니어?
데브옵스라는 단어가 만들어진지는 오래되지 않았다. 데브옵스가 어떤 것인지 개념정리 해보자.
데브옵스라는 단어는 개발(Dev) 운영(Ops)의 합성어이다. 그리고 DevOps는 애플리케이션과 서비스를 빠른 속도로 제공할 수 있도록 조직의 역량을 향상시키는 문화 철학, 방식 및 도구의 조합이기도 하다.
최근 많은 기업들이 무중단 배포를 위하여 데브옵스문화를 도입하고 있다.
왜 기업들이 데브옵스를 선호할까?
빠른 배포를 통하여 시장에서 고객지원이나 쾌적한 환경을 제공하는 것에 있어서 경쟁력이 있다는 게 이유중 하나인 것 같다.
데브옵스라는 단어가 조금 애매한 단어인 것 같다.
처음 데브옵스를 의미하는 것은 문화, 방법론이었으나 현재의 데브옵스는 데브옵스 엔지니어를 지칭하는 말 같다.
여기서 데브옵스문화를 위해 데브옵스 엔지니어가 해야 할 일은 무엇일까
우리는 서비스를 만들때 기획 -> 개발 -> 빌드 -> 테스트 -> 릴리즈 -> 배포 -> 운영 과같은
단계를 거친다. 이때 각각의 역할이 있게 된다
하지만 이 과정에서 개발팀과 운영팀은 상호 의견이 충돌 될 수 있다.
개발팀 입장에서는 잦은 배포로 더 많은 기능들을 추가하여 더 좋은 서비스를 제공하고 싶어한다
하지만 운영팀의 입장에서는 잦은 배포는 그만큼 많은 버그와 오류에 대한 걱정과 스트레스가 커지게 된다.
그리고 기존의 버전에서 새로운 버전으로 배포를 하려면 서비스를 잠시 멈춰야 하는 상황도 올 수 있다.
이러한 고민을 해결하고자 나온 문화가 클라우드를 기반한 데브옵스이다.
여기서 필요한 개념이 CI/CD 파이프라인이다.
CI: 지속적통합(Continuous Integration)
CD: 지속적전달(Continuous Delivery)
DevOps 문화를 수용하는 대부분의 전문가는 툴과 사례를 다년간의 엔터프라이즈 IT 경험과 결합한다.
다음은 대부분의 회사가 원하는 기술 스택이다.
데브옵스 엔지니어가 되려면 특정 제품이나 기술을 아는 것으로는 부족하다.
제품과 기술은 산업의 발전에 따라 항상 바뀐다.
데브옵스 철학과 기반 라이프사이클에 대한 이해도 중요하다. 따라서 데브옵스의 핵심인 지속적 배포와 지속적 통합 프로세스(CI/CD), 그리고 여기에 수반되는 소프트웨어 테스트를 이해해야 한다.
:)