SSR을 운영하는 프론트엔드 개발자가 쿠버네티스를 블랙박스로 두지 않기 위해, kind 클러스터에서 직접 열어보고 실측한 기록
2026-08-10마지막 업데이트
02
AI 시대의 판단
03 POSTS· 2026
AI가 코드를 대신 쓰는 시대에 개발자에게 남는 것은 무엇인지, 판단과 책임이라는 축으로 따져본 에세이
2026-06-21마지막 업데이트
03
디렉티브 딥다이브
03 POSTS· 2026
'use client', 'use server', 'use cache'. 파일 맨 위 한 줄이 빌드와 런타임에서 무엇으로 변하는지 소스 레벨까지 따라간 기록
2026-05-01마지막 업데이트
04
Next.js의 현주소
05 POSTS· 2026
Edge Runtime의 후퇴, Cloudflare의 재구현, React Foundation 출범까지. 2026년의 Next.js가 서 있는 자리를 다섯 편에 걸쳐 짚어본 기록
2026-03-23마지막 업데이트
05
웹 서비스 성능 분석
04 POSTS· 2025
실제 운영 중인 서비스 네 곳을 직접 성능 분석해 드리고, 그 과정과 개발자분들의 피드백을 남긴 기록
2025-07-19마지막 업데이트
08 ITEMS
Recent
latest writing
01
typescript@7을 설치하면 벌어지는 일들: 블로그 모노레포 마이그레이션 기록
#typescript#oxc#eslint
pnpm lint가 12분 32초 걸리던 모노레포에 typescript 7.0.2를 넣어봤다. 타입체크는 조용히 지나갔는데 next build가 깨졌고, lint는 크래시했다. eslint와 prettier를 oxlint와 oxfmt로 갈아탄 하루의 연쇄 반응과 전후 실측 기록. 미리 말해두면, 빌드는 빨라지지 않았다.
2026-08-1017분 · read
02
책을 쓰고 있습니다: AI 시대의 개발 이야기를 들려주실 분을 찾습니다
#ai#essay#interview
AI가 코드를 쓰는 시대에 개발자의 하루가 어떻게 달라졌는지 듣고 있습니다. AI 덕분에 성장이 빨라진 분, 반대로 학습에 어려움을 느끼는 분, AI와 함께 커리어를 시작한 주니어 분의 이야기를 찾습니다. 인터뷰는 예외 없이 익명으로 처리합니다.
2026-08-105분 · read
03
오토스케일링은 자동이지만 즉시가 아니다: HPA의 시간을 구간별로 실측한 기록
#kubernetes#autoscaling#nextjs
트래픽을 12배로 올리고 새 파드가 첫 요청을 받기까지 31.5초. 그 31.5초의 내역서를 스톱워치로 뽑았다. 감지 창이 지배하는 구조, 배포 직후 5분 창에서 오토스케일러가 눈을 잃는 조건, 안정화 창의 계단, 메모리 HPA가 Node에서 불발되는 이유, KEDA의 선제 확장까지. 프론트엔드 개발자를 위한 쿠버네티스 시리즈의 다섯 번째 편이다.
2026-08-1039분 · read
04
파드는 어떻게 종료되는가: 배포 중 에러의 원인과 해결을 실측한 기록
#kubernetes#nextjs#nodejs
코드를 한 줄도 바꾸지 않은 배포에서도 에러는 샌다. 롤링 배포 중 새는 실패를 유형과 시각까지 태깅해 원인 네 가지를 부검하고, 처방을 한 층씩 얹어 0으로 만들기까지의 실측 기록이다. Next.js의 종료 코드 원문과 인질 드레인, CrashLoopBackOff의 실제 시간표까지. 프론트엔드 개발자를 위한 쿠버네티스 시리즈의 네 번째 편이다.
2026-08-0836분 · read
05
트래픽은 어떻게 내 파드에 도착하는가: ClusterIP부터 port-forward까지
#kubernetes#networking#nextjs
Service의 ClusterIP는 어느 기계에도 붙어 있지 않은 IP인데 curl은 어떻게 닿는가. iptables 규칙과 conntrack, EndpointSlice, 클러스터 DNS의 ndots, Gateway, port-forward까지, 요청이 파드에 도착하는 경로 전체를 kind 클러스터에서 직접 열어본 기록이다. 프론트엔드 개발자를 위한 쿠버네티스 시리즈의 세 번째 편이다.
2026-08-0648분 · read
06
내 Next.js 앱은 어떻게 파드가 되는가: 컨테이너와 파드를 직접 열어본 기록
#kubernetes#docker#nextjs
같은 Next.js 앱인데 이미지 하나는 1.72GB, 하나는 208MB였다. 사라진 1.5GB를 레이어에서 역추적하고, 컨테이너가 격리된 프로세스라는 것을 PID와 cgroup 파일로 직접 확인한다. 프론트엔드 개발자를 위한 쿠버네티스 시리즈의 두 번째 편이다.
2026-08-0534분 · read
07
프론트엔드 개발자를 위한 쿠버네티스 개념 지도: 파드에서 오토스케일러까지
#kubernetes#frontend#nodejs
SSR을 운영하는 프론트엔드 개발자가 마주치는 쿠버네티스 용어와 구조를 실무 흐름 순서로 정리했다. 클러스터의 전체 구조부터 배포, 파드의 상태와 자원, 트래픽 경로, 오토스케일링까지. 시리즈의 첫 편이자 이후 편들의 참조 지도다.
2026-08-0541분 · read
08
Node.js 파드는 왜 그 크기인가: NODE_OPTIONS부터 파드 수까지 직접 재본 사이징
#nodejs#kubernetes#v8
같은 워크로드에 GC 튜닝 플래그 한 줄을 붙였더니 peak RSS가 201MB에서 593MB로 뛰었다. 살아있는 데이터는 그대로였다. 왜 그게 당연한 결과인지 V8 New Space를 직접 측정해 역추적하고, 프론트엔드 개발자가 Node.js 파드를 사이징하는 세 축을 정리한다.