fbpx
close

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

Tác giả: Đông Tùng Ngày cập nhật: 22/11/2021 Chuyên mục: Webmasters
Disclosure
Website Wiki.tino.org được cung cấp bởi Tino Group. Truy cập và sử dụng website đồng nghĩa với việc bạn đồng ý với các điều khoản và điều kiện trong chính sách bảo mật - điều khoản sử dụng nội dung. Wiki.tino.org có thể thay đổi điều khoản sử dụng bất cứ lúc nào. Việc bạn tiếp tục sử dụng Wiki.tino.org sau khi thay đổi có nghĩa là bạn chấp nhận những thay đổi đó.
Why Trust Us
Các bài viết với hàm lượng tri thức cao tại wiki.tino.org được tạo ra bởi các chuyên viên Marketing vững chuyên môn và được kiểm duyệt nghiêm túc theo chính sách biên tập bởi đội ngũ biên tập viên dày dặn kinh nghiệm. Mọi nỗ lực của chúng tôi đều hướng đến mong muốn mang đến cho cộng đồng nguồn thông tin chất lượng, chính xác, khách quan, đồng thời tuân thủ các tiêu chuẩn cao nhất trong báo cáo và xuất bản.

Heroku là một lựa chọn tuyệt vời giúp lập trình viên triển khai được các mã dự án nguồn nhanh và gọn hơn. Vậy Heroku là gì? Cách đăng ký Heroku và đưa ứng dụng lên như thế nào? Các bạn hãy cùng Tino Group tìm hiểu qua bài viết dưới đây nhé.

Heroku là gì?

Định nghĩa Heroku

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, khi 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-la-gi

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

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.

heroku-la-gi

Một số tính năng Heroku mang lại cho người dùng

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…

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,…

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.

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

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,…

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 đó.

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ẽ

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.

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

heroku-la-gi

Heroku phù hợp với đối tượng nào?

  • 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.
heroku-la-gi

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

Ư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.

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ủ.

Hướng dẫn cách đăng ký và đưa ứng dụng lên Heroku

Đă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.

heroku-la-gi

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 đây 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).

Cách đưa ứng dụng lên Heroku

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

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

composer create-project laravel/laravel herokularavel –prefer-dist

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

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

# Procfile

web: vendor/bin/heroku-php-apache2 public/

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

git init

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

heroku login

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

Nhập lệnh sau đây tại thư mục chứa code, lúc này Heroku yêu cầu bạn nhập tài khỏan, sau đó sẽ tạo một “app” cho bạn, đồng thời thiết lập git để sẵn sàng “đưa 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

Lúc này nó sẽ tự động tạo một ứng dụng mang tên random, ví dụ như: ironman-spiderman-12345. Từ đó, bạn sẽ có một url là ironman-spiderman-12345.herokuapp.com

heroku-la-gi

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

Gõ lệnh sau:

php artisan key:generate –show

Lúc này bạn sẽ nhận một key, hãy copy vào cho vào lệnh sau:

heroku config:set APP_KEY={Your copied key}

Bước 7: 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:

heroku-la-gi

Bước 8: Khởi động ứng dụng

Để khởi động ứng dụng trên Heroku, bạn gõ lệnh sau: heroku open

Bài viết trên đã cho bạn cái nhìn tổng quan về Heroku, một công cụ đắc lực cho các lập trình viên có thể triển khai ứng dụng nhanh gọn hơn. Hy vọng các bạn có thể khai thác tối đa những tính năng mà công cụ này mang lại nhé!

FAQs về Heroku

Tại sao Heroku lại được nhiều người sử dụng?

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

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.

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.

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.

Đông Tùng

Senior Technology Writer

Là cử nhân Quản trị kinh doanh của Trường Đại học Tài chính - Marketing, Tùng bắt đầu làm việc tại Tino Group từ năm 2021 ở vị trí Content Marketing để thỏa mãn niềm đam mê viết lách của bản thân. Sở hữu khả năng sáng tạo đặc biệt, anh cùng đội ngũ của mình đã tạo nên những chiến dịch quảng cáo độc đáo cùng vô số bài viết hữu ích về nhiều chủ đề khác nhau. Sự tỉ mỉ, kiên trì và tinh thần sáng tạo của Tùng đã góp phần lớn vào thành công của Tino Group trong lĩnh vực marketing trực tuyến.

Xem thêm bài viết

Bài viết liên quan