Twelve Factor 방법론
From IT위키
(Redirected from 12 Factor)
- SaaS 앱을 개발하기 위한 방법론
특징[edit | edit source]
- 설정 자동화를 위한 절차 체계화로 새로운 개발자가 프로젝트에 참여하는데 드는 시간과 비용을 최소화
- OS에 따라 달라지는 부분을 명확히하고, 실행 환경 사이의 이식성을 극대화
- 최근 등장한 클라우드 플랫폼 배포에 적합하고, 서버와 시스템의 관리가 불필요
- 개발 환경과 운영 환경의 차이를 최소화하고 민첩성을 극대화하기 위해 지속적인 배포 가능
- 툴, 아키텍처, 개발 방식을 크게 바꾸지 않고 확장(scale up) 가능
12개의 요소[edit | edit source]
번호 | 요소 | 설명 |
---|---|---|
1 | 코드베이스 | 버전 관리되는 하나의 코드베이스와 다양한 배포 |
2 | 종속성 | 명시적으로 선언되고 분리된 종속성 |
3 | 설정 | 환경(environment)에 저장된 설정 |
4 | 백엔드 서비스 | 백엔드 서비스를 연결된 리소스로 취급 |
5 | 빌드, 릴리즈, 실행 | 철저하게 분리된 빌드와 실행 단계 |
6 | 프로세스 | 애플리케이션을 하나 혹은 여러개의 무상태(stateless) 프로세스로 실행 |
7 | 포트 바인딩 | 포트 바인딩을 사용해서 서비스를 공개함 |
8 | 동시성(Concurrency) | 프로세스 모델을 사용한 확장 |
9 | 폐기 가능(Disposability) | 빠른 시작과 그레이스풀 셧다운(graceful shutdown)을 통한 안정성 극대화 |
10 | 개발/프로덕션환경 일치 | 개발, 스테이징, 프로덕션 환경을 최대한 비슷하게 유지 |
11 | 로그 | 로그를 이벤트 스트림으로 취급 |
12 | Admin 프로세스 | admin/maintenance 작업을 일회성 프로세스로 실행 |