Triển khai một website miễn phí, nhanh, hiện đại và an toàn

Triển khai một website miễn phí, nhanh, hiện đại và an toàn

·

3 min read

Nghe tiêu đề thật là hấp dẫn, một món hàng ngon, bổ, rẻ thì ai mà chẳng thích. Đấy là sự thật, trong bài này tôi sẽ đưa ra khuyến nghị về mô hình triển khai một website như vậy.

image.png

Lưu ý mô hình khuyến nghị này nên chỉ áp dụng cho cá nhân hoặc tổ chức nhỏ lẻ. Quan điểm triển khai một website public của tôi follow theo 2 xu thế:

  1. Cloud hóa, managed as service: cứ đẩy lên môi trường, hệ thống cloud, họ sẽ vận hành cho mình, không việc gì phải thuê server rồi cài rồi ssh, hardening rồi chống tấn công, rồi chưa kể phải scale khi tăng tải, ...
  2. Opensource, tập trung bảo vệ content và danh tiếng: nên sử dụng opensource hoặc tự code thì cứ tự tin opensource nó ra cho ai cũng dùng được. Khi đó sẽ tự tin lúc nào cũng dựng lại được web, ngay cả khi hệ thống cloud bị sập vì code đã được backup khắp nơi và mình cũng tận dụng được tri thức của cộng đồng trong việc fix lỗi. Cái quan trọng nhất cần giữ là db và domain. Nên backup db và ảnh thường xuyên. Domain thì bảo vệ cẩn thận.

image.png

Ảnh: mô hình khuyến nghị

Dev: Tính luôn từ đầu là nên dùng các nền tảng và code trên nguyên tắc phù hợp với Heroku (devcenter.heroku.com). Source code nên commit lên Github, tùy mức độ mở, có thể dùng repo private hoặc public.

Deploy: Như đã nói ở trên, Heroku là nơi quá phù hợp để lựa chọn để hosting web, vừa dạng PaaS, vừa miễn phí, lại có rất nhiều add on db. Nói về add on trên Heroku, nên lựa chọn lưu db trên các add on của Heroku để có tính đồng nhất, sau đó setup định kỳ backup trên các add on này. Việc liên lạc giữa code chạy trên Heroku với các add on và các cấu hình khác như kiểu mật khẩu nên lưu trên biến môi trường (Config vars) để dễ dàng điều chỉnh và cũng đỡ sợ bị lộ source.

Media: Ngoài db thì Media (ảnh, video) cũng là một phần hồn của web, setup một tài khoản AWS miễn phí để đẩy ảnh lên và lưu trữ lâu dài.

Https, WAF, Antiddos: Cloudflare quá ngon, cho free cert https xanh lè, lại có con DNS cấu hình dễ dàng, thi thoảng cần chặn gì thì lại có sẵn 5 rule WAF miễn phí.

Monitor: Quá trình cài đặt xong, web chạy ngon lành, advance thêm chút là giám sát sống chết. uptimerobot.com là lựa chọn tuyệt vời, vừa giám sát được web, lại giám sát được cả TCP/IP, gửi mail tức thì, ngoài ra một ưu điểm vượt trội là có thể tạo 1 web dạng status.requestbin.net miễn phí để xem trạng thái các service.

Update 7/2021: uptimerobot đã không còn free cho tạo subdomain dạng status.abc.com

Vậy đấy, tất cả đều miễn phí, cái AWS đâu đó khoản 1,2 USD 1 năm, không đáng kể coi như free. Vậy là bạn đã có 1 web https đẹp đẽ, có waf bảo vệ, chống ddos, chống xâm nhập, phục hồi nhanh chóng, lại còn có cả giám sát down time, đặc biệt là miễn phí :)