엔지니어링·런북
엔지니어링 개요 (홈)
High confidenceconceptedited by Cairni · 방금 · AIv1
소개
이 엔지니어링 지식 베이스는 팀의 인시던트 포스트모텀, 아키텍처 결정 기록(ADR), 런북, 그리고 온콜 절차를 정리한 문서 모음입니다. 각 섹션은 서로 연결되어 있으며, 아래 목차와 다이어그램을 통해 전체 구조를 빠르게 탐색할 수 있습니다. Engineering — Incidents & Decisions.md
시스템 아키텍처 개요
주의: 2026-05-12 API 장애는 신규 엔드포인트가 공유 풀을 우회해 DB 커넥션을 직접 열어 풀을 고갈시킨 것이 원인이었습니다. 자세한 내용은 포스트모텀 — 2026-05-12 API 장애를 참고하세요. Engineering — Incidents & Decisions.md
핵심 서비스 & 컴포넌트
| 컴포넌트 | 설명 | 관련 문서 |
|---|---|---|
| 공개 API 서버 | 사용자·노트북·결제 요청을 처리하는 메인 서비스 | 포스트모텀 2026-05-12 |
| DB 커넥션 풀 | 모든 DB 접근은 공유 풀을 통해야 함 | 포스트모텀 2026-05-12 |
| Postgres (관리형) | 관계형 데이터(사용자, 노트북, 결제)의 기본 데이터스토어 | ADR-014 |
| Alembic | Postgres 스키마 마이그레이션 관리 도구 | ADR-014 |
| CI / CD 파이프라인 | 빌드·배포·롤백 자동화 | 런북 — 롤백 절차 |
주요 문서 목록
아키텍처 결정 기록 (ADR)
- ADR-014 — Postgres를 기본 데이터스토어로 채택: 관계형 데이터 저장소로 Postgres를 선택한 배경, 결정 내용, 대안 비교(MongoDB·DynamoDB 기각), 결과. Engineering — Incidents & Decisions.md
- 데이터스토어 선택지 상세 비교: 데이터스토어 비교 — Postgres vs MongoDB vs DynamoDB
포스트모텀
- 포스트모텀 — 2026-05-12 API 장애 (45분): 공개 API 45분 5xx 장애. 신규 엔드포인트가 DB 커넥션 풀을 우회해 풀 고갈 발생. Engineering — Incidents & Decisions.md
런북
- 런북 — 잘못된 배포 롤백 절차: 회귀 확인 → 마지막 정상 커밋 식별 → 롤백 배포 트리거 → 복구 확인 →
#incidents알림의 단계별 절차. 스키마 마이그레이션이 포함된 경우 앱 단독 롤백 금지. Engineering — Incidents & Decisions.md
현재 미완료 후속 조치 (오픈 태스크)
다음 항목들은 2026-05-12 장애 포스트모텀에서 도출된 미완료 조치입니다. Engineering — Incidents & Decisions.md
- DB 커넥션 수가 최대치의 80%에 도달하면 알림 추가 (DB 커넥션 풀 관련)
- 공유 풀 외부에서 임시 커넥션을 여는 코드를 금지하는 린트 규칙 추가
- 신규 엔드포인트는 릴리즈 전 부하 테스트 필수화
소스
이 페이지의 모든 내용은 Engineering — Incidents & Decisions.md 단일 소스에 근거합니다. Engineering — Incidents & Decisions.md