탕스로그
Vercel로 배포할까 AWS로 배포할까? 본문
난 vercel과 AWS 모두 배포해본 바가 있다. 그런데도 항상 새로운 프로젝트를 할 때 고민이 된다. 뭘 써야 잘 썼다고 소문이 날까~ 고로 정리해보자 ㅎㅎ
💡 AWS
Amazon Web Services 의 약자로 아마존이 제공하는 클라우드 컴퓨팅 서비스이다.
장점 & 단점 ) 자유도가 높다.
자유도가 높다는게 장점과 단점이 될 수 있는 이유는... 좋게 말하면 내가 원하는 걸 다 커스텀할 수 있다!! 인데 나쁘게 말하면 내가 이거까지 설정해줘야돼??? 라고 느낄 수 있기 때문이다. AWS는 가상서버(EC2), 스토리지(S3), 데이터베이스(RDS), 인공지능(AI)와 같은 다양한 서비스를 포함하고 있기 때문에 웬만한 애플리케이션이 요구하는걸 AWS 상에서 다 관리할 수 있지만, 간단한 서비스 하나를 올리고 싶을 때는 다소 귀찮다고 느껴질 수 있다.
나만 해도 AWS Amplify로 프론트엔드 배포를 하기 위해서 AWS가 도대체 뭔데? 부터 시작해서 얘가 뭘 제공하는데? 만 찾아봤는데도 알아야할게 너무 많아서 AWS로 배포하는걸 포기하고 싶어질 정도였다 ㅎㅎ
💡AWS Amplify
위에서 말한 자유도가 높다!! 라는 것은 인프라, 백엔드 등에 주로 해당되는 얘기이고 난 프론트엔드 배포만 진행했기 때문에 AWS 가 제공하는 서비스 중 개발 플랫폼인 AWS Amplify를 사용했다. AWS는 프론트엔드 배포를 위해 Amazon S3, CloudFront, Amplify 등 다양한 서비스를 제공하는데, 이것만 봐도 AWS가 얼마나 다양한 서비스를 제공하는지 알 수 있다..ㅎㅎ 아무튼 내가 Amplify만 이용했을 때는 레포 권한을 등록해주면 알아서 CI/CD를 구축해주고 커스텀 도메인도 따로 등록할 수 있어서 편리하다고 느껴졌다.
단점이라고 하면... AWS 서비스 중 뭘로 배포하지~ 까지 걸리는 시간이 좀 길었다는 것..? 알아야할게 꽤나 많았다는 점이다 ㅎㅎ
+) AWS 내 프론트엔드 배포 서비스
1. Amazon S3
객체 스토리지 서비스. 정적파일을 저장하고 배포하는데 사용한다. 동적 콘텐츠를 처리할 수는 없다.
2. Amazon CloudFront
CDN 서비스. 정적 파일 & 동적 파일을 전 세계로 빠르게 전송이 가능하다. 원본을 기반으로 한 콘텐츠를 캐싱하고 전달할 수 있다.
3. Amazon Amplify
풀스택 서버리스 프레임워크. 이걸로 프론트/백엔드 배포를 한번에 할 수 있을거라고 생각돼 선택한 것이었는데 막상 해당 프로젝트의 백엔드는 S3로 배포해서 의미가 없어지긴했다..ㅎㅎ
💡 Vercel
Next.js 를 개발한 스타트업에서 만든 클라우드 컴퓨팅 서비스이다.
주로 정적 웹사이트 및 SPA를 위한 특정한 서비스를 제공하고 프론트엔드 빌드 및 배포에 초점을 맞춘 플랫폼이다.
장점 )
보다시피 UI가 아주 간결하다. 새로운 배포를 하고 싶을 때도 Add New를 눌러서 원하는 레포랑 연결만 하면 CI/CD를 알아서 구축해준다.
기본 배포는 vercel.app으로 되는데, 도메인을 따로 구입해서 연결할 수도 있다. 상당히 개발자 친화적이라고 느껴졌다.
또한 서버리스 아키텍쳐 기반이다. 서버리스 아키텍쳐란, 서버가 없다는 것이 아니라 서버 관리는 해당 아키텍쳐가 알아서 다 해주고 개발자는 서버 관리와 확장에 신경쓰지 않고 애플리케이션 코드에 집중할 수 있게 해주는 아키텍쳐이다. 이 때 Vercel은 정적파일을 CDN을 통해 전 세계 여러 위치에 제공해 빠른 로딩 속도와 확장성을 제공한다.
단점 )
AWS 보다 기능이 적다. 정말 프론트엔드 배포에만 최적화된 느낌...? vercel은 주로 정적 파일과 프론트엔드에만 초점을 맞춘 플랫폼이라 백엔드 기능이 필요할 때는 별도로 구성을 해주어야 한다.
또한, Vercel은 SPA 배포에 최적화되어있기 때문에, Next.js 같은 MPA 배포를 하려면 Next.js의 라우팅 설정과 Vercel의 라우팅 설정을 잘 설정해줘야한다. 실제로 vercel로 Next.js 배포를 시도했다가 에러에 허덕이는 친구들을 종종 볼 수 있었다..ㅎㅎ
💡 결론
웬만한 개인프로젝트 & 동아리 내 팀프로젝트는 버셀로 하는게 이득인 것 같다. 일단 아예 무료이거나 AWS 보다 저렴한데 배포가 완료되기까지의 과정이 비교적 간단하기 때문에 피로도가 덜하다고 느껴졌다. 다만, 더 다양한 기능이 필요할 때는 AWS를 쓸 것 같은데 아직 그 상황까지는 안 와봐서 모르겠다 ㅎㅎ
'etc' 카테고리의 다른 글
에자일 방법론을 직관적으로 이해하기 (0) | 2023.05.01 |
---|