쿠버네티스 HPA/VPA 오토스케일링 실전 튜닝
쿠버네티스에서 오토스케일링은 “켜두면 알아서 잘 되는” 기능이 아닙니다. 기본값으로 HPA를 붙여놓고 트래픽 급증을 맞으면, 파드가 늦게 뜨거나 우르르 떴다가 다시 죽는 플래핑(flapping)을 …
쿠버네티스에서 오토스케일링은 “켜두면 알아서 잘 되는” 기능이 아닙니다. 기본값으로 HPA를 붙여놓고 트래픽 급증을 맞으면, 파드가 늦게 뜨거나 우르르 떴다가 다시 죽는 플래핑(flapping)을 …
TLS 인증서를 수동으로 관리하던 시절의 악몽은 대개 하나로 요약됩니다. “인증서가 만료됐는데 아무도 몰랐다.” 갱신 담당자가 퇴사했거나, 캘린더 알림을 놓쳤거나, 갱신은 했는데 배포를 잊은 채 서…
디스크 사용량이 이유 없이 계속 늘어난다. 데이터는 몇 달째 비슷한 규모인데 테이블 물리 크기만 부풀어 오르고, 어제까지 멀쩡하던 조회 쿼리가 점점 느려진다. 로그를 뒤져 보면 autovacuum …
서비스 메시는 마이크로서비스 사이의 통신을 애플리케이션 코드 밖으로 빼내어, 트래픽 관리·보안·관측성을 인프라 계층에서 일관되게 처리하는 기술입니다. mTLS 자동 암호화, 재시도와 서킷 브레이커,…
트래픽이 어느 정도 오르기 시작한 서버라면 누구나 한 번쯤 이 로그를 만납니다. Too many open files . 대개는 새벽에, 부하가 몰릴 때, 예고 없이 터집니다. 원인은 리눅스의 파일 …
클러스터를 운영하다 보면 파드가 엉뚱한 곳에 뜨는 순간이 반드시 온다. GPU 노드에 CPU만 쓰는 배치 파드가 스케줄돼 비싼 자원을 놀리거나, 레플리카 3개가 하필 같은 노드에 몰려 그 노드가 죽…
서버가 느려졌다는 알림을 받았을 때, 무작정 재부팅하거나 인스턴스를 키우는 것은 근본 원인을 덮는 임시방편입니다. 리눅스 서버의 부하는 크게 CPU, 메모리, I/O 세 축으로 나뉘며, 각 축마다 …
CDN을 앞단에 붙였는데도 오리진 트래픽이 줄지 않는다면, 십중팔구 캐시 전략이 잘못 설계된 것입니다. CDN은 “일단 앞에 두면 알아서 캐싱해주는 마법”이 아니라, 무엇을 얼마나 오래, 어떤 키로…
분산 시스템에서 장애는 “서버가 죽었을 때”만 발생하지 않습니다. 오히려 더 흔한 원인은 느린 응답 입니다. 하나의 다운스트림 서비스가 평소보다 몇 초 느려지면, 타임아웃을 걸어두지 않은 클라이언트…
사무실 유선망에서는 멀쩡하던 서비스가 지하철이나 엘리베이터에서 유독 버벅인다. 원인을 파고들면 HTTP/2도 완벽하지 않다는 사실에 부딪힌다. HTTP/2는 하나의 TCP 연결 위에 여러 요청을 다…
비동기 메시징을 도입할 때 가장 자주 마주치는 갈림길이 Kafka와 RabbitMQ 사이의 선택입니다. 둘 다 “메시지 큐”로 뭉뚱그려 불리지만, 설계 철학과 강점이 근본적으로 다릅니다. 잘못 고르…
서비스가 다운되고 나서야 알아채는 것은 이미 늦은 것이다. 프로덕션 환경에서 모니터링은 선택이 아니라 생존 전략이다. 이 글에서는 오픈소스 모니터링 스택의 사실상 표준인 Prometheus와 Gra…
마이크로서비스 아키텍처(MSA)를 설계할 때 서비스 간 통신 프로토콜 선택은 전체 시스템 성능과 운영 편의성을 좌우하는 핵심 결정입니다. REST는 수십 년간 표준으로 군림해왔지만, gRPC는 구글…
컨테이너는 격리되어 있다는 착각이 가장 위험하다. 도커 컨테이너는 호스트 OS 커널을 공유하고, 이미지 안에 취약한 라이브러리가 숨어 있거나 root로 프로세스가 실행된다면 침해 사고가 터졌을 때 …
로그는 시스템의 ‘블랙박스’다. 장애가 터졌을 때 로그 파이프라인이 제대로 갖춰져 있지 않으면, 원인 분석에 몇 시간이 아니라 며칠이 걸리기도 한다. 로그 수집 스택을 선택할 때 가장 많이 맞붙는 …
API 응답속도가 느리다는 민원이 들어오면 가장 먼저 손이 가는 해결책이 Redis 캐시입니다. 잘 적용하면 응답 지연을 100ms에서 5ms 이하로 줄이는 것이 현실적으로 가능하지만, 잘못 설계하…
웹 서비스가 트래픽 피크를 맞이하면 가장 먼저 무너지는 곳은 대개 데이터베이스 레이어입니다. “Too many connections” 에러, 쿼리 타임아웃, 결국 서비스 전체 다운 — 이 패턴은 커…
트래픽이 갑자기 10배로 폭증하는 상황을 상상해보세요. 평소에는 문제없이 돌아가던 서비스가 순식간에 500 에러와 응답 지연으로 무너집니다. 원인의 상당수는 애플리케이션 코드가 아니라 그 앞에 놓인…
수동으로 AWS 콘솔을 클릭해 인프라를 구성하던 시대는 끝났습니다. 클라우드 리소스가 수십, 수백 개로 늘어날수록 클릭 기반 관리의 한계는 명확해집니다. 설정 드리프트, 재현 불가능한 환경, 팀원 …
시스템이 복잡해질수록 “지금 무슨 일이 벌어지고 있나?”라는 질문에 답하기가 어려워집니다. 단일 프로세스 시절에는 로그 몇 줄로 충분했지만, 마이크로서비스가 수십 개 얽히고 쿠버네티스 위에서 수백 …
쿠버네티스 클러스터를 운영하다 보면 어느 날 갑자기 파드가 OOMKilled 상태로 재시작되거나, CPU 사용률은 낮은데 응답 지연이 급증하는 현상을 마주하게 됩니다. 대부분의 경우 원인은 reso…
컨테이너 이미지 용량은 배포 속도, 저장 비용, 공격 표면(attack surface) 세 가지에 직접 영향을 미칩니다. CI/CD 파이프라인에서 이미지를 매번 풀(pull)해야 한다면 500 MB…