HANDS-ON
00:00 경과
LABLAB-SWENG-18-TWELVE-FACTOR-APP중급
12-Factor App — 환경에 흔들리지 않는 앱의 원칙
ELAPSED
00:00
PHASE
0 / 4
SLA
50분
🧩 SW Engineering← 목록
INCIDENT RESPONSE
0 / 5 단계 완료
📚 PREREQUISITES
Theory
sw-engineering/twelve-factor-appTRACK
SW-ENGINEERING
SLA
50분
LEVEL
중급
PHASES
3단계
ENV
local
INCOMING TICKET
“팀장: "스테이징에서 되던 앱이 프로덕션에선 자꾸 죽어요. 설정이 코드에 박혀 환경마다 다시 빌드하고, 세션·업로드 파일이 서버 로컬에 쌓여 인스턴스를 못 늘려요. 12-Factor 원칙으로 우리 앱을 항목별로 점검해, 어느 환경에 놔도 똑같이 도는 앱으로 정비해 주세요."”
YOUR ROLE
앱을 클라우드 환경에 맞게 정비하는 백엔드/플랫폼 담당
안 하면 나중에
설정이 코드에 박히고 상태가 로컬에 쌓이면, 환경마다 다시 빌드해야 하고 인스턴스를 늘리지 못하며 "내 컴에선 되는데"가 반복돼 배포가 늘 불안하다.
📋상황 브리핑
팀장이 말합니다.
"스테이징에서 잘 돌던 앱이 프로덕션에만 올리면 자꾸 죽어요. 설정값이 코드에 박혀 있어서 환경마다 다시 빌드해야 하고, 로그인 세션이랑 업로드 파일이 서버 로컬에 쌓여서 인스턴스를 늘리지도 못합니다. 개발자들은 하나같이 '내 컴에선 되는데요'라고만 해요. 12-Factor App 원칙으로 우리 앱을 항목별로 점검해서, 어느 환경에 갖다 놔도 똑같이 도는 앱으로 정비해 주세요."
12-Factor App은 "어느 환경에 놔도 흔들리지 않는 앱"을 만드는 12가지 원칙이다. 이 Lab은 그중 핵심인 설정 분리·무상태화·배포 일관성을 골라, 이 앱을 요인별로 진단하고 정비한다. 멋진 아키텍처 그림이 아니라 "환경이 바뀌어도 같은 산출물이 같은 방식으로 도는가"가 채점 기준이다.
⏱ 50분📊 중급🔧 3단계#twelve-factor#config#stateless#portability
MISSION
1
설정 분리 점검 — 코드와 설정을 갈라놓기
코드에 박힌 설정을 환경변수로 빼내고, 시크릿이 코드·저장소에 남지 않도록 점검한다.
2
무상태로 만들기 — 프로세스·백킹서비스·로그
프로세스를 무상태로 바꿔 수평 확장 가능하게 하고, DB·큐·캐시를 attach 자원으로, 로그를 이벤트 스트림으로 다룬다.
3
배포 일관성 — 빌드·릴리스·실행 분리와 dev/prod 패리티
빌드·릴리스·실행을 분리하고, 개발·운영 환경 차이를 줄이며, 폐기 가능성을 확보해 "내 컴에선 되는데"를 없애고, 앱을 12요인 체크리스트로 항목별 진단한다.
📌 선수 지식
ℹ️ 실습 환경
환경: local
🔒
실습 실행은 Pro 플랜 전용입니다
인시던트 브리프와 학습 자료는 지금 바로 확인할 수 있습니다. 실제 실습 진행 및 터미널 사용은 Pro 플랜에서 가능합니다.
Pro로 업그레이드 →>_ LAB TERMINAL↔ 너비 조절
NOTES