개발 배포 관련 공부 내용
클라우드란?
내 컴퓨터가 아닌 외부 컴퓨터를 통해 yarn dev 시키는 방법 ⇒ 24시간 동안 켜놔야된다.
아마존 , 구글 , MS에서 컴퓨터를 빌려주는 서비스 ⇒ 클라우드
접속 권한을 부여하여 터미널을 사용할 수 있게 해 준다.
클라우드 서비스 제공자 (Cloud Provider)
- 아마존 - AWS
- 구글 - GCP : 아마존에 비해 저렴함
- MS - Azure
정적페이지 & 동적 페이지 배포 가이드
클라우드 storage를 제공 → 이미지 & 기타 등등등…
1단계 배포
yarn build
html, css, js 파일을 생성하여 스토리지를 통해 배포- Domain을 통해 이용하는 방법 ⇒ DNS Service 를 통해 내 도메인을 사용하는 방법
장점 : 트래픽이 많아져도 문제가 없다.
단점 : 서비스의 형태가 존재가 불가능 / 동적페이지는 불가능하다.
사용처 : 소개 홈페이지 , 채용사이트에서만 가능
2단계 배포
yarn start
로 서버 on- 서버가 동작하기에 새롭게 요청하는 페이지도 바로바로 만들어서 제공이 가능
가장 많이 사용되는 방식
단점 : 컴퓨터의 여러 요청이 트랙픽이 발생할 때 부하 분산이 불가능
3단계 배포
- 여러개의 컴퓨터에 yarn start 로 서버 on
- 부하 분산기 (Load Balancer) 가 존재해야됨 (Amazon 에서는 ELB) → 로드밸런서는 ip 주소를 가지고 있음
- DNS가 존재 (Route53)
- 서버를 그룹핑 해야됨 ⇒ 인스턴스 그룹 (Amazon 에서는 TargetGroup)
- least-connection : 최소접속자에 몰아주는 알고리즘
- round-robin : 하나씩 돌아가면서 공평하게 분배하는 알고리즘 (default 알고리즘)
오토스케일링 자동으로 인스턴스 그룹에 서버 확장을 해줌 ex) memory 70% 이상 or cpu 80% 면 인스턴스 그룹 확장!
DevOps 팀이 별도로 존재한다.
단점 : 서버의 모니터링에 대한 관리가 너무 많아짐
4단계 배포(AWS 기준 CDN)
- 정적인 파일은 스토리지에 (아마존에서는 s3) , 동적인 파일은 서버를 통해서 처리
CDN (CloudFront) 를 이용함 → 분기처리기
ex) /boards? → 스토리지 주소로 처리
/boards/?* → 로드 밸런서로 처리
result : 접속량이 줄어든다!
사실 2단계가 제일 많이사용됨 ⇒ 2단계에서 규모가 커지면 3단계 ⇒ 3단계에서 비용이 너무 많이들면 4단계로 가게된다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.