Nhắc đến CDN trả phí, chúng ta sẽ nghĩ ngay đến các dịch vụ CDN nổi tiếng trên thế giới và được sử dụng rất rộng rãi như MaxCDN, Amazon CloudFront, CacheFly,NetDNA,…và đó là những nhà cung cấp CDN số 1 hiện nay mà các website lớn vẫn đang sử dụng để hỗ trợ tăng tốc website trên nhiều quốc gia khác nhau. Nhưng nhìn chung, các dịch vụ CDN kể trên đều có giá rất đắt mà hầu hết các website nhỏ lẻ lại không cần thiết để đầu tư.
Nhưng mới đây, mình vừa biết thêm một nhà cung cấp dịch vụ CDN nữa cũng rất là tốt mà giá thành lại rất rẻ, thấp nhất là $0.04/GB cho cả 3 châu lục Âu – Á – Mỹ. Điều đặc biệt hơn nữa là khi mới đăng ký, bạn sẽ được miễn phí 25GB băng thông mà không cần xác nhận thẻ tín dụng, đủ để bạn trải nghiệm CDN trong vài ngày cho website tầm trung. Dịch vụ này có tên gọi là KeyCDN.
CDN là gì và tại sao lại dùng CDN
CDN là chữ viết tắt của Content Delivery Network, có thể tạm dịch ra là Mạng phân phối nội dung, nội dung ở đây nghĩa là các dữ liệu tĩnh như HTML, .css, .js, các hình ảnh, video, flash,…nói chung là không phải nội dung động. CDN có nhiệm vụ lưu phiên bản cache của nội dung tĩnh trên nhiều máy chủ thuộc hệ thống CDN của họ nằm rải rác ở các Châu Lục, quốc gia để người dùng có thể truy cập vào các nội dung đó một cách nhanh nhất vì nó sẽ tự điều hướng truy cập đến một máy chủ CDN gần nhất.
Ví dụ host của bạn nằm ở Mỹ, một file ảnh ping từ Việt Nam đến thì sẽ có tốc độ trung bình là 300ms, nhưng nếu bạn dùng CDN và ping đến địa chỉ CDN thì tốc độ chỉ còn khoảng 55ms – 80ms tùy thuộc máy chủ CDN đó nằm ở quốc gia nào gần nhất như Singapore, Tokyo,…
Tạm thời mình giải thích như vậy, mình sẽ nói rõ hơn về CDN ở một bài viết khác.
Giới thiệu KeyCDN
KeyCDN là một dịch vụ CDN của Thụy Sỹ được chính thức ra mắt công chúng vào giữa năm 2014. Đây là một dịch vụ CDN phải nói là có giá rẻ nhất hiện nay nếu không tính qua CloudFlare, mặc dù rẻ nhưng chất lượng CDN tại đây rất tốt và đặc biệt là số lượng máy chủ của KeyCDN lên đến 26 máy chủ, xem ảnh dưới để biết chi tiết.
Về bảng giá, thì họ có bảng giá như sau:
Nghĩa là nếu bạn dùng ít hơn 10TB băng thông/tháng thì sẽ có giá là $0.04/GB/tháng và dùng càng nhiều thì giá càng rẻ đi. Hãy để mình nhẩm tính nhé, mỗi tháng ThachPham.Com mất khoảng 300GB băng thông thì giá sẽ là 300 * 0.04 = $12/tháng, trong khi giá tại Amazon CloudFront sẽ là trên $60/tháng và MaxCDN là $39/tháng. Hãy nhớ rằng, KeyCDN cũng không tính thêm phí dựa vào số lượng request gửi qua giao thức HTTP trong khi ở Amazon hay NetDNA nó sẽ tính phí này.
Không chỉ miễn phí, KeyCDN rất thân thiện trong việc thanh toán khi cho phép bạn dùng bao nhiêu trả bấy nhiêu, ví dụ mỗi tháng bạn dùng hết $4 thì nó sẽ trừ $4 trong thẻ tín dụng của bạn chứ không hạn mức lưu lượng tối thiểu phải sử dụng. Bạn cũng có thể thiết lập thanh toán qua PayPal hoặc nạp credit vào tài khoản.
Một điểm cộng cho KeyCDN nữa đó là hỗ trợ Shared SSL miễn phí (đối với domain dạng https://xxxx.kxcdn.com) và cũng không tính thêm phí Custom SSL (đối với domain dạng https://xxx.domain-của-bạn.com) nhưng bạn sẽ cần phải sở hữu một chứng chỉ SSL riêng, KeyCDN cũng có thể giúp bạn mua chứng chỉ SSL riêng với $29/năm.
Các tính năng của KeyCDN
Rẻ thì rẻ nhưng KeyCDN vẫn hỗ trợ đầy đủ các tính năng CDN mà các nhà cung cấp CDN chuyên nghiệp khác đang có như:
- Pull CDN – dạng CDN cơ bản, nghĩa là nó tự kéo nội dung của bạn từ một địa chỉ gốc (domain chính của bạn).
- Push CDN – nghĩa là bạn có thể upload một tập tin nào đó lên server CDN và load trực tiếp, gần giống với Amazon S3.
- VoD CDN – CDN dành cho các nội dung video.
- Live Streaming CDN – CDN dành cho phương thức truyền tải Streaming như một video tường thuật trực tiếp chẳng hạn.
Về quản lý, KeyCDN hỗ trợ:
- Sử dụng domain riêng.
- Hạn chế load CDN từ một địa chỉ nào đó. Tránh việc ăn cắp băng thông.
- Cho phép tạo Sub User, nghĩa là các tài khoản con để cho nhiều người cùng quản lý 1 tài khoản CDN. Bạn có thể phân chia Zone cho mỗi user cần quản lý.
- Cho phép xem thống kê băng thông sử dụng theo ngày tháng hoặc thời gian thực.
- Hỗ trợ tài khoản FTP để quản lý Push CDN.
Thêm nữa, nếu bạn cần viết ứng dụng kết nối với tài khoản KeyCDN của bạn thì cũng dễ dàng vì nó có hỗ trợ API kiểu dữ liệu JSON.
Bạn cần gì thêm nữa với một dịch vụ CDN giá rẻ như KeyCDN?
Hướng dẫn sử dụng KeyCDN
Tạo một Pull Zone đơn giản
Pull Zone nghĩa là một địa chỉ CDN cho một website nào đó với phương thức Pull mà mình có nói ở trên. Nếu bạn mới sử dụng CDN hoặc không có nhiều nhu cầu phức tạp thì chỉ nên sử dụng Pull CDN.
Sau khi tạo xong tài khoản, bạn hãy truy cập vào phần Zones trên menu.
Nếu bạn chưa có zone nào thì nó sẽ hiển thị khung cho bạn tạo, bạn nhập tên Zone cần tạo và chọn Zone Type là Pull rồi nhập tên domain của địa chỉ cần lấy nội dung bỏ vào CDN. Ấn Save để hoàn tất.
Bây giờ bạn hãy đợi nó chạy xong hết thanh màu xanh này là có thể dùng được.
Tích hợp CDN vào WordPress
Để tích hợp CDN vào WordPress thì bạn có thể dùng chính plugin WP Super Cache hoặc W3 Total Cache vì mình nghĩ chắc chắn ai cũng đang dùng 1 trong 2 plugin này.
Đối với W3 Total Cache
Bạn vào Performence -> General Settings-> đánh dấu vào mục CDN và chọn CDN Type là Generic Mirror và ấn Save All Settings.
Kế đến là bạn vào Performence -> CDN, ở phần Configuration bạn nhập URL của zone bạn vừa tạo ở KeyCDN và ấn Save all Settings.
Ok, bây giờ hãy xóa cache website và logout ra khỏi website và xem nếu các hình ảnh/file tĩnh trên website đã load qua CDN thì thành công.
Lưu ý nếu bạn có dùng FontAwesome
Nếu bạn có sử dụng FontAwesome trong theme/plugin thì nó sẽ bị lỗi khi dùng CDN. Ở phần Performence -> CDN -> General, ở phần Theme file types to upload, bạn thay thế đoạn trong đó thành *.css;*.js;*.gif;*.png;*.jpg;*.ico;*.less
.
Đối với WP Super Cache
Đơn giản là vào Settings -> WP Super Cache -> CDN, đánh dấu vào mục Enable CDN Support và nhập địa chỉ CDN vào ở phần Off-site URL.
Nếu bạn có dùng FontAwesome thì ở phần Exclude if Substring, bạn điền là .php, .eot, .ttf, .svg, .woff, .otf
.
Sử dụng sub-domain riêng cho CDN cho KeyCDN
Mặc định địa chỉ CDN của bạn sẽ là xxx.kxcdn.com làm mất đi vẻ chuyên nghiệp khi chẳng may người dùng nhận ra đường dẫn đó. Bạn có thể thay xxx.kxcdn.com thành một subdomain kiểu như cdn.thachpham.com chẳng hạn.
Để tạo, bạn vào KeyCDN Dashboard và vào phần Zonealiases và ấn New Zonealias. Sau đó bạn chọn Zone cần tạo Subdomain và gõ subdomain bạn cần sử dụng vào.
Bây giờ, việc bạn cần làm là thêm một record loại CNAME vào DNS và trỏ tên subdomain về domain của CDN zone bạn cần trỏ về.
Xóa cache cho CDN
Hãy nên nhớ rằng, nếu file nào được load thông qua CDN thì file đó sẽ được server CDN đó lưu cache, nên nếu bạn có file CSS hay file nào đó vừa thay đổi thì hãy tiến hành xóa cache. Để xóa cache trong CDN, bạn vào Dashboard -> Zones và ấn nút Manage bên phải rồi chọn Purge hoặc Purge URL. Nếu bạn chỉ muốn xóa cache của 1 file thì nên chọn PurgeURL và nhập đường dẫn CDN của file cần xóa cache.
Bổ sung đánh giá chất lượng
Tính đến ngày hôm nay sửa bài này (17/07/2015) thì đã tròn 10 tháng kể từ khi mình sử dụng dịch vụ KeyCDN và bây giờ bạn có thể thấy logo của KeyCDN nằm ở footer của ThachPham.com vì mình muốn cho mọi người biết rằng đây là dịch vụ rất tốt. Giá rẻ, hỗ trợ tới 22 POP là một mức giá không dễ tìm được. Nên mình nhiệt tình khuyến khích các bạn sử dụng.
Lời kết
Qua bài này bạn đã vừa biết thêm được một nhà cung cấp CDN rất tốt mà lại rẻ, kèm theo đó là cách cài đặt CDN cho website sử dụng WordPress. Hy vọng với KeyCDN, khái niệm CDN sẽ trở nên gần gũi với mọi người hơn vì giá cả phải chăng mà cũng không quá phức tạp để sử dụng.