N° 01 — 목록
'immutable' (2)
-
Software Architecture/FoundationsFoundations - 06. IaC 철학
서버 한 대를 설정하는 데 1시간이면, 100대에는 며칠이 걸린다 — IaC 철학2012년 8월 1일, Knight Capital의 주문 거래 시스템이 뉴욕 증권시장에서 폭주하기 시작했다. 45분 만에 회사가 4억 4천만 달러를 잃었고, 그해 말 파산했다. 나중에 밝혀진 원인은 단순했다 — 8개 서버 중 1대에만 이전 배포의 죽은 코드(DEAD code)가 남아 있었다. 7대에는 새 코드가 정상적으로 배포됐지만, 8번째 서버(RSM-4)는 수동 배포 과정에서 누락됐다. 그 서버가 살아 있던 구 코드가 새로운 거래 플래그를 해석하지 못하고, 시장에 무한히 주문을 쏟아낸 것이다. 이 사건은 자동화된 배포가 없는 인프라가 얼마나 위험한지를 보여주는 잔혹한 사례다. 한 대의 서버 설정이 어긋난 게 전 회사를 무..
-
Cloud & Infrastructure/KubernetesKubernetes - 10. config secret
왜 앱 설정을 이미지에 구우면 안 되는가 — ConfigMap과 Secret한 팀이 같은 앱을 개발/스테이징/운영 세 환경에 띄운다. 앱은 DB 호스트, API 키, 타임아웃 값을 설정 파일에서 읽는다. 처음엔 환경마다 이미지를 따로 빌드했다 — 설정 파일만 다른 이미지 세 개. 그러다 설정이 바뀔 때마다 빌드 3번, 푸시 3번, 배포 3번에 지쳤다. 그리고 깨달았다: 이미지는 코드여야지 환경 설정이어선 안 된다.이 글이 푸는 것은: Kubernetes가 ConfigMap(비기밀 설정)과 Secret(기밀 값)으로 "설정을 이미지에서 빼내는" 방법, 그리고 Secret이 사실 "비밀"이 아니라는 진실이다.설정은 세 가지로 주입된다Kubernetes에서 컨테이너에 설정을 넣는 방법은 세 가지다. 모두 Co..