Heroku là gì?
Heroku có thể giúp bạn triển khai ứng dụng web hoặc di động một cách nhanh chóng và dễ dàng thông qua giao diện người dùng trực quan. Bạn có thể kéo thả ứng dụng của mình lên Heroku và tự động xử lý các công việc cần thiết như quản lý ứng dụng, quản lý cơ sở dữ liệu và giám sát hiệu suất.
Heroku cũng cung cấp môi trường phát triển và kiểm thử linh hoạt, cho phép bạn dễ dàng thử nghiệm và tinh chỉnh ứng dụng của mình trước khi triển khai vào môi trường sản xuất. Ngoài ra, Heroku cung cấp các công cụ giám sát và báo cáo hiệu suất, giúp bạn theo dõi và tối ưu hóa hiệu suất của ứng dụng của mình.
Heroku hỗ trợ nhiều ngôn ngữ lập trình như NodeJS, Python, Ruby, Scala, PHP, Java, Clojure, Kotlin, Go và cung cấp cơ sở dữ liệu Postgresql. Mặc dù có phí sử dụng, nhưng thực tế, Heroku không lưu trữ ứng dụng mà triển khai chúng trên Amazon Web Services (AWS).
Các tính năng của Heroku
Heroku cung cấp nhiều tính năng hữu ích như sau:
- Heroku Runtime: Cung cấp smart container để chạy ứng dụng và xử lý các yếu tố quan trọng như cấu hình, điều phối, cân bằng tải, backup, log và bảo mật.
- Heroku Postgres (SQL): Dịch vụ cơ sở dữ liệu SQL được quản lý trực tiếp, dễ sử dụng và an toàn với tính năng mã hóa nhanh chóng và khả năng mở rộng quy mô đơn giản.
- Scale: Cho phép mở rộng quy mô của ứng dụng ngay lập tức cả theo chiều dọc và chiều ngang, linh hoạt từ dự án nhỏ đến doanh nghiệp lớn.
- Heroku Redis: Dịch vụ lưu trữ trên bộ nhớ với tốc độ nhanh, hỗ trợ cho lập trình viên sử dụng.
- Add-ons: Hỗ trợ quản lý ứng dụng với các dịch vụ tích hợp sẵn như New Relic, Mongo DB, SendGrid, Searchify, Fasty, ClearDB,…
- Code/Data Rollback: Cho phép khôi phục mã nguồn hoặc cơ sở dữ liệu về trạng thái trước đó một cách dễ dàng.
- App Metrics: Giám sát lưu lượng, thời gian phải hồi, bộ nhớ, tải CPU và lỗi để quản lý ứng dụng hiệu quả.
- GitHub Integration: Tích hợp với GitHub, hỗ trợ pull request, push, commit và hoạt động với mọi branch.
- Continuous Delivery: Sử dụng Heroku Flow với Heroku Pipeline, review Apps và Githus để xây dựng quy trình CI/CD đầy đủ từ xây dựng, kiểm thử đến triển khai.
Ưu và nhược điểm của Heroku
Ưu điểm:
- Database miễn phí
- Cung cấp đa dạng gói xây dựng
- Nhiều ngôn ngữ lập trình phổ biến
- SSL miễn phí
- Hỗ trợ làm việc nhóm
- Liên kết Github đơn giản
Hạn Chế
- Sử dụng miễn phí 550 giờ/tháng, cần trả phí để tăng số giờ sử dụng
- Sau 2, 3 giờ server không có người sử dụng thì tự động chuyển trạng thái ngủ
Hướng dẫn đăng ký Heroku
Dưới đây là các bước đăng ký và cài đặt Heroku để bạn tham khảo
- Bước 1: Truy cập vào trang chủ Heroku : https://signup.heroku.com/ rồi điền các thông tin theo yêu cầu.
- Bước 2: Xác thực qua email đã đăng ký
- Bước 3: Cài đặt Heroku CLI
Bạn có thể truy cập vào đây để xem các hướng dẫn chi tiết nhất: https://devcenter.heroku.com/articles/heroku-cli
Chú ý chọn phiên bản đúng với hệ điều hành, CLI hỗ trợ Ubuntu, macOS và Windows 32, 64 bit.
Hướng dẫn đưa ứng dụng lên Heroku
Bước 1: Cài đặt Laravel
Mở Terminal rồi nhập lệnh: composer create-project laravel/laravel herokularavel –prefer-dist
Bước 2: Tạo Procfile
Ở thư mục chính của Laravel (root), hãy tạo một tệp có tên là Procfile, chứa câu lệnh mà Heroku sẽ thực thi. Sau đó, thêm dòng mã sau vào tệp Procfile:
# Procfile
web: vendor/bin/heroku-php-apache2 public/
Bước 3: Dùng Git repo khởi tạo dự án
Bước 4: Đăng nhập Heroku từ Terminal
Bước 5: Tạo ứng dụng Heroku
Gõ lệnh sau ở thư mục chứa mã nguồn. Sau đó, Heroku sẽ yêu cầu bạn cung cấp tài khoản, và tự động tạo một “app” cho bạn, cũng như thiết lập Git để sẵn sàng “deploy code lên Heroku”.
Bước 6: Cài đặt Laravel encryption key
Nhập lệnh: 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: Đẩy sự thay đổi lên Heroku sau đó thêm file vào Git:
git add.
Lưu lại các thay đổi: git commit -m “laravel deploy to heroku”
Đẩy lên Heroku server: git push heroku master
Bước 8: Khởi động ứng dụng
Để mở ứng dụng trên Heroku, nhập lệnh: heroku open.
Kết luận
Trên đây là bài viết của LANIT tìm hiểu về Heroku là gì? Hy vọng đã đem lại kiến thức hữu ích giúp bạn lựa chọn sử dụng Heroku hiệu quả. Đừng quên theo dõi LANIT để cập nhật những kiến thức công nghệ thú vị.