Czym dokładnie jest Heroku?

135

Dopiero co zacząłem uczyć się Ruby na szynach i zastanawiałem się, czym naprawdę jest Heroku? Wiem, że to chmura, która pomaga nam uniknąć korzystania z serwerów? Kiedy właściwie go używamy?

user1452803
źródło
7
Mówiąc najprościej: Heroku umożliwia wdrażanie aplikacji internetowych poprzez wypychanie kodu do ich repozytorium. Heroku zrobi wszystko za Ciebie.
Bobby
Czy mogę go używać do wdrażania zaplecza aplikacji mobilnej? czy obsługuje mongoDb?
vikramvi

Odpowiedzi:

198

Heroku to platforma chmurowa jako usługa. Oznacza to, że nie musisz martwić się o infrastrukturę; po prostu skup się na swojej aplikacji.

Oprócz tego, co powiedział Jonny , istnieje kilka funkcji Heroku:

  • Natychmiastowe wdrażanie za pomocą Git push - kompilacja aplikacji jest wykonywana przez Heroku przy użyciu skryptów kompilacji
  • Mnóstwo dodatkowych zasobów (aplikacje, bazy danych itp.)
  • Skalowanie procesów - niezależne skalowanie dla każdego składnika aplikacji bez wpływu na funkcjonalność i wydajność
  • Izolacja - każdy proces (inaczej hamownia) jest całkowicie odizolowany od siebie
  • Pełne rejestrowanie i widoczność - łatwy dostęp do wszystkich wyników rejestrowania z każdego komponentu aplikacji i każdego procesu (hamownia)

Heroku zapewnia bardzo dobrze napisany tutorial, który pozwala na rozpoczęcie w kilka minut. Zapewniają również pierwsze 750 godzin obliczeniowych bezpłatnie, co oznacza, że ​​możesz mieć jeden proces (znany również jako Dyno) bez żadnych kosztów. Również wydajność jest bardzo dobra, np. Prosta aplikacja internetowa napisana w node.js może obsłużyć około 60 - 70 żądań na sekundę.

Konkurenci Heroku to:

Tomek
źródło
69
+1 za wspomnienie, że istnieją inne usługi jako alternatywa.
Karl-Johan Sjögren,
6
Chcę tylko wiedzieć, jaka jest różnica między uruchomieniem aplikacji Rails na serwerze WWW localhost / apache a uruchomieniem aplikacji na heroku?
neo1691
23
Dla mnie samo przeczytanie listy konkurentów dało mi zrozumienie, czym może być Heroku.
Code Poet
35
Lista konkurentów jest trochę myląca. Większość „konkurentów” na liście oferuje infrastrukturę chmury jako usługę, podczas gdy Heroku sprzedaje zarządzanie infrastrukturą chmurową jako usługę. Sam Heroku jest klientem AWS; kiedy pchasz do Heroku, Twoja aplikacja znajduje się w instancjach AWS. Powiedzieć, że są konkurentami, to tak jakby powiedzieć, że organizator ślubów konkuruje z salami bankietowymi.
Adelmar,
1
dzone.com/articles/…
Kyle Bridenstine
24

To oparte na chmurze, skalowalne rozwiązanie serwerowe, które umożliwia łatwe zarządzanie wdrażaniem aplikacji Railsowych (lub innych) pod warunkiem, że subskrybujesz szereg konwencji (np. Postgres jako baza danych, bez zapisywania do systemu plików).

W ten sposób możesz łatwo skalować w miarę rozwoju aplikacji, ulepszając bazę danych i zwiększając liczbę hamowni (instancji Rails) i pracowników.

Nie pomaga to w unikaniu korzystania z serwerów, będziesz potrzebować zrozumienia zarządzania serwerem, aby skutecznie debugować problemy z kombinacją platformy i aplikacji. Jednakże, chociaż jest to stosunkowo drogie (tj. Na instancję w porównaniu do wypożyczenia kawałka na Slicehost lub coś w tym rodzaju), istnieje darmowe konto i jest to trudny kompromis między tym, czy bardziej opłacalne jest zapłacić komuś za zbudowanie własnego rozwiązania, czy wziąć dodatkowy koszt.

John H.
źródło
8

Heroku Zasadniczo zapewnia przestrzeń internetową do przesyłania aplikacji

Jeśli przesyłasz aplikację Rails, możesz postępować zgodnie z tym samouczkiem https://github.com/mrkushjain/herokuapp

Kush Jain
źródło
4
bezwstydnie promujesz swój Github teraz, prawda?
3

Jak widzę, jest to skalowalna administrowana usługa hostingowa, gotowa do rozwoju w każdym sensie, więc nie musisz się tym martwić.

Nie jest to przydatne dla zwykłej aplikacji internetowej PHP, ponieważ istnieje wiele usług hostingowych z ftp, które umożliwiają prostą witrynę internetową bez potrzeby skalowalności, ale jeśli potrzebujesz czegoś większego, Heroku lub czegoś podobnego, to jest to, czego potrzebujesz.

Jest udostępniany jako usługa za pośrednictwem narzędzia wiersza poleceń, dzięki czemu można pisać skrypty w celu zautomatyzowania wdrożeń. W każdym razie jest bardzo podobny do innych usług hostingowych z włączonym Git, ale Heroku to upraszcza.

Chodzi o to, aby uprościć czynności administracyjne i zaoszczędzić czas. Ale nie jestem pewien, bo dopiero zaczynam!

Miłym wprowadzeniem do oficjalnej dokumentacji jest:

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

R01010010
źródło
0

Według DZone: https://dzone.com/articles/heroku-or-amazon-web-services-which-is-best-for-your-startup

Heroku to platforma jako usługa (PaaS) oparta na AWS i znacznie różni się od Elastic Compute Cloud. Bardzo ważne jest, aby rozróżnić rozwiązania „Infrastruktura jako usługa” i „Platforma jako usługa”, ponieważ rozważamy wdrożenie i obsługę naszej aplikacji przy użyciu tych dwóch rozwiązań.

Heroku jest o wiele prostsze w użyciu niż AWS Elastic Compute Cloud. Może to nawet zbyt proste. Ale jest dobry powód dla tej prostoty. Platforma Heroku wyposaża nas w gotowe środowisko uruchomieniowe i serwery aplikacji. Ponadto korzystamy z bezproblemowej integracji z różnymi instrumentami programistycznymi, wstępnie zainstalowanym systemem operacyjnym i nadmiarowymi serwerami.

Dlatego w Heroku nie musimy myśleć o zarządzaniu infrastrukturą, w przeciwieństwie do AWS EC2. Musimy tylko wybrać plan abonamentowy i zmienić nasz plan w razie potrzeby.

Ten artykuł dobrze się spisuje, wyjaśniając różnice między Heroku i AWS, ale wygląda na to, że możesz wybrać innych dostawców iaas (infrastruktury) innych niż AWS. Ostatecznie Heroku wydaje się po prostu upraszczać proces korzystania z dostawcy chmury, ale kosztem.

wprowadź opis obrazu tutaj

Kyle Bridenstine
źródło