개발자

웹 배포시 프론트엔드 백엔드 따로 하는게 정석인가요?

2023년 05월 27일조회 1,126

안녕하세요 현재 프론트엔드 개발 취준생이고 포폴겸 실제 서비스겸 프로젝트로 MERN 스택으로 CRA + express.js로 해가지고 배포하려는데 여기저기 찾아보니 대부분 서버용 따로 클라이언트용 따로 해서 2개를 배포해서 쓰더라고요. 제 플젝은 하나의 레포로 되어있어 굳이 분리 안해도 되면 한 번에 배포하고 싶은데 이 방식은 잘 안쓰는 방식인가요? 그리고 이용자가 20명 정도는 고정으로 있을 예정이라 무료 플랫폼 써야하는데 Netlify, Vercel등 선택지가 다양해서... 보통 어떤 무료 플랫폼으로 배포하시나요? 감사합니다

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

인기 답변

이승로님의 프로필 사진

개발 분야에서 ‘어떤 방식이 정석이다‘라는 건 아무래도 많이 찾아보기 어려운 것 같습니다. 아무래도 개인의 취향, 상황에 따라 최적의 방식이 무엇이냐가 갈리기 때문이지 않을까 싶어요. 다만, 개인적으로 실무에서 배포를 진행할 때에는 레포지토리는 하나로 사용하되, 도커 컴포즈를 활용하여 각각 개별 컨테이너로 배포하였습니다. 또한 DB의 경우 각 서비스별로 별도의 독립된 데이터베이스 컨테이너를 생성하여 운영하고 있습니다. 저희는 모노레포를 사용하고 있기 때문에 질문자님과 상황이 조금 다르기는 하지만, 만약 질문자님처럼 단일 앱에 대한 프론트엔드 / 백엔드를 개발 및 배포 할 때도 동일하게 단일 레포지토리 내에서 컨테이너를 나누어 배포 했을 것 같습니다. 그 이유로는, 컨테이너를 분리하여 운영할 경우 서비스 부하와 같은 리스크들을 각 컨테이너 별로 관리할 수 있어, 특정 한 영역에 성능 저하나 오류가 발생하여도, 다른 영역에서는 서비스가 적어도 중단되지 않도록 구현할 수 있고, 각 컨테이너 별 로드 밸런싱을 진행할 수도 있습니다. 그러나 사실 위에서 언급한 이유보다 평소에 더 체감하고 있는 장점은 배포가 필요한 부분만 따로 빌드 및 배포할 수도 있다는 점입니다. 매번 백엔드/프론트엔드를 묶어서 빌드하고 배포하는 것보다는, 프론트엔드만 배포해야 하면 프론트엔드만 배포하고, 백엔드도 마찬가지로 배포할 수 있다면 빌드 및 배포를 기다리는 시간이 줄어들지 않을까요? 이러한 개별적 빌드 및 배포는 git diff 명령어의 출력값을 파싱/분석하는 등 과정을 통해 수정이 발생한 앱을 특정하는 스크립트를 따로 작성하여 운영하거나, 모노레포 프레임워크들을 사용하여, 내부적으로 제공하는 기능을 이용하여 구현할 수도 있습니다. 물론 규모에 따라 이러한 장점들이 크게 의미가 있지 않거나, 이를 위한 설정 및 스크립트 작성 등이 더 번거로울 수도 있겠죠. 따라서 이에 대한 판단을 먼저 하시고, 무엇이 더 이득일 지 계산해 본 후에 어떻게 할 것인가를 결정하시면 좋을 것 같습니다. 개발을 하다보면 어떤 것을 구현할 때에 내가 원하는 방향과, 인터넷에 많이 올라와 있는 방향이 다른 경우가 많이 있습니다. 그러나 그것이 그들이 맞고 내가 틀린 것은 아닙니다. 물론, 조직 내에서 개발을 한다고 하면 그 조직에서 권장하는 방법을 우선적으로 고려해야 하겠지만 개인으로써 개발을 한다고 하면, 본인에게 가장 알맞은 것은 본인이 가장 잘 알지 않을까요? 다만, 그에 대한 근거를 깊이 생각해보고 더 최적의 방법이 있을까? 고민해보는 시간은 충분히 가지는 것이 좋다고 생각합니다. 최소한 본인이 왜 그렇게 했는지는 알아야겠죠. 무슨 기술, 어떤 방식을 사용했느냐보다, 왜 그렇게 했는지가 더 중요하니깐요! 😀 말이 너무 길었습니다만, 제 글이 좋은 결정을 하시는데 도움이 되면 좋겠습니다!

profile picture

익명

작성자

2023년 05월 28일

좋은 답변 감사합니다 잘 고려해서 선택하겠습니다

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!