Tôi mới bắt đầu học Ruby trên đường ray và tôi đã tự hỏi Heroku thực sự là gì? Tôi biết rằng đó là một đám mây giúp chúng ta tránh sử dụng máy chủ? Khi nào chúng ta thực sự sử dụng nó?
Tôi mới bắt đầu học Ruby trên đường ray và tôi đã tự hỏi Heroku thực sự là gì? Tôi biết rằng đó là một đám mây giúp chúng ta tránh sử dụng máy chủ? Khi nào chúng ta thực sự sử dụng nó?
Câu trả lời:
Heroku là một nền tảng đám mây như một dịch vụ. Điều đó có nghĩa là bạn không phải lo lắng về cơ sở hạ tầng; bạn chỉ tập trung vào ứng dụng của bạn.
Ngoài những gì Jonny nói , có một vài tính năng của Heroku:
Heroku cung cấp hướng dẫn bằng văn bản rất tốt cho phép bạn bắt đầu trong vài phút. Ngoài ra, họ cung cấp miễn phí 750 giờ tính toán đầu tiên, điều đó có nghĩa là bạn có thể có một quy trình (còn gọi là Dyno) miễn phí. Ngoài ra hiệu năng rất tốt, ví dụ như ứng dụng web đơn giản được viết bằng node.js có thể xử lý khoảng 60 - 70 yêu cầu mỗi giây.
Đối thủ của Heroku là:
Đó là một giải pháp máy chủ có thể mở rộng dựa trên đám mây cho phép bạn dễ dàng quản lý việc triển khai các ứng dụng Rails (hoặc khác) của mình với điều kiện bạn đăng ký một số quy ước (ví dụ Postgres là cơ sở dữ liệu, không cần ghi vào hệ thống tệp).
Do đó, bạn có thể dễ dàng mở rộng quy mô khi ứng dụng của bạn phát triển bằng cách cải thiện cơ sở dữ liệu của bạn và tăng số lượng dynos (phiên bản Rails) và công nhân.
Nó không giúp bạn tránh sử dụng máy chủ, bạn sẽ cần một số hiểu biết về quản lý máy chủ để gỡ lỗi hiệu quả với sự kết hợp nền tảng / ứng dụng của bạn. Tuy nhiên, mặc dù nó tương đối đắt tiền (ví dụ như khi so sánh với việc thuê một lát trên Slicehost hoặc một cái gì đó), có một tài khoản miễn phí và đó là một sự đánh đổi thô thiển giữa việc trả tiền cho ai đó để xây dựng giải pháp của riêng bạn có hiệu quả hơn hay không các chi phí phụ.
Heroku Về cơ bản cung cấp không gian web để tải lên ứng dụng của bạn
Nếu bạn đang tải lên một ứng dụng Rails thì bạn có thể làm theo hướng dẫn này https://github.com/mrkushjain/herokuapp
Như tôi thấy, đây là một dịch vụ lưu trữ web được quản trị có thể mở rộng, sẵn sàng phát triển theo bất kỳ ý nghĩa nào để bạn không phải lo lắng về điều đó.
Nó không hữu ích cho một ứng dụng web PHP thông thường, bởi vì có rất nhiều dịch vụ lưu trữ web với ftp ở đó cho một web đơn giản mà không cần khả năng mở rộng, nhưng nếu bạn cần thứ gì đó lớn hơn Heroku hoặc thứ gì đó tương tự là thứ bạn cần.
Nó được hiển thị như một dịch vụ thông qua một công cụ dòng lệnh để bạn có thể viết các tập lệnh để tự động hóa việc triển khai của bạn. Dù sao nó cũng khá giống với các dịch vụ lưu trữ web khác có bật Git, nhưng Heroku làm cho nó đơn giản hơn.
Đó là điều của nó, để làm cho công cụ quản trị đơn giản hơn với bạn, vì vậy nó giúp bạn tiết kiệm thời gian. Nhưng tôi không chắc lắm, vì tôi chỉ mới bắt đầu với nó!
Một giới thiệu tốt đẹp về cách thức hoạt động trong tài liệu chính thức là:
Mỗi DZone: https://dzone.com/articles/heroku-or-amazon-web-service-which-is-best-for-your-startup
Heroku là một sản phẩm Nền tảng là Dịch vụ (PaaS) dựa trên AWS và khác biệt rất nhiều so với Đám mây điện toán đàn hồi. Điều rất quan trọng để phân biệt các giải pháp 'Cơ sở hạ tầng là một Dịch vụ' và 'Nền tảng là Dịch vụ' khi chúng tôi xem xét triển khai và hỗ trợ ứng dụng của mình bằng hai giải pháp này.
Heroku sử dụng đơn giản hơn so với AWS Elastic Compute Cloud. Có lẽ nó thậm chí quá đơn giản. Nhưng có một lý do tốt cho sự đơn giản này. Nền tảng Heroku trang bị cho chúng ta một môi trường thời gian chạy sẵn sàng và các máy chủ ứng dụng. Thêm vào đó, chúng tôi hưởng lợi từ việc tích hợp liền mạch với các công cụ phát triển khác nhau, một hệ điều hành được cài đặt sẵn và các máy chủ dự phòng.
Do đó, với Heroku, chúng ta không cần phải suy nghĩ về quản lý cơ sở hạ tầng, không giống như AWS EC2. Chúng tôi chỉ cần chọn một gói thuê bao và thay đổi gói của chúng tôi khi cần thiết.
Bài viết đó thực hiện tốt công việc giải thích sự khác biệt giữa Heroku và AWS nhưng có vẻ như bạn có thể chọn các nhà cung cấp iaas (cơ sở hạ tầng) khác ngoài AWS. Vì vậy, cuối cùng Heroku dường như chỉ đơn giản hóa quá trình sử dụng nhà cung cấp đám mây nhưng với chi phí.