DevOps

조상원·2025년 9월 26일
0

데브옵스

목록 보기
1/5

데브옵스

소프트웨어 개발(Development) + 운영(Operations)

소프트웨어 운영의 협업, 자동화 및 효율화를 통해 더 빠르고 안정적인 서비스를 제공하는 방법론이자 문화

목표 : 소프트웨어 개발과 배포 속도를 높이고, 품질을 개선하는 것

  • DevOps의 LifeCycle

plan (우선 순위등을 설정하는 단계, 지라, 노션 등을 사용. 계획 단계)

code (개발자들이 실제 기능을 구현하는 과정. 코드로 구현하는 단계)

build (코드를 컴파일 및 실행 가능한 아키펙처를 만드는 단계. ex 자바의 .jar 파일. 잼킨스, 깃헙액션 등을 사용. 로컬의 경우 메이븐 등 사용)

test (테스트 단계. 코드안의 단위 테스트X(이건 빌드 단위). 요구사항과 일치하는지 확인. 성능 테스트도(부하를 어디까지 버티는지) 포함. QA팀이 보통 수행)

release ( 배포된 SW를 실제 유저에게 배포할 수 있도록 준비하는 단계)

deploy (고객의 요구를 만족시키는 단계)

operate (운영)

monitor (모니터닝, 문제나 장애등을 발견해서 대응하는 단계)

데브 시큐리티 옵스 (시큐리티가 추가)

전통적인 개발 프로세스의 문제점

  1. 팀 간 분리
  • 각 팀들의 목표는 다름. 협업이 어렵다. 소통도 잘 안됨.
  1. 긴 배포 주기
  • 모든게 순차적으로 이루어짐.
  • 몇 주 이상 걸리게됨
  • 피드백 반응 속도도 느리고, 사용자가 오래 기다려야함
  1. 비효율적인 테스트 및 피드백
  • 초기 단계에 결함을 발견하는 것이 쉽지 않음.
  • 피드백이 느리게 전달 → 수정이 느려짐 → 품질에 영향
  1. 비효율적인 수동 작업
  • 자동화 작업들을 거의 X
  • Human Error
  • 규모가 작으면 상관 X
  1. 책임의 분산
  • 개발팀은 코드와 관련된 문제만 해결. 운영팀은 시스템의 안정성만.
  • 문제 발생시 서로 책임을 지지 않으려 한다

데브옵스가 이를 해결하는 방법

  1. 팀 간 협업과 책임 공유
  2. 지속적인 배포 - Continuos Delivery, CI/CD의 CD
  3. 자동화된 테스트 및 통합 - CI/CD의 CI
  4. 인프라 자동화 및 환경 일관성
  5. 모니터링 및 빠른 피드백 - 로그 분석 도구들 사용

CI/CD : 데브옵스가 하는 업무 중 하나

CI : Continuous Integration 지속적 통합

CD : Continuous Delivery 지속적 제공

CD : Continuous Deployment 지속적 배포

데브옵스의 주요 목표

자동화 시키는 것이 목표

스크립트 짜는 것을 많이함

자동화 도구를 활용 → 배포 속도 높이기 → Human Error 줄이기 → 안정성 확보

지속적인 통합(CI), 지속적인 배포(CD) 파이프라인 → 새로운 기능을 더 자주, 빠르게 프로덕션 환경에 배포

지속적인 통합 (CI) : 개발자들이 작성한 코드들이 자동적으로 테스트 및 배포

지속적인 배포 (CD) : 이러한 변경사항들이 자동으로 배포되는것

팀간 경계 허물기 (개발팀과 운영팀) → 협력 강화

실시간 모니터링 및 로그 분석 도구 → 문제 조기 발견 → 신속한 대응

데브옵스 주요 도구

버전 관리 도구

  • GitHub
  • GitLab (사내 설치 가능)
  • Bitbucket (지라, 컴플리언스 등 다양한 도구와 통합 가능)

CI/CD 도구

  • Jenkins (가장 널리 사용하는 OS. CI/CD 가능. 다양한 플로그인 제공)
  • GutLab CI/CD
  • CircleCI
  • Travis CI (깃헙이랑 연동이 잘됨. But 유료화됨)
  • Argo CD
  • Spinnaker

컨테이너 및 오케스트레이션 도구

  • Docker (컨테이너 기반의 가상화 도구)
  • Kubernetes (컨테이너들을 관리해주는 도구. 오케스트레이션 도구)

인프라 관리 도구

  • Terraform
  • Ansible

모니터링 및 로깅 도구

  • Grafana
  • ELK 스택 (Elasticsearch, Logstash, Kibana)
  • Nagios

0개의 댓글