souvenir

20.09.14_Deploy(배포) 본문

카테고리 없음

20.09.14_Deploy(배포)

풀빵이 2020. 9. 14. 16:57

Deploy 란?

: 코드를 작성한 후, 로컬이 아닌 다른 컴퓨터에도 서비스를 제공하는 과정

 

 

Development : 코드를 직접 작성하고 테스트 해보는 단계

Integration : 새로 추가한 기능으로 충돌은 없는지 등등을 전체적으로 확인하는 단계

Staging : 배포 환경과 가장 유사한 상태에서 기능이 잘 구현이 되고 적절한지 점검해보는 단계

Production : 최종 배포

 

*배포시 주의 해야 할 점

  • 경로는 절대경로가 아닌 상태경로로 포현해야함.
  • 환경변수 등을 통해 port등을 설정해두기
  • npm 버전이 각자 다를 수 있으므로 dependency에 반드시 해당 모듈을 --save-dev 를 통해 표현하기

 


 

Cloud(클라우드) 서비스

앱을 만들고 배포한 후, 서버를 돌리기 위해 예전에는 '서버 컴퓨터'라는 서버만 돌리는 컴퓨터로 서버를 활성화 시켜왔다.

그래서 큰 회사 밑에는 서버 컴퓨터들만 즐비한 '서버실'이 존재했다. 문제는 이 서버 컴퓨터가 너무 비싸기도 하고 갑작스레 사용자가 많아지면 서버 용량에 초과되어 터지게 되는 일이 생기곤 하였다. 신생 기업의 경우는 어느정도 사용자가 나올지 예측하기 힘들고 비용적인 측면의 부담도 컸다. 이러한 문제를 해결하게 된 것이 클라우드 시스템이다. 

 

클라우드 시스템은 쉽게말하면 위의 서버 컴퓨터를 구매하여 가상의 공간에서 돌리는 것을 의미한다. 

클라우드 컴퓨터를 판매하는 곳에서 판매뿐 아니라 자체적으로 유지. 보수. 관리를 해주므로 매우 편리하다. 대표적인 곳으로는 AWS(

Amazon Web Services), Windows의 Azure(아주르가 아니라 애저r), 구글의 google cloud 등등이 있다. 이번 스프린트 때는 요새 핫한 AWS를 통해 구성해보고자 하였다. 

 

AWS에 들어가보면 굉장히 다양한 종류의 클라우드 컴퓨팅 상품이 있다. 게임, 빅데이터 분석 등등 없는 것이 없다. 

각각의 컴퓨터는 특성이 있는데 이 중에서 S3, EC2, RDS를 통해 기본적인 웹을 구성하여 배포를 해볼 예정이다. 세 가지의 개념에 대해서는 다음 글에서 더 자세히 다뤄보려고 한다.

 

배포 전략

  • 클라이언트 측 : build 폴터를 S3를 통해 배포
  • 서버 측 : node.js를 EC2를 통해 배포
  • DB 측 : RDS를 통해 배포

 

최소한의 기본적인 구조

 

 

https 프로토콜 사용 및 고유 도메인 사용을 위한 구조

 

Comments