JAM 스택의 웹앱을 호스팅해주는 PaaS(Platform as a Service)가 여럿 존재한다. Netlify, Vercel, Github Pages 등... 여기에 Cloudflare Pages가 도전장을 내밀고 있는 추세이다. 클라우드플레어가 보유하고 있는 인프라와 네트워크가 주무기인데, 과연 Cloudflare는 기존의 벽을 넘어설 수 있을까?
Cloudflare 공식 홈페이지에 올라온 바에 따르면 빌드와 배포가 빠르다는 것을 전면에 내세우고 있다. 또 기존에 클라우드플레어가 보유 중인 edge network의 퍼포먼스를 온전히 활용할 수 있다는 점과, 서버리스 플랫폼인 Cloudflare Workers를 이용해 풀스택 서비스를 만들어낼 수 있다는 점도 눈에 띈다. 직접 Cloudflare Pages에 서비스를 올려보며 느낀 경험을 나눠보고 싶다.
좋았던 점
1. 프로젝트 연결이 간편하다
기본적으로 깃허브와 연동해서 돌아가서 굉장히 편리했다. 특히 빌드/배포 성공 여부와 배포된 위치를 Check로 알 수 있어 그 점도 좋았다.
2. Cloudflare을 DNS Service Provider로 사용한다면 도메인 연결이 너무도 간편!
기존에 DNS 서비스를 Cloudflare에서 이용하고 있었다면 배포한 서비스에 도메인을 연결하는 과정이 너무 간편했다. 연결할 도메인을 입력하면 CNAME도 자동으로 등록해주고 Pages와 연결까지 해주니 정말 편했다. 특히 Vercel이나 Netlify에서 Cloudflare에 등록된 도메인을 사용하려고 하면 꽤 복잡한 과정을 거쳐야하기에 이 장점은 더 두드러지는 것 같다.
3. Zero Trust를 이용한 접근제어
Staging 환경에서 특정 유저나 특정 IP 대역으로 접근을 제어하고 싶을 때가 있다. 보통은 앞에 서버나 LB같은 인프라 단이 있어 접근을 제어해줄 수 있지만 PaaS 서비스들은 직접적인 접근 제어를 구현하기 어렵다. 하지만 Cloudflare는 자체적으로 Zero Trust라는 권한관리, 접근제어 솔루션을 가지고 있어 승인받은 유저에 대해서만 접근하도록 네트워크단에서 제어해줄 수 있어 차별점을 가지고 있다.
4. 무제한 트래픽? 와...
이게 말이 돼?? 소리가 나올만 한 가격이다. 특히 무료 플랜의 구성이 기가 막히게 좋다. 빌드 수 제한이 있긴 하지만, 개인 프로젝트에 500 빌드는 그렇게 적은 수치이진 않을 것 같다. 여기에 무제한 사이트, 무제한 요청, 무제한 대역폭을 제공한다는 것은 믿기지 않을 정도이다. 여기에 월 20$를 지불하는 Pro 요금제의 경우 동시 빌드를 5개까지 제공해, 동시 빌드 1개 추가마다 50$의 비용을 지불해야 하는 Vercel과 비교하면 정말 혜자스러운 구성이다.
안 좋았던 점
5. 정적 웹사이트 호스팅에 최적화되어 있어 SSR을 활용하기에 불리하다
React 진영에서 가장 대중적으로 사용되는 Next.js에 대해 Static HTML Export를 지원해 온전한 방식으로 SSR을 활용할 수 없다. 일부 사용자별로 니즈를 충족하지 못하는 경우가 생길 수 있을 것 같다.
6. 외부 서비스들에서의 Integration이 좋지 않다 (Slack, Sentry 등)
깃허브 외에 다른 서비스들에서 Cloudflare Pages와의 연동성이 별로 좋지 않다. 특히 배포 상황에 대해 Slack 알림을 현재는 지원하지 않아서 직접 대시보드에서 확인해야하는게 조금 아쉬운 부분이다. 다만 이는 Github의 Build Check 기능을 이용하면 어느정도 커버할 수 있는 부분이기도 하다. 이외에 Vercel과 조금 비교되는 부분은 Sentry 연동에서의 편의성이다. Vercel에서는 클릭 몇 번만으로 Sentry와의 연동 진행이 가능했다. 각종 Secret Key들을 환경변수로 잡아주고, 배포가 이뤄지면 Sentry에도 똑같이 반영되어 에러 트래킹에 편리했다. 하지만 Pages에서는 지원하지 않아 따로 설정해줄 수 없었다.
7. 빌드 성능이 영...
따로 테스트 결과를 가져오진 않았는데 Vercel과 비교하여 Cloudflare Pages의 빌드 속도가 2배 가까이 느리게 느껴졌다. 최근에 Fast Build 기능이 도입되어 빌드 속도가 더 빨라졌다고 하는데... 빨라진 빌드 속도도 타 플랫폼 대비 느리게 느껴져서 약간 답답했다.
8. API 지원 부실
Cloudflare에서 Pages 관련해서 컨트롤할 수 있는 API를 거의 제공하지 않아서, 외부에 서드파티로 뭔가를 붙여서 사용한다거나 하기에 불편해보였다. 다만 이건 시간이 해결해 줄 문제일 것 같다.
총평/결론 - 그래서 Cloudflare Pages는 게임 체인져가 될 수 있을 것인가?
기존에 Cloudflare 인프라를 이용했다면 확실히 사용하기에 편해서 강력히 추천한다. 특히 저렴한 가격과 Zero Trust 기반으로 제공되는 접근 관리는 상당히 인상적이었다. 또 Cloudflare Workers를 백엔드로 이용 중이라면 Pages만큼 좋은 선택이 없을 것이다. 하지만 개선이 필요한 부분도 확실했다. Fast하다고 하지만 Fast하지 못한 빌드 속도, 외부 서비스 연동이 상당히 제한적이라는 부분 역시 개선될 필요가 보였다.
그런 단점들에도 불구하고, 여전히 Cloudflare Pages는 매력적인 선택지이다. CI/CD 구축 과정을 단순화하고 개발 외적의 공수를 최소한으로 줄이고 개발에만 집중할 수 있는 PaaS 서비스들은 계속해서 시장의 파이를 넓혀갈 것이며, Cloudflare의 광범위한 글로벌 인프라와 지원은 Pages 플랫폼의 큰 성장으로 이어질 것이다.
그래서 결론!!
네트워크와 CDN 인프라의 강자 Cloudflare가 건재한 이상, Pages가 게임 체인져가 될 잠재성은 충분히 가지고 있다고 본다. 앞으로의 발전이 더욱 더 기대된다!!
'Frontend' 카테고리의 다른 글
Next.js에서 recoil-persist 사용하기 (0) | 2023.07.11 |
---|---|
Next.js SSR 환경에서 Mantine 사용하기 (0) | 2023.07.05 |
[해결] 2022-04-03 CRA로 Chakra UI 매뉴얼 세팅했을 때 오류 발생하는 이슈 (0) | 2022.04.03 |
Chakra UI 간단 사용기 (0) | 2022.03.09 |