Máy chủ web Môi trường phát triển
Nguyễn Nhân  

Danh sách dịch vụ máy chủ miễn phí

Không phải ai cũng sẵn sàng bỏ ra 5-10$ cho một máy chủ bèo nhất hiện nay như của Vultr, DigitalOcean, OVH, Linode Bài viết này giới thiệu một số dịch vụ máy chủ miễn phí dành cho lập trình viên thường là trong giai đoạn thử nghiệm sản phẩm mới, đang lập trình chưa hoàn thiện hoặc là các nhóm khởi nghiệp với số vốn ít ỏi. (Có thể bạn quan tâm: Vũ khí bí mật dành cho khởi nghiệp)

Những dịch vụ này có tài nguyên giới hạn (RAM < 1GB) hoặc một vài hạn chế nhất định, nhưng nếu bạn biết tận dụng và cấu hình tốt thì chi phí máy chủ cho khởi nghiệp là bằng 0. Các dịch vụ này hoạt động thường với nguyên tắc là “Pay as you go” tức là xài nhiêu trả nhiêu nên khá là thoải mái nếu sau này sản phẩm của bạn phát triển lên – nghĩa là có khách hàng, có thu nhập.

Nội dung chính

Danh sách dịch vụ máy chủ miễn phí

AppHarbor

Bảng giá

  • Miễn phí: 1 worker unit
  • Ưu điểm: auto scaling, deploy với git, đặc biệt hỗ trợ .NET
  • Giới hạn: không hỗ trợ việc sử dụng domain riêng của bạn

AWS EC2

Đăng ký

  • Miễn phí: 750 giờ/tháng cho gói t2.micro
  • Điểm mạnh: đầy đủ chức năng của VPS và toàn bộ tính năng của hệ thống AWS EC2
  • Giới hạn: 12 tháng cho mỗi đăng ký, tương ứng 1 credit card. 

GearHost

Bảng giá

  • Miễn phí: 1 shared node và 1 worker, 100MB lưu trữ, 1GB băng thông/tháng, tùy chỉnh tên miền
  • Ưu điểm: hỗ trợ .NET (4.6), PHP (5.3-5.5) và ứng ụng Node.js, cơ sở dữ liệu MSSQL và MySQL, dễ dàng xuất bản với FTP, WebDeploy hoặc trực tiếp từ Git/GitHub/Bitbucket.
  • Giới hạn:
    • Giới hạn tích lũy CPU (60 phút được cấp phát mỗi 24 giờ) và RAM (256 MB được cấp pháp cho mỗi giờ), 1 GB băng thông được cấp phát mỗi 24 giờ, 250 kết nối đồng thời (con số này đạt được thì kiếm được tiền rồi), không hỗ trợ SSL và chỉ hỗ trợ 32bit.
    • Khi mức sử dụng CPU, RAM, băng thông đạt giới hạn thì ứng dụng sẽ bị rơi vào trạng thái offfline và được sẽ hoạt động lại tới khi được reset.

Google App Engine

Trang sản phẩm

  • TấtMiễn phí: 28 giờ instance/ngày, băng thông 1GB chiều ra/ngày,băng thông 1GB vào/ngày.
  • Ưu điểm: thừa kế toàn bộ tính năng của hệ thống Google Cloud: được quản lý, tự động scale, load balancing, …
  • Giới hạn: chỉ hỗ trợ Python, Java, PHP và Go, vì đây là các môi trường chuẩn chỉ được chọn phiên bản nhất định ví dụ Python 2 hoặc Python 3, PHP 5 hoặc PHP 7. Còn với môi trường linh hoạt như Ruby và Node.js thì không được miễn phí.

Heroku

Bảng giá

  • Miễn phí: gói “dyno” (512MB RAM), tùy chỉnh tên miền
  • Ưu điểm: hỗ trợ nhiều ngôn ngữ (Node.js, Ruby, Java, PHP, Python, Go, Scala or Clojure)
  • Giới hạn: instance sẽ bị rơi vào trạng thái ngủ đông khi không có hoạt động, ví dụ web không có ai truy cập trong 30 phút thì nó sẽ bị ngủ đông. Khi có truy cập thì nó tự động khởi động và hoạt động bình thường. Mình đang dùng Heroku để triển khai Huginn, khá ngon 🙂

IBM Bluemix

Bảng giá

  • Miễn phí: gói 512MB/tháng
  • Ưu điểm: có thể triển khai các con VPS nhỏ với tổng cộng 512MB (Ví dụ: 4x128MB, 2x256MB…), hỗ trợ nhiều ngôn ngữ (Java, JS, Go, PHP, Python Ruby), hỗ trợ containers

OpenShift

