DevOps · Git
오래 사는 브랜치 - 미룬 만큼 한꺼번에 온다
합치기를 미루면 비용은 미룬 시간에 비례해서 늘지 않는다. 충돌 면적·리뷰 크기·늦게 오는 답이 어떻게 함께 자라는지, 그리고 짧게 유지하는 값은 무엇인지 본다.
갈래와 합류 4편
DevOps · Git
브랜치 전략 - 오래 가르거나 자주 합치거나
이름 붙은 브랜치 전략들은 결국 하나를 정한다. 지선을 얼마나 오래 두었다가 되돌리나. 배포 주기·롤백 비용·팀 크기가 그 답을 어떻게 정하는지 본다.
갈래와 합류 3편
DevOps · Git
합칠 때 - 역사를 남기나 정리하나
지선을 본선으로 되돌리는 방법은 하나가 아니다. 이어 붙이는 머지와 옮겨 놓는 리베이스가 각각 무엇을 남기고 무엇을 지우는지, 충돌은 어디서 생기는지 본다.
갈래와 합류 2편
DevOps · Git
브랜치 - 같은 파일을 여럿이 고칠 때
코드를 고치는 사람이 둘이 되면 미완성을 둘 자리가 필요해진다. 갈라놓는다는 발상이 무엇을 풀어주고, 그 대신 무엇을 시작시키는지 본다.
갈래와 합류 1편
DevOps · Deployment
무중단 배포 - 안 끄고 갈아끼운다
구버전을 끄고 신버전을 켜는 사이에는 공백이 생긴다. 그 공백을 없애는 전략들(롤링·블루그린·카나리)이 각각 무엇을 사고 무엇을 파는지 본다.
DevOps · CI/CD
CI/CD - 사람이 안 하게 만든다
배포 절차를 사람이 기억하면 언젠가 한 단계를 빠뜨린다. 이 블로그를 실제로 배포하는 워크플로를 재료로 각 단계가 왜 있는지 본다.
빌드에서 배포까지 6편
DevOps · Nginx
리버스 프록시와 Nginx
앱 앞에 하나를 세우면 라우팅·TLS 종료·정적 서빙·버퍼링이 앱 밖으로 나간다. 로드 밸런서와 어떻게 다른지까지.
빌드에서 배포까지 5편
DevOps · Kubernetes
쿠버네티스 - 누가 돌보나
해야 할 일을 시키는 대신 원하는 상태를 적어둔다. 그 한 가지 발상이 자가 치유와 스케일링을 같이 만들어낸다.
빌드에서 배포까지 4편
DevOps · Docker
Docker - 이미지를 어떻게 만드나
Dockerfile 한 줄이 레이어 하나가 된다. 캐시가 어디서 깨지는지 알면 빌드 시간과 이미지 크기가 같이 잡힌다.
빌드에서 배포까지 3편
DevOps · Container
컨테이너 - 프로세스를 싸 들고 다닌다
OS를 통째로 복제하지 않고도 환경을 같이 옮기는 방법. 격리·이미지·레이어를 VM과 비교해서 잡는다.
빌드에서 배포까지 2편
DevOps · Container
내 컴퓨터에선 되는데
로컬에선 멀쩡한 코드가 서버에서만 죽는다. 그 차이가 어디서 오는지 보면 컨테이너가 왜 나왔는지가 보인다.
빌드에서 배포까지 1편