기술 블로그
실무에서 직접 설계·운영한 백엔드 시스템과 의사결정 기록. Go·Java/Spring·PostgreSQL·Kubernetes 기반의 분산 시스템 패턴, 음성 AI 파이프라인(WebRTC·STT·LLM·TTS)의 latency·동시성 트레이드오프, OCR/문서 탐지 모델의 평가 지표(F1·Precision·Recall) 적용기 등을 다룹니다. 모든 글은 본인이 직접 운영하며 측정한 1차 데이터에서 출발합니다.
-
ReplicaSet·Deployment·StatefulSet·Canary — 몇 개를, 어떻게 굴릴까
쿠버네티스는 Pod를 직접 만들지 않는다. ‘이 상태로 유지하라’를 맡으면 컨트롤러가 대신 개수·버전·배치를 지킨다. ReplicaSet·Deployment·DaemonSet·StatefulSet·Job/CronJob과 Canary 배포를 한 줄 정의로 갈라내고, 실제 kubectl 콘솔로 자기치유와 롤링…
-
[홈랩 검증기] READY 1/1인데 고장나 있었다 — 준비 상태가 증명하지 않는 것들
DB를 재기동한 뒤 모든 파드가 READY 1/1이었습니다. 그런데 애플리케이션은 DB에 닿지 못하고 있었고, DB 크기는 줄어든 것처럼 보였고, 제가 쓴 점검 명령은 고장난 파드를 걸러내지…
-
Control Plane·Node·Pod·Namespace — 클러스터는 누가 관리하나
컨테이너 하나는 이해했는데, 수백 개로 늘어 여러 머신에 흩어지면 누가 관리하나? 그 답이 쿠버네티스다. Control Plane(두뇌)·Node(일꾼)·Pod(최소 배포 단위)·Namespace(논리 폴더)를 한 줄 정의로 갈라내고, 실제 kubectl…
-
[홈랩 검증기] 파드를 지워도 데이터는 남아 있었다 — PVC로 옮기기 전에 틀린 전제 두 개를 찾은 이야기
집 서버의 Postgres를 PVC로 옮기려다 전제 두 개가 연달아 틀렸습니다. hostPath는 이미 영속이었고, 데이터가 있던 디스크도 제가 본 것과 달랐습니다. 두 번째 오독을 잡지 못했다면…
-
Dockerfile·이미지·컨테이너·도커 — 밀린 주어 바로잡기
‘도커는 명령을 모아둔 파일, 컨테이너는 도커를 관리하는 프레임워크’ — 이런 막연한 감각은 주어가 한 칸씩 밀려 있다. Dockerfile(레시피)·Image(스냅샷)·Container(실행된 프로세스)·Docker(도구)를 한 줄 정의로 갈라내고, 실제 도커…
-
DAO·DTO·VO 한 페이지 — 역할로 가르고 예제로 굳히기
OrderDAO·OrderDTO·OrderVO가 한 프로젝트에 나란히 있으면 누가 무엇인지 헷갈린다. 이름이 아니라 역할로 보면 갈라진다. 한 장 비교표부터 DAO의 인터페이스 경계와 Repository와의 차이, 엔티티를 그대로 노출하면 생기는…
-
홈서버 하나로 관측성부터 GitOps까지 — Prometheus·Loki·Tempo·Grafana, eBPF 실패와 Linkerd, ArgoCD 편입 실전기
집에 굴리는 서버 PC 한 대에 관측성 스택을 세우고 보안 게이팅과 GitOps까지 밀어붙인 기록. 디스크 14GB 제약 안에서의 스택 구성, 같은 데이터로 재현한 APM 대시보드…
-
[로컬 서버 운영기] 이관 뒤가 진짜다 — 백업 cron이 조용히 깨진 이야기
인프라를 옮기면 서비스만 이사하는 게 아닙니다. 거기 매달린 백업·모니터링 같은 운영 작업도 함께 깨집니다 — 그것도 조용히. Postgres가 Docker 컨테이너에서 K3s Pod로 바뀌자 docker exec로…
-
[로컬 서버 운영기] Docker Compose에서 K3s로 — 집 서버 쿠버네티스 이주기
잘 도는 Docker Compose 스택을 굳이 K3s로 옮길 이유가 있을까요. 단일 노드라도 선언형 배포와 셀프힐링은 매력적입니다. 서비스 이름을 그대로 유지해 이관 표면적을 줄인 방법과, 집…