데브옵스가 무엇인가?

박형석·2022년 2월 14일
0
post-thumbnail

데브옵스 엔지니어?

🚩데브옵스의 정의

데브옵스라는 단어가 만들어진지는 오래되지 않았다. 데브옵스가 어떤 것인지 개념정리 해보자.

데브옵스라는 단어는 개발(Dev) 운영(Ops)의 합성어이다. 그리고 DevOps는 애플리케이션과 서비스를 빠른 속도로 제공할 수 있도록 조직의 역량을 향상시키는 문화 철학, 방식 및 도구의 조합이기도 하다.

최근 많은 기업들이 무중단 배포를 위하여 데브옵스문화를 도입하고 있다.

왜 기업들이 데브옵스를 선호할까?

빠른 배포를 통하여 시장에서 고객지원이나 쾌적한 환경을 제공하는 것에 있어서 경쟁력이 있다는 게 이유중 하나인 것 같다.

🚩그래서 데브옵스는 뭐하는데?

데브옵스라는 단어가 조금 애매한 단어인 것 같다.

처음 데브옵스를 의미하는 것은 문화, 방법론이었으나 현재의 데브옵스는 데브옵스 엔지니어를 지칭하는 말 같다.

여기서 데브옵스문화를 위해 데브옵스 엔지니어가 해야 할 일은 무엇일까

우리는 서비스를 만들때 기획 -> 개발 -> 빌드 -> 테스트 -> 릴리즈 -> 배포 -> 운영 과같은
단계를 거친다. 이때 각각의 역할이 있게 된다

  • 개발팀: 개발, 빌드
  • 운영팀: 테스트, 릴리즈, 운영

하지만 이 과정에서 개발팀과 운영팀은 상호 의견이 충돌 될 수 있다.

개발팀 입장에서는 잦은 배포로 더 많은 기능들을 추가하여 더 좋은 서비스를 제공하고 싶어한다
하지만 운영팀의 입장에서는 잦은 배포는 그만큼 많은 버그와 오류에 대한 걱정과 스트레스가 커지게 된다.

그리고 기존의 버전에서 새로운 버전으로 배포를 하려면 서비스를 잠시 멈춰야 하는 상황도 올 수 있다.

이러한 고민을 해결하고자 나온 문화가 클라우드를 기반한 데브옵스이다.

여기서 필요한 개념이 CI/CD 파이프라인이다.

🎨CI/CD란?

CI: 지속적통합(Continuous Integration)

  • 필요성
    1.버그를 일찍 발견할 수 있다.
    2.테스트가 완료된 코드에 대해 빠른 전달이 가능하다.
    3.지속적인 배포가 가능해진다.

CD: 지속적전달(Continuous Delivery)

  • 특징
    1.지속적 배포 = 지속적 통합 + 지속적 전달
    2.모든 코드의 변경 = 배포
    3.프로비저닝

🚩데브옵스 엔지니어의 역량

DevOps 문화를 수용하는 대부분의 전문가는 툴과 사례를 다년간의 엔터프라이즈 IT 경험과 결합한다.

다음은 대부분의 회사가 원하는 기술 스택이다.

  • 기초 : 리눅스 관리, 파이썬, AWS 또는 다른 클라우드 플랫폼
  • 구성 : 테라폼(Terraform) 또는 앤서블(Ansible)
  • 버전 관리 : 깃(Git)과 깃허브(GitHub)
  • 패키징 : 도커(Docker)
  • 배포 : 젠킨스(Jenkins)
  • 실행 : 아마존 ECS와 쿠버네티스
  • 모니터링 : ELK 스택

데브옵스 엔지니어가 되려면 특정 제품이나 기술을 아는 것으로는 부족하다.
제품과 기술은 산업의 발전에 따라 항상 바뀐다.

데브옵스 철학과 기반 라이프사이클에 대한 이해도 중요하다. 따라서 데브옵스의 핵심인 지속적 배포와 지속적 통합 프로세스(CI/CD), 그리고 여기에 수반되는 소프트웨어 테스트를 이해해야 한다.

🎨데브옵스 엔지니어 로드맵

:)

profile
Better Than Yesterday

0개의 댓글