회사 소개·사업·채용·뉴스룸으로 이뤄진 홈페이지입니다. 기능적으로 복잡하지 않습니다. 백엔드를 호출하지도 않습니다.
그래서 컨테이너 이관의 첫 대상으로 골랐습니다.
왜 이걸 먼저 했나
프론트엔드 다섯 개를 외부 호스팅에서 클러스터로 옮기는 작업이 예정돼 있었습니다. 처음 하는 일이라 무엇이 걸릴지 몰랐습니다.
가장 중요한 것부터 옮기면 안 됩니다. 처음 겪는 함정을 매출이 걸린 서비스에서 겪게 됩니다.
이 사이트는 잠깐 멈춰도 업무가 안 멈춥니다. 로그인도 없고, 결제도 없고, 호출하는 백엔드도 없습니다. 이관 자체의 문제만 순수하게 드러납니다.
여기서 배운 것을 나머지에 적용했다
빌드 방식, 컨테이너 구성, 배포 파이프라인, 환경 변수 주입 — 전부 여기서 한 번 겪고 정리한 뒤 나머지 앱에 템플릿으로 옮겼습니다.
컨테이너에서 패키지 관리자를 제거해 취약점을 없애는 처리도 여기서 나온 것입니다. 나중에 옮긴 앱들에는 처음부터 들어갔습니다.
그래도 앱마다 달랐다
템플릿을 만들었다고 나머지가 복사만 하면 되는 건 아니었습니다. 패키지 관리자가 다른 앱, 브랜치 구성이 다른 앱, 호출하는 백엔드가 있어 추가 설정이 필요한 앱이 각각 있었습니다.
시험대가 모든 걸 알려주지는 않습니다. 대신 공통 부분을 안전한 곳에서 확정해 두면, 나머지에서는 다른 부분에만 집중할 수 있습니다. 그게 이 순서의 값어치였습니다.