Updated at: 15-04-2022 - By: Duy Phương

Heroku là gì? Heroku sẽ là sự lựa chọn tuyệt vời, giúp cho các lập trình viên có thể triển khai các dự án nguồn một cách nhanh gọn. Vậy Heroku là gì? Đặt ký Heroku 05/2022 như thế nào? Chi tiết sẽ được Thefinances.org gửi đến bạn đọc thông qua bài viết sau đây.

Heroku là gì?

Heroku là gì?

Heroku là gì?

Heroku là một nền tảng đám mây cho phép các cá nhân, doanh nghiệp xây dựng, triển khai, quản lý và mở rộng ứng dụng. Lợi thế chính của nền tảng này nằm ở tính linh hoạt và dễ sử dụng. Đây là giải pháp giúp các nhà phát triển đưa ứng dụng của họ ra thị trường đơn giản và nhanh chóng nhất

Được quản lý bởi một công ty cùng tên, Heroku mang lại một trải nghiệm tuyệt vời cho nhà phát triển ứng dụng. Họ chỉ cần tập trung vào phát triển, nâng cấp sản phẩm cốt lõi của mình mà không bị phân tâm trong việc duy trì hoạt động máy chủ, phần cứng hoặc các cơ sở hạ tầng.

Heroku còn được biết đến như một nơi để triển khai các ứng dụng trong dyno. Khi bạn bắt đầu triển khai một ứng dụng Heroku, bạn phải thiết lập một máy ảo được gọi là slug, sử dụng một hoặc nhiều buildpacks. Lúc này, khi một máy ảo được khởi chạy từ slug sẽ được gọi là dyno.

Đối với trường hợp phải xử lý nhiều công việc phức tạp. Bạn sẽ phải thêm một số block (scale chiều ngang) hoặc tăng thêm kích thước cho các block (scale chiều dọc). Lúc này, phí sử dụng Heroku sẽ được tính dựa trên số lượng dyno cũng như kích thước của mỗi dyno mà bạn đang dùng.

Có thể bạn sẽ phải trả phí nếu muốn sử dụng đầy đủ tính năng của Heroku. Nhưng thực tế Heroku không hề lưu trữ ứng dụng của bạn mà cả nền tảng Heroku và tất cả các ứng dụng được phát triển trên đó đều triển khai trên Amazon Web Services (AWS).

Một số ngôn ngữ lập trình mà Heroku cơ khả năng hỗ trợ gồm: NodeJS, Ruby, Python, PHP, Java, Scala, Clojure, Go, Kotlin,…Bên cạnh đó, Heroku còn hỗ trợ cả Postgresql database.

Cơ chế hoạt động của Heroku

Cơ chế hoạt động của Heroku

Cơ chế hoạt động của Heroku

Heroku có cách thức hoạt động khá giống với các dịch vụ git (github, gitlab). Để sử dụng nền tảng này, bạn cần phải đăng ký một tài khoản, sau đó tạo các git repository (heroku gọi là app) và dùng các git command để đẩy code lên. Điểm khác biệt của Heroku so với các dịch vụ git ở chỗ với mỗi git repository trên Heroku bạn sẽ có một domain dạng https://ten-repository.herokuapp.com – đây là nơi show demo cho repository của bạn.

Ngoài ra, bạn cũng có thể sử dụng một git repository trên github để deploy lên Heroku. Tuy nhiên, bạn không nên sử dụng Heroku để thay thế cho các dịch vụ git như github hay gitlab.

Một số tính năng chính của Heroku

Một số tính năng chính của Heroku

Một số tính năng chính của Heroku

1. Heroku Runtime

Hỗ trợ cung cấp các smart container mà ứng dụng của bạn sẽ chạy trong đó. Bên cạnh đó, tính năng này còn giúp xử lý mọi thứ quan trọng trong ứng dụng bao gồm cấu hình, điều phối, cân bằng tải, backup, log, bảo mật…

2. Heroku Postgres (SQL)

Đây là một dịch vụ cơ sở dữ liệu SQL được quản lý trực tiếp bởi Heroku nên rất đáng tin cậy và rất an toàn cho người dùng. Chúng được thiết lập dễ dàng với mã hóa nhanh chóng, mở rộng quy mô đơn giản,…

3. Scale

Tính năng Scale mang lại cho bạn khả năng mở rộng quy mô của ứng dụng ngay lập tức, theo cả chiều dọc lẫn chiều ngang. Hơn nữa, bạn có thể điều hành mọi thứ một cách đơn giản từ các dự án sở thích nhỏ lẻ cho đến thương mại điện tử cấp doanh nghiệp.

4. Heroku Redis

Hỗ trợ dịch vụ Redis phục vụ cho lập trình viên sử dụng. Dịch vụ này cho phép lưu trữ trên bộ nhớ với tốc độ nhanh phổ biến

