6개월간 백엔드·프론트엔드·인프라를 만든 기록 (시리즈 시작)
· 약 2분
지난 6개월 동안 백엔드, 프론트엔드, 인프라를 0에서 만들고 운영까지 올린 과정을 시리즈로 정리합니다. 이 글은 전체 목차이자 시작점입니다.
무엇을 만들었나

반년 동안 만든 것을 한 줄로 줄이면 여러 개의 서비스로 이루어진 제품을, 클라우드와 고객사 양쪽에서 굴릴 수 있게 만든 일입니다.
- 뒤쪽(백엔드)에는 책임을 잘게 나눈 여러 서비스가 있습니다.
- 그 서비스들을 잇는 통신·이벤트·작업 흐름이 있습니다.
- 앞쪽(프론트엔드)에는 여러 개의 웹 앱이 있습니다.
- 이 모든 것이 클라우드(SaaS)와 고객사 안(온프레미스) 두 환경에서 돕니다.
만드는 동안 적어 둔 결정과 실수를 일곱 편으로 나눠 풀었습니다. 거창한 정답집은 아니고, 그때그때 왜 그렇게 했고 무엇에 데였는지를 솔직하게 적은 기록에 가깝습니다.
이 시리즈를 읽는 법
순서대로 읽으면 "서비스를 나 누고 → 잇고 → 두 환경에 올리고 → 운영으로 넘어가는" 흐름을 따라가게 됩니다. 다만 각 편은 따로 읽어도 됩니다. 관심 가는 주제부터 골라 보셔도 좋습니다.
목차

- 모노레포 하나에 15개 서비스를 담은 이유. 서비스는 나누면서 레포는 하나로 둔 이유입니다.
- 인증을 붙이다 만난 무한 리다이렉트 루프. 로그인 하나가 회전문이 된 사연입니다.
- 서비스 사이를 잇는 법, 이벤트 버스와 워크플로우. 직접 부르지 않고 게시판에 붙이는 방법입니다.
- 하나의 레포로 클라우드 SaaS와 온프레미스를 함께 운영하기. 인터넷이 막힌 곳에 어떻게 설치했는지 적었습니다.
- 하나의 코드베이스로 여러 웹 앱 만들기. 한 번 빌드한 앱을 고객마다 다른 주소로 띄웁니다.
- 만드는 단계에서 운영하는 단계로. 질문이 "되는가"에서 "굴릴 수 있나"로 바뀝니다.
- 6개월을 돌아보며, 다시 시작한다면. 반복해서 배운 것과 다르게 할 것을 정리합니다.
한 가지 미리 말하면
일곱 편을 적고 나서야 보였습니다. 서로 다른 이야기인 줄 알았는데, 같은 교훈을 계속 반복하고 있었습니다.
공통은 한곳에 모으고, 환경 차이는 가장자리로 밀고, 조용한 실패를 드러내고, 만든 것을 굴릴 수 있게 한다.이 한 줄이 시리즈 전체를 관통하는 것 같습니다. 그럼 1편부터 시작하겠습니다.