포스트

개발 배포 관련 공부 내용

클라우드란?

내 컴퓨터가 아닌 외부 컴퓨터를 통해 yarn dev 시키는 방법 ⇒ 24시간 동안 켜놔야된다.

아마존 , 구글 , MS에서 컴퓨터를 빌려주는 서비스 ⇒ 클라우드

접속 권한을 부여하여 터미널을 사용할 수 있게 해 준다.

클라우드 서비스 제공자 (Cloud Provider)

  • 아마존 - AWS
  • 구글 - GCP : 아마존에 비해 저렴함
  • MS - Azure

정적페이지 & 동적 페이지 배포 가이드

클라우드 storage를 제공 → 이미지 & 기타 등등등…

1단계 배포

  1. yarn build html, css, js 파일을 생성하여 스토리지를 통해 배포
  2. Domain을 통해 이용하는 방법 ⇒ DNS Service 를 통해 내 도메인을 사용하는 방법

장점 : 트래픽이 많아져도 문제가 없다.

단점 : 서비스의 형태가 존재가 불가능 / 동적페이지는 불가능하다.

사용처 : 소개 홈페이지 , 채용사이트에서만 가능

2단계 배포

  1. yarn start 로 서버 on
  2. 서버가 동작하기에 새롭게 요청하는 페이지도 바로바로 만들어서 제공이 가능

가장 많이 사용되는 방식

단점 : 컴퓨터의 여러 요청이 트랙픽이 발생할 때 부하 분산이 불가능

3단계 배포

  1. 여러개의 컴퓨터에 yarn start 로 서버 on
  2. 부하 분산기 (Load Balancer) 가 존재해야됨 (Amazon 에서는 ELB) → 로드밸런서는 ip 주소를 가지고 있음
  3. DNS가 존재 (Route53)
  4. 서버를 그룹핑 해야됨 ⇒ 인스턴스 그룹 (Amazon 에서는 TargetGroup)
    • least-connection : 최소접속자에 몰아주는 알고리즘
    • round-robin : 하나씩 돌아가면서 공평하게 분배하는 알고리즘 (default 알고리즘)

오토스케일링 자동으로 인스턴스 그룹에 서버 확장을 해줌 ex) memory 70% 이상 or cpu 80% 면 인스턴스 그룹 확장!

DevOps 팀이 별도로 존재한다.

단점 : 서버의 모니터링에 대한 관리가 너무 많아짐

4단계 배포(AWS 기준 CDN)

  1. 정적인 파일은 스토리지에 (아마존에서는 s3) , 동적인 파일은 서버를 통해서 처리
  2. CDN (CloudFront) 를 이용함 → 분기처리기

    ex) /boards? → 스토리지 주소로 처리

    /boards/?* → 로드 밸런서로 처리

    result : 접속량이 줄어든다!

사실 2단계가 제일 많이사용됨 ⇒ 2단계에서 규모가 커지면 3단계 ⇒ 3단계에서 비용이 너무 많이들면 4단계로 가게된다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.