6개월을 돌아보며, 다시 시작한다면
· 약 5분
6개월간 백엔드·프론트엔드·인프라를 만들고 굴려 온 시리즈를 마무리합니다. 반복해서 배운 것과, 다시 시작한다면 다르게 할 것들을 정리합니다.
여섯 편을 적는 동안, 서로 다른 이야기인 줄 알았던 것들이 사실 같은 교훈을 반복하고 있었다는 걸 알게 됐습니다. 마지막 편은 그 반복을 모으고, 솔직하게 다시 시작한다면 무 엇을 다르게 할지 적어 봅니다.
지나온 여섯 편
- 1편. 모노레포 하나에 15개 서비스를 담은 이유
- 2편. 인증을 붙이다 만난 무한 리다이렉트 루프
- 3편. 서비스 사이를 잇는 법, 이벤트 버스와 워크플로우
- 4편. 하나의 레포로 클라우드 SaaS와 온프레미스를 함께 운영하기
- 5편. 하나의 코드베이스로 여러 웹 앱 만들기
- 6편. 만드는 단계에서 운영하는 단계로
반복해서 배운 것

1. 조용히 어긋나는 실패가 가장 오래 삽니다
이 시리즈에서 가장 자주 나온 말입니다. 4KB를 넘어 조용히 버려진 쿠키(2편), 가져가기 전에 조용히 지워진 메시지(3편), 옛 설정을 조용히 내주던 캐시(5편).
셋 다 오류 로그가 없었습니다. 시스템은 "정상"이라고 답했고, 그래서 가장 오래 사람을 붙잡았습니다. 요란하게 터지는 장애는 금방 잡힙니다. 무서운 건 아무 소리 없이 어긋나는 쪽입니다.
2. 공통은 한곳에, 차이는 가장자리에
백엔드에서도(1편), 프론트엔드에서도(5편), 두 운영 환경에서도(4편) 같은 모양이었습니다. 공통되는 것은 한곳에 모으고, 환경마다 다른 부분은 본문이 아니라 가장자리(환경 변수·빌드 설정·설치 단계)에서 흡수했습니다.
덕분에 "이건 이 환경용, 저건 저 환경용"으로 코드를 쪼개지 않을 수 있었습니다. 한 번 짜면 여러 곳에서 돌았습니다.