배포의 종류: IAAS, PAAS

문태주·2022년 9월 2일
0

EC2 배포 튜토리얼

목록 보기
1/10

개요

안녕하세요. 배포에 대한 시리즈를 시작해보려고 합니다. 여러분은 Netlify, PythonAnywhere 등 다양한 배포 서비스들에 대해 얼핏 들어봤을 것입니다. 여러 비교적 쉽게 사용할 수 있는 서비스들이 많지만 스꾸디팀에서는 난이도가 높은 AWS EC2 서비스를 이용합니다.

사실 배포는 프론트엔드와 백엔드 외에 데브옵스(배포하는 사람)의 직군이 있을만큼 정말 배울게 많습니다. 이 시리즈에서는 그 긴 여정 중 우리 서비스에 필요할 만큼의 정보를 보다 접근성 있게 제공하려고 합니다.

React와 Express/Spring을 써서 웹서비스 하나를 만들었습니다. 이 프로그램을 어떻게 24시간 돌릴 수 있을까요? 먼저 여러분의 컴퓨터를 서버로 사용해서 24시간 돌릴 수 있을 것입니다. 아니면 AWS와 같은 회사에서 커다란 컴퓨터의 일부를 가져와서 사용할 수 있겠죠. 보통 후자의 방법을 사용하고, 이것을 클라우드 컴퓨팅이라고 합니다.

이번 장에서는 클라우드 컴퓨팅의 방식, 즉 배포의 종류 2가지를 알아보고자 합니다.

배포의 종류

1. IAAS(Infrastructure as a service)

IAAS는 쉽게 말해서 회사로부터 컴퓨터 한대를 빌리는 방식입니다. 여러분은 빌린 컴퓨터에 node, react 등 모든 라이브러리 또는 프로그램을 모두 직접 깔아야 합니다. 물론 최신의 IAAS 서비스와 같은 경우 git이나 python과 같은 필수프로그램은 이미 깔려서 나옵니다. 또한 운영체제와 같은 경우도 선택만 하면 알아서 깔아주죠.

  • 장점
    1) 한 컴퓨터에 많은 서비스를 한번에 실행할 수 있다.(한 곳에 데이터베이스, 백엔드, 프론트엔드 프로젝트 동시에 설치 가능)
    2) 환경변수 등 여러가지 내가 직접 설정할 수 있다.
  • 단점
    1) 배우기 어렵다.
    2) 시간이 오래걸린다.

2. PAAS(Platform as a service)

PAAS와 같은 경우 몇가지 파일을 설정하고 여러분의 코드를 zip파일 등으로 업로드만 하면, Heroku와 같은 회사에서 알아서 필요한 파일을 다운받고 여러분의 프로젝트를 실행시켜줍니다. 말그대로 "넌 코딩만 해, 배포는 나한테 맡기고" 이죠. 물론 생각보다 이렇게 배포하는 것도 매우 오류의 소지가 많아서 충분히 어렵습니다 ㅜㅜ.(오류를 확실히 컨트롤 할 수 있기에 IAAS 서비스가 매력적인 것 같기도 합니다.) Heroku, Netlify, AWS Elastic Beanstalk과 같은 서비스가 여기에 포함됩니다.

  • 장점
    1) 배우기 쉽고 시간이 얼마 안걸린다.
  • 단점
    1) 한번 배포할 때 하나의 프로젝트만 배포할 수 있다.
    2) 내가 모든 걸 컨트롤 할 수 없다. 배포 실패했을때 오류 제대로 안알려준다...

그래서 EC2는?

네, 당연히 IAAS 서비스입니다. 우리가 EC2를 해야하는 이유는 단순합니다. 현재 서비스되고 있는 우리의 서비스(SKKLUB)가 EC2로 운영되고 있기 때문입니다. 그럼 다음장부터 본격적으로 배포에 대해 알아봅시다.

profile
HTML 개발자

0개의 댓글