Chính xác thì Heroku là gì?


135

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ó?


7
Nói một cách đơn giản nhất: Heroku cho phép bạn triển khai các ứng dụng web bằng cách đẩy mã của bạn đến repo của họ. Heroku xử lý mọi thứ cho bạn.
Bobby

Tôi có thể sử dụng nó để triển khai phụ trợ ứng dụng di động không? nó có hỗ trợ mongoDb không?
vikramvi

Câu trả lời:


198

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:

  • Triển khai tức thì với Git đẩy - xây dựng ứng dụng của bạn được Heroku thực hiện bằng cách sử dụng tập lệnh xây dựng của bạn
  • Nhiều tài nguyên bổ trợ (ứng dụng, cơ sở dữ liệu, v.v.)
  • Quy trình chia tỷ lệ - chia tỷ lệ độc lập cho từng thành phần trong ứng dụng của bạn mà không ảnh hưởng đến chức năng và hiệu suất
  • Cô lập - mỗi quá trình (còn gọi là dyno) hoàn toàn cách ly với nhau
  • Ghi nhật ký và hiển thị đầy đủ - dễ dàng truy cập vào tất cả đầu ra ghi nhật ký từ mọi thành phần trong ứng dụng của bạn và từng quy trình (dyno)

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à:


69
+1 cũng đề cập rằng có các dịch vụ khác thay thế.
Karl-Johan Sjögren

6
Tôi chỉ muốn biết sự khác biệt giữa việc chạy ứng dụng rails trên máy chủ web localhost / apache để chạy ứng dụng trên heroku là gì?
neo1691

23
Đối với tôi, chỉ cần đọc danh sách đối thủ đã cho tôi hiểu về Heroku có thể là gì.
Mã nhà thơ

35
Danh sách đối thủ cạnh tranh là một chút sai lệch. Hầu hết các "đối thủ" trong danh sách đều cung cấp cơ sở hạ tầng đám mây như một dịch vụ, trong khi Heroku đang bán quản lý cơ sở hạ tầng đám mây của họ dưới dạng dịch vụ. Bản thân Heroku là khách hàng của AWS; Khi bạn đẩy lên Heroku, ứng dụng của bạn đang ngồi trên các phiên bản AWS. Nói rằng họ là đối thủ cạnh tranh giống như nói một kế hoạch đám cưới đang cạnh tranh với phòng tiệc.
Adelmar


24

Đó 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ụ.


8

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


4
không biết xấu hổ tự quảng bá Github của bạn bây giờ?

3

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à:

https://devcenter.heroku.com/articles/how-heroku-works


0

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

nhập mô tả hình ảnh ở đây

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.