5. Add-ons

Hỗ trợ bạn quản lý các ứng dụng với dịch vụ được tích hợp sẵn như New Relic, Mongo DB, SendGrid, Searchify, Fasty, ClearDB,…

6. Code/data rollback

Giúp người dùng có thể dễ dàng khôi phục mã nguồn hoặc cơ sở dữ liệu của mình về trạng thái trước đó.

7. App Metrics

Đây là tính năng giúp giám sát lưu lượng, thời gian phải hồi, bộ nhớ, tải CPU và lỗi. Giúp bạn quản lý ứng dụng chặt chẽ

8. GitHub Integration

Giúp bạn có thể thực hiện các tính năng như pull request, push, commit… hoạt động với mọi branch mà bạn muốn.

9. Continuous Delivery

Heroku Flow sử dụng Heroku Pipeline, review Apps và Githus hỗ trợ xây dựng quy trình pipeline CI/CD gồm xây dựng, test, deploy

Đối tượng nào nên sử dụng Heroku?

Đối tượng nào nên sử dụng Heroku?

Đối tượng nào nên sử dụng Heroku?

Lập trình viên: Được chính các lập trình viên tạo ra nên không ai hiểu được khó khăn trong công việc này hơn họ. Nền tảng Heroku được thiết kế tỉ mỉ để hỗ trợ người dùng có trải nghiệm tốt nhất đồng thời tối đa hóa năng suất của ứng dụng.

Giám đốc công nghệ: Một Giám đốc công nghệ phải đảm nhận vai trò quan trọng trong cả hai lĩnh vực là kỹ thuật và kinh doanh. Do đó, họ cần Heroku để rút ngắn con đường phân phối ứng dụng từ ý tưởng đến sản xuất.

Các đội, nhóm: Heroku Teams giúp kết nối các nhà lập trình viên và khách hàng lại gần với nhau nhằm tạo ra phần mềm tốt hơn. Với Heroku Teams, bạn có thể thoải mái tự tổ chức, thêm và quản lý thành viên cũng như được quyền kiểm soát chi tiết với các quyền ở cấp ứng dụng.

Sinh viên: Nền tảng này sẽ cung cấp cho sinh viên một con đường đơn giản để thiết lập và chạy các dự án ứng dụng một cách nhanh chóng.

Ưu điểm và nhược điểm của Heroku

Ưu điểm và nhược điểm của Heroku

Ưu điểm và nhược điểm của Heroku

1. Ưu điểm

  • Database hoàn toàn miễn phí
  • Cung cấp nhiều gói xây dựng đa dạng
  • Chứa nhiều ngôn ngữ lập trình phổ biến
  • SSL sử dụng miễn phí
  • Có khả năng hỗ trợ làm việc nhóm
  • Cho phép liên kết với các loại Github đơn giản nhất.

2. Nhược điểm

Heroku chỉ cho bạn sử dụng miễn phí 550 giờ/tháng. Tuy nhiên, bạn có thể gia tăng số giờ sử dụng lên đến 1000 giờ/tháng qua việc bạn trả phí. Với 1000 giờ này sẽ đủ để cho một blog cá nhân hoạt động mượt mà.

Chỉ sau từ 2 đến 3 giờ, nếu server không có người truy cập thì nó sẽ tự động chuyển sang trạng thái ngủ.

Cách đăng ký và đưa ứng dụng lên Heroku

1. Đăng ký tài khoản và cài Heroku CLI

Bước 1: Để đăng ký tài khoản trên Heroku bạn hãy truy cập vào đây và điền các thông tin cần thiết.

Đăng ký tài khoản và cài Heroku CLI

Đăng ký tài khoản và cài Heroku CLI

Bước 2: Xác thực đăng ký qua mail

Bước 3: Cài Heroku CLI

Bạn hãy truy cập vào devcenter.heroku.com và làm theo hướng dẫn để cài đặt CLI

Lưu ý: Bạn cần chọn đúng phiên bản của hệ điều hành. CLI hỗ trợ cho macOS, Ubuntu, Windows (32 bit, 64 bit).

2. Đưa ứng dụng lên Heroku

Đây là một ví dụ về việc đưa một project Laravel lên Heroku. Đầu tiên hãy lên Heroku đăng ký một account.

Bước 1: Cài Heroku CLI

Bạn cài đặt theo link hướng dẫn dưới đây cho hệ điều hành mình đang dùng. Mình sử dụng MacOS nên sẽ cài thông qua homebrew

brew install heroku/brew/heroku

Sau đó xác định phiên bản của nó bằng command:

heroku version

Bước 2: Cài đặt ứng dụng Laravel

Mở terminal và sử dụng command sau:

composer createproject laravel/laravel herokularavel preferdist

Bước 3: Tạo một Procfile

