| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
- timeout
- aws
- Ops
- Retry
- frontend
- API
- Operations
- version-control
- JavaScript
- Security
- web
- architecture
- CI
- SRE
- DevOps
- database
- 성능
- reliability
- react
- Performance
- Microservices
- PostgreSQL
- backend
- Infra
- CSS
- HTTP
- Git
- observability
- event-driven
- Kubernetes
- Today
- Total
목록전체 글 (290)
고민보단 실천을
DynamoDB 조건부 쓰기 실전: Optimistic Locking으로 경합과 중복 갱신 줄이기분산 환경에서 마지막 저장이 무조건 승리하게 두면 조용한 덮어쓰기가 생긴다.중급 DynamoDB 설계에서는 조건부 쓰기를 단순 예외 처리로 보지 말고, 경합을 설명하는 비즈니스 규칙으로 써야 한다.왜 지금 이 주제가 중요한가동시 수정은 사용자 수가 늘면 필연적으로 발생한다.조건부 쓰기는 락 없이도 충돌을 감지할 수 있는 현실적인 도구다.경합이 잦은 경로는 재시도 정책과 사용자 메시지까지 같이 설계해야 한다.핵심 설계 포인트version 속성이나 상태 전이 조건을 기준으로 조건부 갱신을 건다.실패는 시스템 오류가 아니라 비즈니스 충돌로 구분한다.재시도 가능한 충돌과 사용자 개입이 필요한 충돌을 나눈다.조건식은 ..
DB 샤딩 전략 비교: Range vs Hash vs Directory, 언제 무엇을 선택할까샤딩은 스케일을 위한 도구지만, 한 번 나누고 나면 다시 합치기 어렵다.중급 설계에서는 읽기·쓰기 분산보다 재분배 비용, hotspot 위험, 운영 도구까지 같이 보고 샤딩 방식을 골라야 한다.왜 지금 이 주제가 중요한가Range는 이해하기 쉽지만 특정 구간에 트래픽이 몰리면 hotspot이 생긴다.Hash는 균등 분산에 좋지만 범위 조회와 재샤딩이 어렵다.Directory는 유연하지만 라우팅 메타데이터 운영이 필요하다.핵심 설계 포인트핵심 접근 패턴과 테넌트별 데이터 편차를 먼저 본다.샤드 키는 쿼리 패턴과 재분배 비용의 균형으로 정한다.라우팅 레이어와 운영 도구를 초기 설계에 포함한다.단일 DB로 충분한 한계..
CloudFront Origin Shield 실전: Tiered Cache와 함께 원본 부하를 줄이는 구조캐시 적중률이 낮은 트래픽 패턴에서는 엣지 노드가 많을수록 오히려 원본으로 가는 요청이 분산돼 부하가 커질 수 있다.중급 CDN 운영에서는 Origin Shield와 Tiered Cache를 통해 원본 보호 계층을 설계할 가치가 있다.왜 지금 이 주제가 중요한가전 세계 엣지에서 비슷한 miss가 반복되면 origin이 예상보다 빨리 포화된다.Origin Shield는 원본 보호에 유리하지만 추가 비용과 지연을 같이 본다.캐시 키와 오리진 설정이 정리돼 있지 않으면 Shield 효과가 제한적이다.핵심 설계 포인트Tiered Cache와 Origin Shield를 함께 보고 원본 보호 구조를 설계한다.S..
Cilium 네트워크 정책 실전: eBPF 기반 가시성과 제어를 같이 가져가는 방법기본 NetworkPolicy만으로 충분한 경우도 있지만, 더 세밀한 정책과 네트워크 가시성이 필요한 순간 Cilium이 매력적으로 보인다.중급 운영에서는 기능 수보다 CNI 변경 리스크와 운영 모델 변화를 먼저 이해해야 한다.왜 지금 이 주제가 중요한가L3/L4 정책만으로는 애플리케이션 경계 제어가 부족할 때가 있다.정책과 네트워크 흐름을 같은 도구에서 보고 싶은 요구가 커진다.CNI 교체는 클러스터 운영에서 결코 작은 변화가 아니다.핵심 설계 포인트기본 deny-all과 허용 규칙을 작게 시작한다.CiliumNetworkPolicy의 확장 기능을 바로 다 쓰기보다 운영이 필요한 것부터 적용한다.Hubble 같은 가시성 ..
Backstage 실전: Service Catalog와 Software Templates로 골든 패스를 만드는 방법플랫폼 팀이 좋은 규칙을 만들어도 개발자가 찾고 쓰기 어렵다면 결국 각자 복사해 쓰게 된다.중급 플랫폼에서는 Backstage를 포털로만 보지 말고, 서비스 등록과 템플릿 배포를 묶는 운영 체계로 설계해야 한다.왜 지금 이 주제가 중요한가서비스 수가 늘수록 소유권, 문서, 배포 경로를 추적하기 어려워진다.골든 패스가 문서로만 있으면 새 프로젝트는 다시 제각각 시작된다.서비스 카탈로그와 템플릿이 연결되어야 플랫폼 표준이 실제 코드로 이어진다.핵심 설계 포인트Service Catalog는 메타데이터 저장소가 아니라 ownership과 운영 문맥의 출발점으로 본다.Software Templates..
Apache Iceberg 실전: Snapshot, Partition Evolution으로 데이터 레이크 테이블을 운영하는 법데이터 레이크는 파일만 쌓아 두면 언젠가 스키마와 파티션 변경이 운영 문제로 돌아온다.중급 데이터 플랫폼에서는 Iceberg를 파일 포맷이 아니라, 테이블 변경과 롤백을 설명하는 메타데이터 계층으로 이해해야 한다.왜 지금 이 주제가 중요한가단순 Hive 파티션 구조는 스키마·파티션 변경이 어려울 수 있다.Snapshot과 manifest 관리가 있어야 안전한 롤백과 점진 변경이 가능하다.Partition evolution은 강력하지만 쿼리 엔진 지원과 운영 절차를 같이 봐야 한다.핵심 설계 포인트테이블 버전과 스냅샷을 운영 복구 도구로 활용한다.파티션 전략은 현재 쿼리와 향후 진화..
Alertmanager 운영 실전: 라우팅, Inhibition, Silence로 알람 폭주 줄이기알람이 많다고 안전한 것이 아니다. 관계를 모르는 알람은 incident 때 사람부터 지치게 만든다.중급 운영에서는 Alertmanager를 단순 전달기가 아니라, 어떤 알람이 누구에게 어떤 맥락으로 가야 하는지 정리하는 계층으로 써야 한다.왜 지금 이 주제가 중요한가상위 서비스 장애 하나가 하위 의존성 경보 수십 개로 번질 수 있다.운영 시간과 비운영 시간, paging과 비paging을 분리하지 않으면 팀이 소진된다.Inhibition과 silence 규칙이 없으면 '이미 아는 장애'가 계속 사람을 깨운다.핵심 설계 포인트service, severity, environment, owner 같은 라벨을 라..
테스트 데이터 관리 실전: factory, fixture, seed를 섞어도 테스트가 안 흔들리게 만드는 법테스트가 느리거나 flaky한 이유 중 상당수는 코드보다 데이터가 불안정해서다.중급 팀에서는 fixture, factory, seed를 상황에 맞게 분리하고, 어떤 계층의 테스트가 어떤 데이터를 소유하는지 정해야 한다.왜 지금 이 주제가 중요한가공유 데이터가 많아질수록 테스트 간 간섭과 순서 의존성이 커진다.현실적인 데이터와 빠른 테스트 사이에는 항상 균형점이 필요하다.환경 준비 시간을 줄이지 못하면 테스트는 결국 덜 돌게 된다.핵심 설계 포인트단위 테스트는 factory 중심, 통합 테스트는 seed/fixture 중심으로 구분할 수 있다.읽기 쉬운 기본 데이터와 명시적 override 패턴을 함..
Durable Execution 입문: Temporal로 재시도와 상태 복구를 워크플로 수준에서 다루는 법재시도와 상태 복구를 애플리케이션 코드 곳곳에 흩뿌리면 결국 어디서 다시 시작해야 하는지 알기 어려워진다.중급 설계에서는 Durable Execution이 필요한지, 그리고 상태/재시도/보상을 워크플로 엔진으로 올릴 가치가 있는지 판단해야 한다.왜 지금 이 주제가 중요한가장시간 실행되는 비즈니스 플로우는 프로세스 재시작과 네트워크 오류를 자연스럽게 맞닥뜨린다.수동 재처리가 반복되면 상태 머신을 코드 외부로 끌어올릴 시점이다.워크플로 엔진은 강력하지만 새로운 운영 계층을 추가한다.핵심 설계 포인트워크플로는 결정적(deterministic)이어야 하고, 외부 호출은 activity로 분리한다.재시도 정책..