배포시 플랫폼
487
작성한 질문수 21
리액트/뷰 처럼 SPA 를 배포할때..
aws 로 배포를 해도 되지만
npm build 를 이용하여 dist 폴더가 생기면 netilfy로
배포를 해도 되잖아요?
aws 나 netilfy 배포나 차이를 잘 모르겠어요
후자가 훨씬 가격이 저렴한데 왜 굳이 aws 를 이용하는 거죠?
답변 1
0
yongsoocho님 안녕하세요 :)
프론트엔드의 경우 그렇게 하셔도 되죠. 빌드에서 만들어진 html, css, js 정적 파일들을 그냥 클라이언트에 보내주면 되니깐요. 이미지 파일 불러오듯이 그냥 파일 불러오는거에요. 해당 코드를 브라우저가 실행하는거고요.
즉, 프론트는 계속 돌아가고 있는 서버가 아예 존재 하지 않는거에요. netlify는 빌드된 파일들만 가지고 있고 요청이 오면 파일을 전달해주는거니깐요. 그래서 저렴한거에요. AWS에서도 S3 + Cloudfront로 netlify처럼 정적 파일들을 관리할 수 있는데 이것도 엄청 저렴하고 netlify보다도 저렴할 수 있어요.
백엔드는 정적 파일이 아니라 express 서버를 돌려야겠죠? app.listen하고 있는 부분이 요청이 들어오는지 확인하고 있는거에요. 그래야 요청이 들어왔을 때 반응하고 연산 작업을 하겠죠. 프론트는 서버쪽에서 연산이 없고 파일을 넘겨주기만 하면 되는거고요. 백엔드는 계속 돌아가는 프로그램을 컴퓨터에 실행하는 것과 같고 프론트는 그냥 html, css, js 파일을 다운받는것과 같아요.
그리고 SPA 프론트엔드도 서버사이드렌더링(SSR)을 도입하게 되면 백엔드처럼 서버가 필요합니다. 서버사이드 렌더링을 한다는건 서버에서 백엔드로 데이터를 요청하고 html을 조합한 후 클라이언트에 넘기는거기 때문이죠.
option usecreateindex is not supported 오류 나면은
0
162
1
Schemaless 특성을 재생시 검은화면이 나와요
0
258
1
user 내장 시 ref 필드 필요성
0
256
1
await 관련해서 질문드릴게 있습니다!!
0
306
2
섹션6의 3번째 강의 faker파일이 어디있나요?
0
320
1
$elemMatch 질문이 있습니다.
0
251
1
DB 업데이트에 실패했을 상황에서 대처는 어떻게 할 수 있나요.
2
777
2
블로그에 user 데이터를 추가하는 방법에 대해서
0
243
1
blog 데이터 생성시 user 관련 오류
0
363
1
age 예외 처리를 별도로 하신 이유가 궁금합니다.
2
312
2
delete 메소드가 많은 이유가 궁금합니다.
0
185
1
unique validation 처리
0
302
1
updateMany에서 user._id를 못찾는 상황
1
403
1
find() 가 리턴하는 instance member
1
438
3
몽고 db를 백업방법을 부탁합니다.
0
610
1
인덱스 생성시점
0
721
1
$pull 문법에 대한 질문
0
367
1
comment의 id가 생성되는 시점
1
310
1
리팩토링 강의에서 라우터 리팩토링 전개연산자(...)
1
321
1
session.abortTransaction()에 대한 실제 예시 문의
0
296
1
섹션9 Computed Fields 강의에서, 다음 강의 가기 전 빠진부분
-1
413
1
faker 패키지 취약성 이슈
1
496
1
라우터 리팩토링
0
348
1
섹션4 진행중, mongoose 질문
0
316
1





