본문 바로가기

CS지식/개발 상식

[CS지식 - 개발상식]devops란?

1. devops

  • devops = Development + Operation
    개발(development)담당자와 운영(operation)담당자가 연계하여 협력하는 개발 방법론
  • 시스템 개발자와 운영을 담당하는 정보기술 전문가 사이의 소통, 협업, 통합 및 자동화를 강조하는 소프트웨어 개발 방법론
  • 등장배경
    이전 : 개발자가 개발을 완료하면 운영자에게 전달해야하는 루트가 있었음
               개발을 완료하더라도 운영자를 통해 배포되어야 하고, 운영자는 개발자가 만든 프로그램을 이해하는 시간 필요
    ▶ 이러한 상황을 타개하고자 나오 새로운 문화(환경)
  • 데브옵스 적용이 가능한 툴을 묶어 하나의 체인 형식으로 모든 과정인
    기획- 개발 -빌드 - 테스트- 배포 - 모니터링 - 산출물 - KnowledgeBase을 묶으 사용할 수 있음

2. 방식

  1. 지속적 통합
    - 자동화된 빌드 및 테스트가 수행된 후, 개발자가 코드 변경 사항을 중앙 리포지토리에 정기적으로 병합하는
    소프트웨어 개발방식
    - 목표 : 버그를 신속하게 찾아 해결하고, 소프트웨어 품질을 개선하고, 새로운 소프트웨어 업데이트를 검증 및 릴리스하는데 걸리는 시간 단축
  2. 지속적 전달
    - 프로덕션에 릴리스하기 위해 코드 변경이 자동으로 빌드, 테스트 및 준비되는 스프트웨어 개발 방식
    - 목표 : 빌드 단계 이후의 모든 코드 변경 사항을 테스트 환경 및 프로덕션 환경에 배포함으로써 지속적 통합을 확장
  3. 마이크로 서비스
    - 단일 애플리케이션을 작은 서비스의 집합으로 구축하는 설계 접근 방식 
    - 비즈니스 기능을 중심으로 구축되며, 각 서비스는 단일 목적으로 한정되어있음
      ▶독립적으로 단일 서비스 또는 서비스 그룹으로 배포 가능
  4. 코드형 인프라
    - 버전 관리 및 지속적 통합과 같은 코드와 소프트웨어 개발 기술을 사용하여 인프라를 프로비저닝하고 관리하는 방식
  5. 모니터링 및 로깅
  6. 커뮤니케이션 및 협업

지속적 통합지속적 전달 방식으로 소프트웨어를 개발하고
마이크로 서비스로 단일 애플리케이션을 작은 서비스의 집합으로 구축해 설계함
코드형 인프라는 앞선 개발 기술을 통해 인프라를 프로비저닝하고 관리하는 방식을 뜻함
지표와 로그를 모니터링해 상황을 파악해야함

이 모든 과정들을 원활하게 진행하기 위한 협업이 필수

3. 특징

  • 장점
    1. 속도 - 개발과 운영의 커뮤니케이션 작업이 사라지기 때문에 속도 향상
                - 고객의 요구를 빠르게 개선 가능
                - 시장 변화에 잘 적응 할 수 있어 효율적으로 비즈니스 성과를 만들어 낼 수 있음
    2. 빠른 배포 - 속도가 빨라졌기때문에 프로그램의 배포가 빨라짐
                         ▶타사와의 시장 경쟁 구도에서 우위를 차지할 수 있음 
    3. 안정성 - 규모에 따라 인프라와 개발 프로세스 운영, 관리 가능
    4. 확장 가능 - 규모에 따라 인프라와 개발 프로세스 운영, 관리 가능
    5. 보안 - 자동화 된 규정 준수 정책, 세분화된 제어 및 구성 관리 기술 사용 가능

 

더보기