Bên trong thư mục gốc của Laravel (root), tạo một file gọi là Procfile – chứa câu lệnh mà heroku sẽ chạy. Sau đó bỏ dòng này vào procfile:

# Procfile web: vendor/bin/herokuphpapache2 public/

Bước 4: Khởi tạo dự án với Git repo

git init

Bước 5: Đăng nhập vào Heroku từ terminal

heroku login

Bước 6: Tạo một ứng dụng Heroku

Gõ lệnh sau tại thư mục chứa code, Heroku sẽ yêu cầu bạn nhập tài khỏan, rồi tạo một “app” cho bạn. Đồng thời thiết lập git để sẵn sàng “đẩy code lên Heroku”

heroku create
Creating app… done, ⬢ ironman-spiderman-12345
https://ironman-spiderman-12345.herokuapp.com/ | https://git.heroku.com/ironman-spiderman-12345.git

Nó sẽ tự động tạo một ứng dụng với tên random, ví dụ như: ironman-spiderman-12345. Bạn sẽ có một url là ironman-spiderman-12345.herokuapp.com

Bước 7: Setting một Laravel encryption key

Gõ lệnh sau:

php artisan key:generate show

Nó sẽ show một key và bạn copy vào cho vào lệnh sau:

heroku config:set APP_KEY={Your copied key}

Bước 8: Push sự thay đổi lên Heroku

Sau đó add các file vào Git:

git add .

Commit các thay đổi:

git commit m “laravel deploy to heroku”

Push nó lên Heroku server:

git push heroku master

Và bạn sẽ thấy:

Push sự thay đổi lên Heroku

Push sự thay đổi lên Heroku

Bước 9: Start ứng dụng

Để start ứng dụng trên Heroku, bạn gõ lệnh sau:

heroku open

Lúc này ứng dụng sẽ live trên url: https://ironman-spiderman-12345.herokuapp.com/ (cái này mình chỉ ghi ví dụ để bạn dễ mường tượng)

FAQs về Heroku

1. Vì sao nhiều người sử dụng Heroku?

Nhiều nhà phát triển đánh giá cao về Heroku bởi những lý do như:

Cung cấp trải nghiệm tốt: Hầu hết các thao tác trên Heroku được diễn ra rất nhanh chóng và độ bảo mật thông tin cao.

Tính năng đa dạng và linh hoạt: Các tính năng được tối ưu hóa và tạo nên một hệ sinh thái đa dạng ở Heroku. Với sự mạnh mẽ này sẽ giúp bạn có thể triển khai ứng dụng cực kỳ nhanh chóng. Bạn có thể tùy chọn trả phí hoặc sử dụng miễn phí để có thể trải nghiệm ứng dụng một cách tốt nhất trong khả năng cho phép của mình.

Hỗ trợ kết nối với salesforce: Heroku cho phép ứng dụng của bạn có thể đồng bộ 2 chiều với salesforce. Từ đó, bạn sẽ dễ dàng đưa ra cái nhìn tổng quát và phân tích, đánh giá khách hàng của mình

2. Heroku miễn phí hay trả phí?

Heroku có cả gói miễn phí và trả phí. Với gói miễn phí, Heroku chỉ cho bạn sử dụng 550 giờ/tháng. Còn khi trả phí, bạn có thể gia tăng số giờ sử dụng lên 1000 giờ/tháng. Với 1000 giờ này là đủ để cho một blog cá nhân hoạt động đều đặn, êm ái trong vòng một tháng.

3. Làm sao để tránh tình trạng server bị rơi vào trạng thái ngủ?

Chỉ sau từ 2 đến 3 giờ nếu như server không có người truy cập thì nó sẽ tự động chuyển sang trạng thái ngủ. Để tránh server bị tắt đột ngột, cách đơn giản bạn cần làm là tự tạo ra traffic cho server. Hoặc bạn có thể sử dụng Pingdom để ping trang blog của mình thường xuyên và đảm bảo sao cho server không bị tắt.

4. Heroku gồm các phiên bản nào?

Những phiên bản nổi bật nhất của Heroku có thể kể đến như: Heroku Postgres, Heroku Redis, Heroku Enterprise, Heroku Connect, Heroku Elements. Mỗi phiên bản sẽ có những tính năng nổi bật khác nhau để hỗ trợ người dùng.

Kết luận

Vừa rồi, Thefinances.org đã cung cấp cho bạn tổng quát về Heroku là gì? Đây sẽ là một công cụ hỗ trợ đắc lực dành cho các lập trình viên để có thể triển khai ứng dụng một cách nhanh chóng và hiệu quả hơn 05/2022. Mong rằng bài viết trên đã mang đến cho bạn những thông tin và kiến thức bổ ích. Chúc bạn có thể khai thác triệt để những tính năng mà công cụ này mang lại.

5/5 - (10 votes)