개발 환경(local, production, staging)

이상해씨·2023년 8월 25일
0

웹어플리케이션에서의 개발 환경 구분

  • 개발, 테스트, 운영 단계에서 발생하는 요구사항 및 상황을 관리하고 처리하기 위함
  • 크게 프로덕션(production), 로컬(local), 스테이징(staging)으로 나뉨
  • 그외에도 개발(dev), 테스트(QA), 통합(Integration) 환경이 있음
  • 조직에 따라 환경이 상이


(이미지 출처 - https://shuu.tistory.com/41)

  • Local -> Dev -> QA -> Staging -> Prod

환경 구분

1. 프로덕션(Production) 환경

  • 사용자 들이 접근하는 운영 환경
  • application이 최종 배포되는 환경
  • 안정성, 성능이 최우선
  • 에러 및 예외처리가 잘 되어 있어야 함
  • 로그와 모니터링을 통한 문제 대응

2. 로컬(Local) 환경

  • 개발자가 개인 개발을 진행하는 환경 (localhost)
  • 코드를 수정 및 테스트, 새로운 기능 개발하는 단계에서 사용
  • 로컬 DB나 가짜 데이터 사용하여 개발 및 디버깅
  • 에러 디버깅과 기능개발에 초점

3. 스테이징(Staging) 환경

  • 실제 production 환경과 유사한 환경을 구성하여 테스트
  • 실제 운영환경과 동일한 설정 및 데이터 활용하여 application의 실제 동작 확인
  • 개발한 기능을 미리 배포 및 통합 테스트, QA 테스트 실행
  • production 배포 전에 문제 사전 발견 및 수정하여 production이 안정적으로 배포 되도록 함

4. 서버개발 환경(Dev)

  • 개발자들이 각 코드를 합쳐 테스트할 수 있는 환경
  • 다수의 개발자가 함께 작업, 각자의 내용을 통합
  • 다른 환경과 연결하여 테스트 하는 경우가 많음. 외부 시스템과의 통합 및 테스트를 위한 설정 포함.

5. 통합 개발 환경 (Integration)

  • 컴포넌트가 의존성을 가질 때, 여러 컴포넌트를 통합하고 동시에 테스트하는 환경

6. 테스트 (QA)

  • 소프트웨어 품질 확보를 위한 테스트 및 개발을 수행하는 환경
  • 테스트 케이스 작성, 자동화된 테스트 실행, 결과 분석
  • QA 엔지니어를 위한 환경. 기능테스트, 환경테스트, 성능테스트 실행

참고

profile
공부에는 끝이 없다

0개의 댓글