클라우드 네이티브 설계 원칙 (12요소)
별점: ★★★★★ | 기본 필수
답안.
Ⅰ. 개요
Heroku가 제안한 클라우드 네이티브 앱 설계 원칙
- 코드베이스: 단일 저장소 (Git), 여러 배포
- 의존성: 명시적으로 선언 (requirements.txt, package.json)
Ⅱ. 핵심 구성요소
Heroku가 제안한 클라우드 네이티브 앱 설계 원칙
1. 코드베이스: 단일 저장소 (Git), 여러 배포
2. 의존성: 명시적으로 선언 (requirements.txt, package.json)
3. 설정: 환경 변수로 분리 (코드에 하드코딩 금지)
4. 백킹 서비스: DB·캐시·메시지 = 교체 가능 자원
5. 빌드/릴리즈/실행: 단계 엄격 분리
6. 프로세스: 무상태(Stateless), 공유 없음
7. 포트 바인딩: 포트 번호로 서비스 노출
8. 동시성: 프로세스 모델로 수평 확장
9. 폐기 용이성: 빠른 시작·정상 종료 (Graceful)
10. 개발/운영 동등: 환경 차이 최소화
11. 로그: 스트림으로 처리 (stdout)
12. 어드민 프로세스: 일회성 작업 별도 실행
[CNCF 정의]
컨테이너, 서비스메시, MSA, 선언적 API,
불변 인프라의 조합
[핵심 패턴]
사이드카: 메인 앱 + 보조 컨테이너 (로그, 프록시)
앰배서더: 외부 연결 프록시 사이드카
어댑터: 출력 표준화 사이드카
초기화 컨테이너: 앱 시작 전 준비 작업
[Anti-Pattern 피하기]
공유 라이브러리로 서비스 연결 (→ 공유 DB 금지)
직접 서비스 호출 → 서킷 브레이커 적용
해당 키워드의 기술적 구성요소와 동작 원리를 서술한다.
### Ⅲ. 특징 및 비교
핵심 기술의 장단점과 유사 기술과의 차이를 분석한다.
### Ⅳ. 적용 사례
실무 환경에서의 적용 사례와 기대효과를 제시한다.
### Ⅴ. 전망
최신 기술 동향과 향후 발전 방향을 서술한다.