본문으로 건너뛰기

6개월간 백엔드·프론트엔드·인프라를 만든 기록 (시리즈 시작)

· 약 2분

지난 6개월 동안 백엔드, 프론트엔드, 인프라를 0에서 만들고 운영까지 올린 과정을 시리즈로 정리합니다. 이 글은 전체 목차이자 시작점입니다.

무엇을 만들었나

백엔드 여러 서비스, 잇는 통신과 이벤트, 프론트엔드 여러 앱, 그리고 두 환경에서 실행되는 구성

반년 동안 만든 것을 한 줄로 줄이면 여러 개의 서비스로 이루어진 제품을, 클라우드와 고객사 양쪽에서 굴릴 수 있게 만든 일입니다.

  • 뒤쪽(백엔드)에는 책임을 잘게 나눈 여러 서비스가 있습니다.
  • 그 서비스들을 잇는 통신·이벤트·작업 흐름이 있습니다.
  • 앞쪽(프론트엔드)에는 여러 개의 웹 앱이 있습니다.
  • 이 모든 것이 클라우드(SaaS)와 고객사 안(온프레미스) 두 환경에서 돕니다.

만드는 동안 적어 둔 결정과 실수를 일곱 편으로 나눠 풀었습니다. 거창한 정답집은 아니고, 그때그때 왜 그렇게 했고 무엇에 데였는지를 솔직하게 적은 기록에 가깝습니다.

이 시리즈를 읽는 법

순서대로 읽으면 "서비스를 나누고 → 잇고 → 두 환경에 올리고 → 운영으로 넘어가는" 흐름을 따라가게 됩니다. 다만 각 편은 따로 읽어도 됩니다. 관심 가는 주제부터 골라 보셔도 좋습니다.

목차

6개월 빌드 시리즈, 일곱 편의 여정을 한눈에 보여주는 지도
  1. 모노레포 하나에 15개 서비스를 담은 이유. 서비스는 나누면서 레포는 하나로 둔 이유입니다.
  2. 인증을 붙이다 만난 무한 리다이렉트 루프. 로그인 하나가 회전문이 된 사연입니다.
  3. 서비스 사이를 잇는 법, 이벤트 버스와 워크플로우. 직접 부르지 않고 게시판에 붙이는 방법입니다.
  4. 하나의 레포로 클라우드 SaaS와 온프레미스를 함께 운영하기. 인터넷이 막힌 곳에 어떻게 설치했는지 적었습니다.
  5. 하나의 코드베이스로 여러 웹 앱 만들기. 한 번 빌드한 앱을 고객마다 다른 주소로 띄웁니다.
  6. 만드는 단계에서 운영하는 단계로. 질문이 "되는가"에서 "굴릴 수 있나"로 바뀝니다.
  7. 6개월을 돌아보며, 다시 시작한다면. 반복해서 배운 것과 다르게 할 것을 정리합니다.

한 가지 미리 말하면

일곱 편을 적고 나서야 보였습니다. 서로 다른 이야기인 줄 알았는데, 같은 교훈을 계속 반복하고 있었습니다.

공통은 한곳에 모으고, 환경 차이는 가장자리로 밀고, 조용한 실패를 드러내고, 만든 것을 굴릴 수 있게 한다.

이 한 줄이 시리즈 전체를 관통하는 것 같습니다. 그럼 1편부터 시작하겠습니다.