Heroku là gì?

Heroku là dịch vụ cung cấp máy chủ miễn phí cho người dùng. Với cái giá phải trả 0$ cùng với vô vàn các addons hỗ trợ cực kỳ hữu ích thì đấy được coi là một trong những dịch vụ hấp dẫn khó cưỡng. Dù miễn phí nhưng nó có thể so sanh với các server trả phí.

Heroku hỗ trợ nhiều ngôn ngữ lập trình

  • NodeJS
  • Ruby
  • Python
  • PHP
  • Java
  • Scala
  • Clojure
  • Go
  • Kotlin

heroku-yeulaptrinh.pw

Cách sử dụng

Trước mình có code server-side bằng NodeJS rồi deploy(triển khai) lên Heroku. Qua một thời gian trải nghiệm, mình thấy Heroku không quá khó dùng nhưng cũng không quá đơn giản dành cho gà mờ. Sử dụng nó cũng tương tự như Github với một số câu lệnh cơ bản như:

(bạn phải download heroku CLI về)

Một số tính năng khác

Ngoài những tính năng trên heroku còn hỗ trợ nhiều tính năng khác:

  • Database miễn phí
  • SSL miễn phí
  • Hỗ trợ làm việc team
  • Liên kết với Github đơn giản

Bất tiện khi sử dụng

Cái gì miễn phí thì cũng có một số bất tiện của nó. Ở Heroku thì là:

  • Heroku chỉ cho người dùng 550 giờ mỗi tháng để sử dụng. Tuy nhiên bạn có thể tăng số lượng giờ đồng hồ sử dụng lên con số 1000 nếu như bạn cài đặt phương thức thanh toán vào trong tài khoản. 1000 giờ đồng hồ là quá đủ để blog cá nhân của bạn chạy êm ru cả tháng (31 ngày * 24 giờ = 744 giờ)
  • Sau 2 đến 3 giờ nếu server không có người truy cập thì server sẽ chuyển sang trạng thái ngủ.Về việc server bị tắt khi không có traffic, cách đơn giản nhất là tự tạo traffic cho nó. Cách dễ nhất là dùng Pingdom để ping trang blog của bạn thường xuyên giữ cho server không bị tắt.Cài đặt Pingdom khá đơn giản, chỉ việc điền thông tin và nhấn chừng 3-4 cái nút. Cài đặt tại:

Bạn có thể nâng cấp lên để trải nghiệm tốt hơn.

Có một số tips nhỏ mình muốn giới thiệu cho bạn:

Tip: Vấn đề SSL

(SSL là chứng chỉ bảo mật)

Nếu bạn dùng domain mặc định của heroku (*.herokuapp.com) thì bạn sẽ dùng SLL không phải trả tiền. Tuy nhiên nếu bạn muốn trỏ sang domain cá nhân của bạn thì SSL sẽ không còn.

Để có được SSL miễn phí thi ta dùng Cloudflare để làm DNS và Cloudflare hỗ trợ miễn phí kết nối Full SSL đến host.

Pipeline là gì?

Ở heroku có một khái niệm mới là pipeline. Pipeline mang đến cho người dùng giải pháp Test automation và Continuous Integration/Continuous Development(CICD).

Pipeline là kiến trúc cho phép song song hoá các công đoạn trong xử lý vài lệnh đồng thời

Bạn có thể tìm hiểu thêm trên mạng.