본문으로 건너뛰기

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

· 약 3분

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

무엇을 만들었나

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

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

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

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

이 시리즈를 읽는 법

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

목차

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

한 가지 미리 말하면

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

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

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