금요일 새벽, RDS 메이저 버전 업그레이드를 걸어놓고 퇴근했다. 토요일 아침에 일어나보니 Slack 알림 247개.
주문 서비스에서 이상한 버그 하나가 올라왔다. 주문은 정상 생성되는데, 예외가 터져도 재고 차감이 롤백되지 않는다.
올해 2월, Clerk의 온콜 엔지니어는 대시보드가 전부 녹색인 상태에서 90분짜리 장애를 겪었다. 아침 8시 11분, 429 응답률이 치솟기 시작한다.
7월 14일 오후 12시 37분(ET), Coinbase 엔지니어가 "저위험" 설정 변경을 프로덕션 K8s 클러스터에 밀어 넣었다. 새 서비스 배포 모델 마이그레이션의 일부였고, 변경 자체는 루틴이었다.
결제 서비스가 8개월 동안 아무 문제 없이 돌다가 금요일 밤 자정에 터졌다. HikariPool-1 - Connection is not available, request timed out after 30000ms.
3월 12일 오후 2시 17분, AWS 3개 리전에서 동시에 5xx 알림이 쏟아지기 시작했다. 원인은 DDoS도 아니고 코드 배포도 아니었다 — cert-manager 크론잡 하나가 Let's Encrypt에 14,000개의 인증서 발급 요청을 90초 만에 쏟아부은 게 전부였다.
6월에 동료가 PR을 하나 올렸다. 제목은 "chore: Resilience4j 의존성 제거, Spring 7 내장 @Retryable로 전환.
올해 상반기에만 Spring 생태계에서 서버 사이드 요청 위조 관련 CVE가 세 건 터졌다. Spring AI Bedrock(CVE-2026-22742), Spring Authorization Server(CVE-2026-22752), Spring Cloud Config까지.
금요일 오후 4시 47분, 슬랙에 배포 성공 알림이 초단위로 쏟아졌다. "누가 릴리스 브랜치 잘못 건드렸나?
주문 완료 후 알림을 보내는 코드에 @Async를 붙인 건 금요일 오후였다. 월요일 아침, CS팀에서 연락이 왔다.
Spring Boot 4에서 spring.threads.
정산 배치가 3원 차이로 불일치를 내뱉기 시작한 건 Spring Boot 4 올린 지 열흘째 되는 날이었다. API 서버는 멀쩡했다.
Spring Boot 4로 올리면서 kotlinx.serialization 스타터도 같이 넣었다.
새벽 2시, Grafana에서 CPU 사용률 경보가 울렸다. 트래픽은 평소의 절반도 안 되는데 서버 파드 4개가 전부 CPU 80%를 넘기고 있었다.
요즘 이상한 현상이 하나 있다. GitHub Copilot, Claude, Cursor — 도구는 전보다 10배는 좋아졌는데, 주니어 개발자들의 야근은 줄지 않았다.
새벽 2시 47분, 슬랙에 알림이 쏟아졌다. 결제 API 응답률 0%.