카테고리 없음

Deployment!

Hot Dobby 2020. 11. 3. 12:55

배포는 development > intergration > staging > production 순으로 간다. 각 development의 브런치들이 일렬의 과정을 통해서 prodution으로 합치진다고 생각하면 좋습니다. 

 

<배포를 하면서 지켜야할 규칙들>

1.개발환경의 노드 버전을 맞춰줘야한다. / 2. 디펜던시에 필요한 모듈들을 잘 저장한다. / 3. 포트넘버, 호스트 네임을 잘 지킨다. / 4. URls 파일경로, API key가 맞는지 체크한다.  

 

<클라이언트 배포>React의 build를 통해서 유저가 사용할 파일들을 포장할 수 있고, amazon s3와 express를 활용해서 배포할 수 있다. 

<서버 배포> amazon EC2의 컴퓨터에 노드를 설치하고 서버를 구동해서 외부인의 접속을 허가할 수 있다.  데이터 베이스 같은 경우 AWS RDS를 활용해서 연결해줄 수 있다. 

 

-기본적인 배포 과정-

 

A. S3

: Simple Storage Service의 약자로 클라이언트 파일을 유저들에게 배포해주는 역할을 주로 한다. 

출처:https://cloudacademy.com/lab/create-your-first-amazon-s3-bucket/

버켓에 배포하고 싶은 파일을 objects으로 담아서 내보내는 형식! React로 만들어진 app같은 경우 build를 통해서 만들어진 파일을 보낸다.

 

 

B. EC2

: Elastic Compute Cloud의 약자로 하나의 가상 컴퓨터를 사용할 수 있도록 해주는 서비스이다. 주로 갑작스러운 트래픽 증가로 서버에 부담을 느끼는 소기업들이 하드웨어 투자 대신 가상의 클라우딩 컴퓨터를 대여해서 사용할 수 있는 시스템입니다. 
클라이언트와 DB의 징검다리 역할! 

 ssh키 설정을 위한 ssh폴더 접근 방법 : Mac OS 같은 경우 그냥 cd ~ 로 루트로 간다음에 .ssh를 통해서 접근하는게 이상하게도 안된다. 권한이 없다고 나오기 때문에 <cd ~/.ssh> 로 한 번에 하는 것이 좋을 것 같습니다.

C. RDS

:Relational Database Service의 약자로  관계형 데이터베이스를 구축하여 서버와 클라이언트가 각기 다른 곳에 위치해더 acess를 통해서 필요한 데이터 송수신을 가능하게 만들어준다. MySQL, MariaDB, Oracle, SQL Server 및 PostgreSQL 데이터베이스 엔진을 지원하며

서버가 있는 컴퓨터에 db를 같이 안 만들고 이렇게 따로 관계형 데이터베이스를 구축하는 이유는 많은 트래픽이 몰렸을 경우 이렇게 관계형 데이터 베이스로 있는 형태가 가장 빠르기 때문입니다.

 

 

클라우드의 반대 온프레미스!  온프레미스는 초기비용이 많이 들지만 보안이 다소 좋다.

클라우드는 트래픽에 대한 확장성이 용이하다

Saas : service as a service 드록박스 구글 드라이브 네이버 클라우드

Paas : platfrom as a service 샌드버드 채널 아이오

Iaas: infrastructure as a service  AWS 구글 클라우드 플랫폼

 

라이트 세일,파이어베스, 람다 - 작은 서버를 돌리기 좋은 

 

서버레스가 좋은 이유: 작은 단위의 기능은 꼭 서버를 계속 돌릴 필요없이 함수 단위로 실행될때마다 서버 서비스를 제공하는 것이 경제적이기 때문에