코딩마을방범대
개발 환경의 6가지 본문
728x90
개발 환경
local(로컬 개발 환경) -> dev(서버 개발 환경) -> Integration(통합 개발 환경) -> QA(테스팅 환경) -> staging(스테이징 환경) -> production(운영 환경)
1. local (로컬 개발 환경)
- 각 개발자마다 설치된 서버 환경을 local 환경이라고 함
ex) MySQL 등의 DB, Tomcat, Eclipse와 같은 개발 툴, 컴파일러 등 - 개발 환경을 표준화 하는 방법은 여러가지가 있지만, 전체 개발 환경 (JDK,Eclipse,library)을 zip파일 형태로 묶어서 사용하는 방법이 가장 일반적
1과 2 사이의
🎇 PoC (Proof of Concept)
새로운 프로젝트가 실제로 실현 가능성이 있는지, 효과와 효용, 기술적인 관점에서 검증 하는 과정
2. dev (서버 개발 환경)
- 개발자들이 만든 코드를 합쳐서 서버 환경에서 테스트 해볼 수 있는 환경
- production이 클러스터링 환경으로 수개의 서버로 구성된다면, 개발 환경은 한 두개의 서버로 기능 구현이 가능한 정도로 구축하는 것이 일반적
3. Integration (통합 개발 환경)
- 여러개의 component(요소)를 동시 개발하는 프로젝트가 있고, 각 component가 다른 component에 대해서 dependency(의존성)를 가지고 있을 때, 컴포넌트를 통합 및 테스트하는 환경
- dev 환경과 마찬가지로 최소한의 set으로 구성하되, dev환경에서 릴리스가 되면 주기적으로 deploy(지속적 배치)
4. QA (테스팅 환경)
- QA(Quality Assurance) 엔지니어 의해서 사용되는 환경
- 릴리스 주기에 따라서, 개발환경에서 QA 환경으로 배포 되고, 여기서 기능 및 비기능(Load Test) 등을 QA 엔지니어가 수행
- 비 기능 테스트는 production과 거의 유사한 환경에서 수행
5. staging (스테이징 환경)
- 운영 환경과 거의 동일한 환경을 만들어 놓고, 운영 환경으로 이전하기 전에, 여러 가지 비 기능적인 부분(Security, 성능, 장애 등)을 검증하는 환경
6. production (운영 환경)
- 실제 서비스를 위한 환경
환경이 많아지면 유지하는데 필요한 서버들과, 운영 인력이 많이 소요되는 단점이 있음
그래서 요즘과 같이 가상화 환경을 사용하는 경우에는 이미지를 만들어 놓았다가, 실제 테스트나 사용을 할 경우에만 가상 서버에 환경을 deploy해서 사용하고, 사용이 끝나면 다시 이미지를 storage(저장소,repository)에 저장해 놓는 전략을 많이 사용
🎃 배포 (release,deploy,distribution)
- release
같은 제품을 새롭게 만드는 것
ex) 새로운 버전을 배포, 새로운 아이피 번호 부여 - deploy
프로그램 등을 서버와 같은 기기에 설치하여 서비스 등을 제공하는 의미 - distribution
제품을 사용자들이 사용할 수 있도록 서비스 등을 제공하는 의미
WAB - WAS - DB
Web Server
- 클라이언트로부터 요청을 받아 정적인 콘텐츠(html, css, jpeg)를 처리하는 시스템
(Apache, Nginx, IIS)
WAS (Web Application Server)
- DB 조회나 다양한 로직을 처리하는 동적인 콘텐츠를 처리하는 시스템
(Tomcat, Jeus, JBoss / PHP, JSP, ASP)
DB(Data Base)
- 데이터 집합 또는 저장소
DB테이블
시스템에서 데이터가 저장되는 형태
- 컬럼(Column): DB테이블의 열 (ex: 번호, 이름)
- 레코드(Record): DB테이블의 행 (ex: 홍길동의 데이터 전체)
- 쿼리(Query): DB에서 정보 조회를 요청하는 것
- SQL(Structured Query Language): DB 언어
728x90
'🎃 기타 > 상식 ❗' 카테고리의 다른 글
서버와 IT용어(컴파일 & 링크 & 빌드) (0) | 2023.05.26 |
---|---|
포트와 DNS (0) | 2023.05.26 |
CI와 DI (0) | 2023.05.26 |
단방향 & 양방향 암호화 (0) | 2023.05.25 |
부인방지와 API (0) | 2023.05.25 |