Nếu doanh nghiệp hoặc đội ngũ phát triển đang tìm cách triển khai website mà không muốn tự vận hành hạ tầng máy chủ, Cloudflare Pages cung cấp một quy trình tương đối đơn giản: kết nối repository, build ứng dụng và triển khai lên mạng lưới toàn cầu của Cloudflare.
Không chỉ phục vụ static site, Pages còn cho phép bổ sung server-side logic thông qua Pages Functions, đồng thời cung cấp các tính năng hỗ trợ quá trình phát triển và triển khai như Preview Deployments, Rollbacks, Redirects cùng nhiều tùy chọn kiểm soát build, branch và deployment.
Bài viết này sẽ giải thích Cloudflare Pages là gì, cách deploy website với Git và CI/CD, những tính năng đáng chú ý của nền tảng và một thay đổi quan trọng mà developer cần biết trước khi lựa chọn Pages cho dự án mới.
1. Cloudflare Pages là gì?
Cloudflare Pages là nền tảng cho phép developer xây dựng và triển khai ứng dụng lên mạng lưới toàn cầu của Cloudflare. Pages có mặt trên tất cả các gói Cloudflare, bao gồm Free plan, vì vậy developer có thể bắt đầu thử nghiệm mà chưa cần lựa chọn gói trả phí ngay từ đầu.
Cloudflare hiện hỗ trợ ba cách chính để triển khai project lên Pages:
Phương thức | Cách hoạt động | Phù hợp khi |
Git Integration | Kết nối GitHub hoặc GitLab để tự động build và deploy | Project quản lý source code và deployment qua Git |
Direct Upload | Upload trực tiếp assets đã được build sẵn | Project có CI/CD pipeline riêng |
C3 CLI | Khởi tạo và triển khai project từ command line | Developer muốn làm việc và deploy qua CLI |
Nhờ các phương thức này, Pages có thể đáp ứng nhiều workflow khác nhau, từ project được quản lý và triển khai thông qua Git đến những project sử dụng quy trình CI/CD riêng và chỉ cần đưa build output lên Cloudflare.
Lưu ý quan trọng: Cloudflare hiện xác định Workers là nền tảng chính để xây dựng application và khuyến nghị các project mới bắt đầu với Workers. Workers hỗ trợ phần lớn use case của Pages đồng thời cung cấp bộ tính năng rộng hơn. Vì vậy, trước khi bắt đầu một project mới với Pages, đội ngũ phát triển nên đánh giá liệu Workers có phù hợp hơn với kiến trúc và yêu cầu của ứng dụng hay không.
Tìm hiểu thêm: Cloudflare Workers là gì? Hướng dẫn triển khai Serverless Edge Computing cho doanh nghiệp
2. Cloudflare Pages có phải chỉ dành cho static site?
Không. Cloudflare Pages không chỉ dành cho static website. Bên cạnh việc triển khai nội dung tĩnh, Cloudflare cung cấp Pages Functions, cho phép developer triển khai server-side code để bổ sung dynamic functionality mà không cần tự vận hành một dedicated server.
Nhờ đó, project trên Pages có thể kết hợp frontend với logic phía server để xử lý các nhu cầu động của ứng dụng.
Cloudflare cũng cung cấp framework guides cho nhiều công nghệ phổ biến như React, Astro, Hugo, SvelteKit, Nuxt, Vue và Next.js. Tuy nhiên, cách triển khai và khả năng hỗ trợ có thể khác nhau tùy framework, vì vậy developer nên kiểm tra framework guide tương ứng trước khi lựa chọn kiến trúc deployment.
3. Git Integration và quy trình CI/CD trên Cloudflare Pages
Một trong những tính năng đáng chú ý của Cloudflare Pages là Git integration. Khi kết nối project với repository trên GitHub hoặc GitLab, Pages có thể tự động build và deploy ứng dụng khi có thay đổi được push lên branch.
Quy trình cơ bản gồm:
- Chuẩn bị repository chứa source code trên GitHub hoặc GitLab.
- Kết nối Git provider với Cloudflare Pages.
- Chọn repository và cấu hình project.
- Thiết lập build command và build output directory phù hợp với framework.
- Cloudflare Pages thực hiện build và tạo deployment dựa trên những thay đổi trong repository.
Workflow này không chỉ phục vụ production. Khi kết nối Git repository, Pages còn hỗ trợ Preview Deployments, cho phép tạo các phiên bản preview riêng để kiểm tra thay đổi mà không ảnh hưởng đến production deployment.
4. Preview Deployments: kiểm tra thay đổi trước khi đưa lên production
Khi nhiều developer cùng làm việc trên một website, việc đưa mọi thay đổi trực tiếp lên production có thể tạo ra rủi ro.
Preview Deployments cho phép tạo các deployment riêng cho những thay đổi chưa được đưa lên production. Với Git integration, các branch không phải production branch có thể tạo preview deployment, giúp developer và các bên liên quan kiểm tra phiên bản website trước khi thay đổi được merge.
Mỗi preview deployment có URL riêng, nhờ đó team có thể truy cập và kiểm tra giao diện, functionality hoặc nội dung mà không ảnh hưởng đến production deployment.
5. Kiểm soát branch và quá trình build
Cloudflare Pages không chỉ cung cấp cơ chế “push code rồi deploy”. Nền tảng còn cung cấp nhiều tùy chọn để developer kiểm soát cách project được build và triển khai.
5.1 Branch Deployment Controls
Branch Deployment Controls cho phép developer kiểm soát những branch nào được tự động triển khai. Với preview deployments, Pages có thể triển khai tất cả non-production branches, tắt automatic deployment hoặc chỉ định các branch cụ thể thông qua quy tắc include/exclude. Điều này hữu ích khi repository có nhiều development branch nhưng không phải branch nào cũng cần tạo deployment.
5.2 Build Configuration
Build Configuration cho phép developer xác định cách Pages build project và vị trí chứa các output files. Tùy framework, project có thể sử dụng build command và build output directory khác nhau, vì vậy cấu hình cần được thiết lập phù hợp với cấu trúc ứng dụng.
5.3 Build Watch Paths
Với repository lớn hoặc monorepo, không phải mọi thay đổi trong source code đều yêu cầu Pages build lại project. Build Watch Paths cho phép cấu hình các path được theo dõi để Pages quyết định khi nào cần kích hoạt hoặc bỏ qua một build dựa trên những file đã thay đổi.
5.4 Build Caching
Build Caching giúp lưu lại các dependency giữa các lần build để Pages không phải tải và cài đặt lại toàn bộ dependency cho mỗi lần build. Việc tái sử dụng cache có thể giúp rút ngắn thời gian cho các build tiếp theo.
Khi kết hợp các tùy chọn trên, development team có thể kiểm soát chi tiết hơn branch nào được triển khai, khi nào build được kích hoạt và cách project được build, phù hợp hơn với những repository và deployment workflow có nhiều thành phần.
Ví dụ ứng dụng trong quá trình build và deployment:
Nhu cầu | Tính năng phù hợp | Cách áp dụng |
Repository có nhiều development branch | Branch Deployment Controls | Kiểm soát branch nào được tự động tạo deployment |
Project có cấu trúc build riêng | Build Configuration | Thiết lập build command và build output directory phù hợp |
Repository lớn hoặc monorepo | Build Watch Paths | Chỉ kích hoạt build dựa trên thay đổi tại những path được theo dõi |
Muốn hạn chế việc cài đặt lại dependency | Build Caching | Tái sử dụng dependency cache giữa các lần build |
Bằng cách kết hợp các tùy chọn trên, development team có thể kiểm soát rõ hơn branch nào được triển khai, khi nào build được kích hoạt và cách project được build, phù hợp với những repository và deployment workflow có nhiều thành phần.
6. Rollbacks: quay lại deployment trước khi production gặp sự cố
Một deployment mới không phải lúc nào cũng hoạt động đúng như mong đợi. Sau khi phiên bản mới được đưa lên production, website có thể phát sinh vấn đề và đội ngũ phát triển cần nhanh chóng đưa hệ thống trở lại phiên bản đã hoạt động ổn định trước đó.
Cloudflare Pages cung cấp Rollbacks, cho phép developer chọn một production deployment trước đó và đưa deployment này trở lại production. Nhờ vậy, thay vì phải chỉnh sửa source code rồi thực hiện thêm một deployment mới chỉ để khôi phục phiên bản cũ, team có thể rollback trực tiếp về một deployment đã được tạo trước đó.
Tính năng này đặc biệt hữu ích trong quá trình vận hành production, nơi khả năng khôi phục nhanh một phiên bản trước có thể giúp đội ngũ xử lý sự cố deployment thuận tiện hơn. Sau khi production được đưa trở lại phiên bản phù hợp, developer có thể tiếp tục kiểm tra và xử lý vấn đề của phiên bản mới trước khi triển khai lại.
7. Redirects và custom domains
Cloudflare Pages hỗ trợ Redirects, cho phép developer thiết lập các quy tắc chuyển hướng request từ một URL sang một URL khác trong project. Redirect rules có thể được cấu hình thông qua file _redirects, trong đó developer xác định đường dẫn nguồn, đường dẫn đích và status code phù hợp cho từng quy tắc.
Redirects có thể hữu ích trong nhiều tình huống, chẳng hạn:
- thay đổi cấu trúc URL của website;
- chuyển nội dung từ đường dẫn cũ sang đường dẫn mới;
- xử lý các URL cũ sau khi website được cập nhật hoặc tái cấu trúc;
- thiết lập routing phù hợp với cấu trúc của website.
Bên cạnh Redirects, Cloudflare Pages cũng hỗ trợ Custom Domains. Mỗi Pages project có thể sử dụng hostname mặc định dạng <PROJECT_NAME>.pages.dev, nhưng khi đưa website vào vận hành thực tế, developer có thể cấu hình domain riêng cho project.
Nhờ đó, doanh nghiệp có thể sử dụng tên miền thương hiệu của mình thay vì phụ thuộc vào hostname mặc định của Pages. Kết hợp với Redirects, custom domains giúp developer kiểm soát tốt hơn cách người dùng truy cập website và cách các URL được định tuyến khi project được đưa vào môi trường production.
8. Deploy Hooks: kích hoạt deployment ngoài Git workflow
Không phải deployment nào cũng bắt đầu từ việc developer push source code.
Cloudflare Pages cung cấp Deploy Hooks, cho phép tạo một URL riêng để kích hoạt deployment thông qua HTTP POST request.
Điều này mở ra nhiều workflow khác nhau. Ví dụ, một website sử dụng headless CMS có thể gửi request tới Deploy Hook để kích hoạt build mới khi editor xuất bản nội dung, mà không cần developer tạo commit mới trong repository.
Luồng xử lý có thể hình dung như sau: Editor xuất bản nội dung → Headless CMS → Deploy Hook → Cloudflare Pages build và deploy.
Với doanh nghiệp vận hành website dựa nhiều vào content, đây là một tính năng đáng chú ý vì nó giúp kết nối quy trình quản trị nội dung với deployment pipeline.
Lưu ý: Deploy Hook URL không yêu cầu thêm cơ chế authentication khi được gọi. Vì vậy, URL này cần được bảo vệ tương tự một secret để tránh việc deployment bị kích hoạt ngoài ý muốn.
9. Pages Functions: thêm server-side logic mà không vận hành server riêng
Khi website cần nhiều hơn static content, Pages Functions cho phép developer chạy server-side code để bổ sung dynamic functionality cho project mà không cần vận hành dedicated server.
Functions có thể được sử dụng cho nhiều loại logic động, chẳng hạn xử lý authentication, form submissions, middleware hoặc các request động khác.
Cloudflare còn cung cấp Bindings cho Pages Functions, cho phép Functions tương tác với các tài nguyên Cloudflare được liên kết với project, chẳng hạn KV namespaces, Durable Objects, R2 buckets hoặc D1 databases.
Nhờ đó, Pages có thể mở rộng từ một frontend deployment thành ứng dụng kết hợp frontend với server-side logic và các dịch vụ dữ liệu/lưu trữ trong hệ sinh thái Cloudflare, mà không yêu cầu doanh nghiệp tự vận hành hạ tầng máy chủ truyền thống.
10. Pages có thể kết hợp với những dịch vụ Cloudflare nào?
Một điểm đáng chú ý của Pages là khả năng hoạt động cùng các dịch vụ khác trong hệ sinh thái Cloudflare. Một số sản phẩm liên quan được Cloudflare giới thiệu gồm:
- Workers: môi trường serverless execution để xây dựng hoặc mở rộng ứng dụng.
- R2: object storage dành cho dữ liệu phi cấu trúc.
- D1: serverless SQL database của Cloudflare.
- Zaraz: giúp đưa hoạt động của một số third-party tools và services lên cloud nhằm giảm tác động của chúng đến website.
Thông qua Pages Functions và Bindings, developer có thể kết nối ứng dụng với các tài nguyên như R2, D1 và những dịch vụ Cloudflare được hỗ trợ khác, từ đó kết hợp frontend với server-side logic, data và storage để xây dựng kiến trúc ứng dụng rộng hơn. Zaraz có thể được sử dụng như một dịch vụ bổ trợ cho website, thay vì được xem là một resource được truy cập thông qua Pages Functions Bindings.
11. Cloudflare Pages có miễn phí không?
Cloudflare Pages có mặt trên tất cả các plan, bao gồm Free plan.
Theo tài liệu Cloudflare hiện tại, Free plan hỗ trợ tối đa 500 deployments mỗi tháng. Các giới hạn liên quan đến build concurrency và những tài nguyên khác cần được kiểm tra theo Pages Limits hiện hành.
Tuy nhiên, “miễn phí” không có nghĩa mọi tài nguyên mà ứng dụng sử dụng đều không giới hạn. Request tới static assets trên Pages được Cloudflare cung cấp miễn phí và không giới hạn, nhưng request tới Pages Functions được tính vào quota của Cloudflare Workers. Nếu project kết hợp thêm các dịch vụ khác trong hệ sinh thái Cloudflare, developer cũng cần kiểm tra pricing và limits tương ứng của từng sản phẩm.
Do đó, thay vì chỉ nhìn vào chi phí triển khai và phân phối static assets, doanh nghiệp nên đánh giá tổng thể kiến trúc, các dịch vụ được tích hợp và mức sử dụng dự kiến của ứng dụng.
12. Cloudflare Pages phù hợp với những Use case nào?
Cloudflare Pages có thể phù hợp với các project đang sử dụng Pages hoặc những workflow cần triển khai frontend, static assets và tích hợp quy trình deployment với Git hoặc CI/CD riêng.
Một số use case tiêu biểu gồm:
Use case | Vì sao Pages phù hợp | Tính năng liên quan |
Project Pages đang vận hành | Có thể tiếp tục sử dụng Pages nếu kiến trúc và workflow hiện tại vẫn đáp ứng yêu cầu | Pages deployment |
Static website hoặc frontend application | Cho phép build và triển khai website hoặc frontend lên mạng lưới Cloudflare | Git Integration, Direct Upload |
Project quản lý deployment qua Git | Có thể kết nối GitHub hoặc GitLab để tự động build và deploy khi repository thay đổi | Git Integration |
Team cần kiểm tra thay đổi trước production | Có thể tạo phiên bản riêng để review trước khi đưa thay đổi lên production | Preview Deployments |
Website cần server-side logic | Có thể bổ sung dynamic functionality mà không cần vận hành dedicated server | Pages Functions |
Frontend cần kết nối data hoặc storage | Pages Functions có thể kết nối với các tài nguyên khác trong hệ sinh thái Cloudflare | Bindings, R2, D1 |
Project có CI/CD pipeline riêng | Có thể đưa các assets đã build sẵn lên Cloudflare mà không cần sử dụng Git Integration | Direct Upload |
Lưu ý khi áp dụng cho project mới:
Các use case trên không có nghĩa Pages là lựa chọn mặc định cho mọi project mới. Cloudflare hiện xác định Workers là primary platform for building applications và khuyến nghị các project mới bắt đầu với Workers. Workers hỗ trợ phần lớn use case của Pages đồng thời cung cấp bộ tính năng rộng hơn.
Vì vậy, đối với project mới, development team nên đánh giá Pages và Workers dựa trên kiến trúc, deployment workflow và các tính năng thực tế mà ứng dụng cần trước khi lựa chọn nền tảng.
13. Cloudflare Pages hay Workers cho dự án mới?
Đây là câu hỏi quan trọng hơn việc chỉ so sánh Pages với các nền tảng hosting bên ngoài.
Cloudflare hiện xác định Workers là primary platform for building applications. Theo tài liệu Cloudflare, Workers hỗ trợ phần lớn use case của Pages, cung cấp bộ tính năng rộng hơn và được khuyến nghị làm điểm bắt đầu cho các project mới. Điều này không có nghĩa các project đang sử dụng Pages phải chuyển sang Workers ngay lập tức.
Vì vậy:
Nếu đang có project Pages: doanh nghiệp có thể tiếp tục sử dụng Pages nếu nền tảng và workflow hiện tại vẫn đáp ứng yêu cầu của project.
Nếu bắt đầu project mới: Cloudflare khuyến nghị bắt đầu với Workers. Developer nên đánh giá các yêu cầu về kiến trúc, deployment workflow và tính năng trước khi quyết định nền tảng phù hợp.
Cloudflare cũng cung cấp tài liệu Migrate to Workers, hướng dẫn các phương án chuyển project từ Pages sang Workers khi có nhu cầu migration.
14. Kết luận
Cloudflare Pages cung cấp nhiều hơn một dịch vụ host static website. Nền tảng hỗ trợ Git integration, Direct Upload, Preview Deployments, Rollbacks, Redirects, custom domains, Deploy Hooks và khả năng chạy server-side code thông qua Pages Functions.
Khả năng kết hợp Pages Functions và Bindings với các tài nguyên khác trong hệ sinh thái Cloudflare cũng giúp developer mở rộng project từ static content sang những ứng dụng cần dynamic functionality, data hoặc storage.
Tuy nhiên, có một yếu tố quan trọng cần cân nhắc ở thời điểm hiện tại: Cloudflare xác định Workers là primary platform for building applications và khuyến nghị các project mới bắt đầu với Workers. Workers hỗ trợ phần lớn use case của Pages đồng thời cung cấp bộ tính năng rộng hơn.
Tìm hiểu thêm: Mua Cloudflare Enterprise tại Việt Nam ở đâu? Và những lợi ích khi doanh nghiệp triển khai Cloudflare Enterprise qua LionTech
Vì vậy, câu hỏi không chỉ là “Cloudflare Pages có phù hợp để deploy website hay không?”, mà còn là Pages hay Workers phù hợp hơn với kiến trúc, deployment workflow và yêu cầu dài hạn của dự án. Với những doanh nghiệp cần đánh giá hoặc triển khai các nền tảng này trong một kiến trúc Cloudflare rộng hơn, LionTech – Cloudflare Partner có thể đồng hành trong quá trình tư vấn, lựa chọn và triển khai Pages, Workers cùng các dịch vụ liên quan dựa trên nhu cầu thực tế của hệ thống.
Nguồn tham khảo: https://developers.cloudflare.com/pages/






