본문 바로가기
개발 공부/CS

Heroku VS AWS EC2 뭐가 다른 걸까?

by 느림보어른 2021. 7. 19.

클라우드 컴퓨팅

Heroku와 AWS를 통틀어 클라우드 컴퓨팅이라고 한다.

클라우드 컴퓨팅(영어: cloud computing)은 사용자의 직접적인 활발한 관리 없이 특히, 데이터 스토리지(클라우드 스토리지)와 컴퓨팅 파워와 같은 컴퓨터 시스템 리소스를 필요시 바로 제공(on-demand availability)하는 것을 말한다.

 

다만 이 둘은 애플리케이션 배포하는 방식에 큰 차이가 있다. 이 포스팅은 이 둘의 차이를 정리한 글이다.

Heroku - PaaS

PaaS

서비스형 플랫폼(Platform as a Service, PaaS)은 클라우드 컴퓨팅 서비스 분류 중 하나다. 일반적으로 앱을 개발하거나 구현할 때, 관련 인프라를 만들고 유지보수하는 복잡함 없이 애플리케이션을 개발, 실행, 관리할 수 있게 하는 플랫폼을 제공한다.

 

쉽게 말해서 플랫폼이 사용자의 코드만 받으면 나머지 것들을 해결해 준다.

AWS EC2 - IaaS

IaaS

서비스형 인프라스트럭처(Infrastructure as a Service, IaaS)는 서버, 스토리지, 네트워크를 필요에 따라 인프라 자원을 사용할 수 있게 클라우드 서비스를 제공하는 형태이다.

 

사용자를 도와주는 플랫폼은 없고 서버를 위한 비용을 결제한다. 따라서 서버에 대한 설정(OS, programming language install, code send to serevr 등)을 사용자가 직접 하나하나 관리해주어야 한다.

무엇을 사용할 지에 대한 선택 기준

컨트롤

위의 둘에 대한 설명을 보았을 때 당연히 IaaS가 PaaS보다 더 많은 요소에 대한 사용자의 선택을 요구한다. 백엔드의 웹서버를 예시로 들자면 내가 배포한 애플리케이션에 apach를 쓸지 nginx를 쓸지에 대한 결정을 IaaS에서는 할 수 있고 PaaS에서는 할 수 없다. 즉, 내가 배포하고자 하는 애플리케이션에 최적화된 서버를 갔고 싶다면 IaaS인 AWS EC2를 선택하는 것이 옳다.

비용

위의 컨트롤 조건을 봤을 때 나에게 최적화된 배포 환경을 제공해주는 AWS EC2가 더 효율적인 비용을 청구한다는 것은 자연스럽게 이해할 수 있을 것이다. 따라서 비용적인 부분에서도 AWS EC2를 선택하는 것이 옳다.

 

그리고 애초에 Heroku는 AWS에서 작동하기에 Heroku가 AWS EC2보다 더 저렴할 리 없다.

시간

만일 내가 지금 당장 배포를 해야하거나, 배포만 하고 싶으면 Heroku를 써라. 만일 자신이 AWS EC2를 처음 사용하게 된다면 시간이 얼마나 걸릴지 모른다.

비용

(추가) Heroku VS AWS EB

AWS EB는 AWS에서 제고하는 PaaS이다. 만일 나에게 초보자가 Heroku와 AWS EB 둘 중에 무엇을 선택하라면 나는 Heroku를 추천할 것이다.

 

왜냐하면 Heroku와는 다르게 AWS EB는 단순히 코드를 올리는 과정 뿐만 아니라 AWS RDS, AWS S3 등 다른 요소들도 복잡한 과정을 거쳐야만 최종적으로 배포를 할 수 있다. 또 AWS Free tier는 1년 기한을 가지고 또 요금 부과도 복잡하기에 그냥 간편하게 Heroku를 쓰는 것을 추천한다.

 

추가로 배포한 앱에 대한 사후 관리적인 측면에서 받을 때 Heroku가 훨씬 편하다. 또 Heroku에서는 일정 시간 동안 작동하지 않는 app을 자동으로 슬립모드로 바꿔 사용하지 않는 시간 동안 발생하는 비용을 줄일 수 있다. 정말로 단순히 내가 만든 프로젝트를 배포만 하고 싶을 때는 Heroku사용을 적극 추천한다. 하지만 서버에 관해서 더 배운고 싶다면 AWS EC2를 추천한다.

출처 및 참고

https://ko.wikipedia.org/wiki/%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C_%EC%BB%B4%ED%93%A8%ED%8C%85

 

클라우드 컴퓨팅 - 위키백과, 우리 모두의 백과사전

클라우드 컴퓨팅(영어: cloud computing)은 사용자의 직접적인 활발한 관리 없이 특히, 데이터 스토리지(클라우드 스토리지)와 컴퓨팅 파워와 같은 컴퓨터 시스템 리소스를 필요 시 바로 제공(on-demand

ko.wikipedia.org

https://www.youtube.com/watch?v=NTDhBh1SdZ4 

 

'개발 공부 > CS' 카테고리의 다른 글

인터넷  (0) 2021.08.18
Internet protocol suite (TCP/IP updated)  (0) 2021.07.21
Nginx  (0) 2021.07.03
Web socket  (0) 2021.06.29
Docker  (0) 2021.06.23