My Boundary As Much As I Experienced

데브옵스(DevOps)란? 본문

Computer Basics

데브옵스(DevOps)란?

Bumang 2023. 10. 31. 09:31

뜻:

Development + Operations의 합성어

소프트웨어 개발자와 정보기술 전문가 간의 소통, 협업 및 통합을 강조하는 개발 환경이나 문화를 의미한다.

 

개발과 운영의 이해관계

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

이때 각각의 역할이 있게 된다

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

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

 

이 개발팀과 운영팀 사이의 중간자적인 역할을 하면서 CI/CD를 책임진다.

 

CI/CD란?

CI: 지속적통합(Continuous Integration)

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

CD: 지속적전달(Continuous Delivery)

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

 

 

 

데브옵스 엔지니어가 하는 일

 

1. 자동화

사람은 누구나 실수를 해요. 사람 대신 컴퓨터가 할 수 있는 일은 최대한 컴퓨터 스스로 할 수 있도록 구조화함으로써 휴먼에러를 줄여요.

 

2. 롤백

에러가 발생하여 소프트웨어에 문제가 생겼을 때, 이것을 즉시 파악하여 이전에 문제가 없던 버전으로 되돌려 놓도록 프로세스를 구성합니다. 이전 버전으로 돌려놓는 것을 롤백이라고 해요.

 

3. 모니터링

마지막으로 DevOps Engineer는 서비스 개발 단계부터 출시 후 사용자가 이용 중인 서비스를 모니터링하고, 변경 사항들을 모두 기록하여 다른 조직 구성원들에게 공유합니다. 

 

4. 협업 체계 구축 관리

'Computer Basics' 카테고리의 다른 글

CSR vs SSR  (0) 2023.10.31
함수형 프로그래밍이란?  (0) 2023.10.31
파일 시스템  (0) 2023.10.10
메모리  (0) 2023.10.10
페이지 교체 알고리즘  (0) 2023.10.05