관리 메뉴

Jerry

Deploy & Cloud Computing 본문

Deployment/AWS

Deploy & Cloud Computing

juicyjerry 2020. 12. 16. 03:02
반응형

 오늘은 배포에 관한 내용을 배웠다.

 

우리가 그동안 배웠던 것들을 활용하여 서비스를 만든다고 해도 배포가 되지 않는다면, 웹 서비스의 의미가 사라질 것이다.

왜냐하면, 서비스를 많은 유저들이 사용을 해줘야 하지만, 배포를 하지 않는다면 유저들은 사용할 수 있는 경로가 없기 때문이다.

 

웹 서비스의 Deployment는 AWS 이전과 이후로 나누어진다고 한다. 

만약, AWS가 없었더라면 우리는 직접 서버를 구축하고 관리해야 했을지 모르기 때문이다.

 

 

 


 

Achievement Goals

  1. Cloud와 Deployment의 의미를 각 각 알고, 내 코드를 남에게 배포할 수 있다.
  2. 최소 AWS 서비스 블럭 에서 3개 이상의 서비스를 활용하고, 설명할 수 있다.(S3, EC2, RDS)
  3. ssh를 무엇을 위해 활용 하는지 알고, 다른 컴퓨터에 원격 접속한다는 것의 의미를 설명할 수 있다.
  4. 보안을 위하여 github에 올리지 말아야 할 코드를 gitignore로 따로 분류할 수 있다.

 


Cloud computing

Cloud computing is the on-demand availability of computer system resources, especially data storage (cloud storage) and computing power, without direct active management by the user.[1] The term is generally used to describe data centers available to many users over the Internet.[2] Large clouds, predominant today, often have functions distributed over multiple locations from central servers. If the connection to the user is relatively close, it may be designated an edge server.

 

 

Software Deployment

Software deployment is all of the activities that make a software system available for use.

 

출처: www.notion.so/search-96f2ec008a434aef8ba60ee03f91739d

 

search

페어와 함께 Cloud가 무엇인지. Deploy가 무엇인지 그리고 S3, EC2, RDS가 무엇이며 무엇을 위해 사용하는지 등의 개념을 이해 하기 위해 같이 학습하여 서로에게 알려주는 시간을 가집니다.

www.notion.so

 


 

 

배포를 해본 경험이 없는 나의 관점에서 보면 배포를 간단하게 할 수 있을 거 같지만,

실상은 전혀 그렇지 않다고 한다.

 

왜냐하면, 각 유저의 컴퓨터 환경이 다르기 때문이다. 

ex)  node version, Dependency, port number, hostname, file path, api key

 

 

배포 환경이 4가지가 존재한다.

development / integration / staging / production

 

출처: 코드스테이츠

Deployment Strategy

SPA serve strategy(클라이언트 배포) / Server Application Deploy Strategy 

1, SPA serve strategy(클라이언트 배포) 

  • build 파일 서브를 위한 cloud를 이용한다 (amazon S3(버킷이라고 부름))

2. Server Application Deploy Strategy 

  • 내가 혼자 만들어서 할 때는 외부 접속을 고려 안해도 되지만,
  • 외부인이 내 컴퓨터에 들어오게끔 할 수 있겠지만, 이걸 떠나서 외부인의 접근을 권장하지 않는다고 한다.
    • 그래서, 임대 컴퓨터를 대여하여 서버 애플리케이션을 돌릴 수 있는 환경을 제공하는 서비스 amazon EC2에 있는 NODE APP에 접속하여 API를 받아간다.
    • EC2라는 것은 AWS가 가진 컴퓨터 (혹은 컴퓨터의 이름을 지칭, 가상 머신), 주소는 실제로 IPV4를 활용해 외부에서 접속할 수 있는 주소
  • 물론, 데이터베이스(MySQL)도 내 로컬로는 안 된다.
    • 그래서, AWS RDS라는 데이터베이스 제공 서비스를 활용하게 된다.

 

 

Deploy sprint architecture

출처: 코드스테이츠

 

 

 

 

 

 

여기까지 정리해보면, 

- AWS S3를 이용하여 SPA를 배포할 수 있다.

- AWS EC2에 Server Application을 배포할 수 있다.

- AWS RDS를 이용하여 데이터베이스를 구축하고, 클라이언트 툴 혹은 cli에서 외부 접속할 수 있다.

 

 

반응형