Bảng giá

  • Miễn phí: 3 small gears (1 CPU, 512MB RAM and 1GB lưu trữ), tương đương 3 CPU, 1,5GB RAM và 3 GB lưu trữ
  • Ưu điểm: mỗi gear có thể để sử dụng để triển khai ứng dụng trong nhiều ngôn ngữ hoặc cơ sở dụng liệu, cũng có sẵn nhiều template cho việc triển khai.
  • Giới hạn:
    • Triển khai đòi hỏi phải cài đặt ựng dụng OpenShift.
    • Bị ngủ đông nếu trong 24h không có request.
    • Nếu ứng dụng rơi vô trạng thái ngủ đông thì mất hơn 30s để hoạt động trở lại.

Zeit Now

Bảng giá

  • Miễn phí: 1GB lưu trữ, băng thông 1GB tháng, 20 lần triển khai/tháng, miễn phí sao lưu
  • Ưu điểm: tự động scale, miễn phí sao lưu, có thể triển khai HTTP/2, sử dụng phiên bản mới nhất của Node.js. Tất nhiên là nó cũng có thể dùng để triển khai web tĩnh.
  • Giới hạn: mỗi tập tin có dung lượng tối đa 1MB (cái này thì cũng không cần lo lắm), không tùy chỉnh tên miền. Tuy nhiên, mã nguồn bị đặt ở chế độ công cộng là điểm trừ khá lớn.

Đánh giá

Tùy thuộc vào hệ thống của bạn sử dụng những công nghệ nào để chọn, nhưng theo đánh giá của mình (và có sử dụng một vài kỹ thuật tối ưu) thì máy chủ miễn phí sẽ có những thứ tự sau:

  1. OpenShift
  2. IBM Bluemix
  3. Heroku
  4. AWS EC2
  5. Google App Engine
  6. AppHarbor
  7. GearHost
  8. Zeit Now

Trong danh sách dịch vụ máy chủ miễn phí này thì tất nhiên xài cái nào cũng có giới hạn nhất định,. Nhưng mình chọn OpenShift đứng vị trí số vì ngoài tài nguyên nhiều nhất thì chúng ta cũng có thể khắc phục giới hạn của nó. Còn IBM Bluemix thì cũng khá linh động khi cho phép tạo nhiều VPS nhỏ và hỗ trợ container nữa. Heroku thì cũng có khắc phục được giới hạn thời gian.

Fullstack Station’s Tips

Trong bài giới thiệu về Next.js mình có nói về microservice, và cũng như sự lên ngôi của microservice trong thời gian tới. Mặc dù độ trễ khi kết nối các microservice là điều khó tránh khỏi nhưng về mặt linh động và hạn chế rủi ro thì microservice rất tốt. Với các dịch vụ máy chủ miễn phí này, bạn hoàn toàn có thể tự xây dựng cho mình một mạng lưới các microservice  như vậy để hạn chế chi phí trong quá trình lập trình.

Dưới đây là một số thủ thuật để nâng cao hiệu quả sử dụng các dịch vụ trên:

  • AWS EC2: bạn có thể dùng 1 credit card khác đăng ký để sử dụng thêm.
  • Các dịch vụ như Heroku, OpenShift bị ngủ đông sau 1 khoảng thời gian nhất định thì bạn dùng một máy khác và tạo cronjob để thực hiện request vào các máy này để không cho nó ngủ. Hoặc sử dụng các dịch vụ ngoài, hiện tại thì có UptimeRobot miễn phí với 50 monitors (tương đương 1 lệnh theo dõi)
  • Với các dịch vụ trong top 4 thì bạn có thể chạy 1 website nhỏ khá thoải mái, ngoài ra còn có thể sử dụng các dịch vụ này để làm một số tác vụ như:
    • Chạy cron
    • Chỉnh sửa hình ảnh
    • API đơn giản
    • Task queue: nếu sử dụng mô hình phân tán nhiệm vụ như Gearman bạn có thể tạo ra được một hệ thống mạnh mẽ, với tổng các dịch vụ được giới thiệu tầm 4GB RAM hơn 8 CPU, đây là một con số không hề nhỏ.

Kết

Hi vọng với việc giới thiệu các dịch vụ máy chủ miễn phí này, bạn có thể thoải mái tập trung vào việc phát triển sản phẩm trong thời gian lâu hơn, và có thể nắm rõ hệ thống microservice để hạn chế chi phí sau này. Mặc dù việc nghiên cứu sử dụng các dịch vụ này là cần có, cũng như những sự cố có thể xảy ra đòi hỏi tốn thời gian bảo trì. Tuy nhiên với những kinh nghiệm bạn trải qua đó, bạn hoàn toàn có thể tận dụng những máy chủ miễn phí này để xây dựng môi trường Production. Đây là một điều lý tưởng cho khởi nghiệp khi triển khai không tốn chi phí.

Chúc mọi người thành công trong năm mới 2017, Happy New Year!!!

 

Comments

Leave A Comment