Dlaczego ludzie używają Heroku, gdy AWS jest obecny? Co odróżnia Heroku od AWS?

Jestem początkującym programistą RoR, który planuje wdrożyć moją aplikację za pomocą Heroku. Słowa moich znajomych doradców mówią, że Heroku jest naprawdę łatwy, dobry w użyciu. Jedynym problemem jest to, że nadal nie mam pojęcia, co Heroku robi...

Przejrzałem ich stronę i w skrócie, Heroku pomaga w skalowaniu, ale... jakie to ma znaczenie? Jak Heroku pomaga:

  1. Szybkość - moje badania sugerowały, że wdrożenie AWS na Wschodnim Wybrzeżu USA będzie najszybszy, jeśli kieruję reklamy do odbiorców z USA/Azji.

  2. Bezpieczeństwo - na ile są one bezpieczne?

  3. Skalowanie - jak to działa?

  4. Efektywność kosztowa-istnieje coś w rodzaju hamowni, która ułatwia skalowanie.

  5. Jak radzą sobie z konkurencją? Na przykład Engine Yard i bluebox ?

Proszę używać laickich angielskich terminów do wyjaśnienia... Jestem początkującym programistą.

Author: Anna S, 2012-03-21

16 answers

AWS / Heroku są darmowe dla małych projektów hobbystycznych (na początek).

Jeśli chcesz uruchomić aplikację od razu, bez większego dostosowywania architektury, wybierz Heroku.

Jeśli chcesz skupić się na architekturze i móc korzystać z różnych serwerów WWW, wybierz AWS . AWS jest bardziej czasochłonny w zależności od wybranej usługi/produktu, ale może być tego wart. AWS jest również wyposażony w wiele usług wtyczek i produkty.


Heroku

    Platforma jako usługa (PAAS)
  • dobra dokumentacja
  • ma wbudowane narzędzia i architekturę.
  • ograniczona kontrola nad architekturą podczas projektowania aplikacji.
  • wdrożenie jest obsługiwane (tylko za pomocą komend git).
  • Nie czasochłonne.

AWS

    Infrastruktura jako usługa (IaaS)]} Uniwersalny-posiada wiele produktów takich jak EC2, LAMBDA, EMR itp.
  • może używać dedykowanej instancji dla większej kontroli nad architekturą, np. wyboru systemu operacyjnego, wersji oprogramowania itp. Jest więcej niż jedna warstwa zaplecza.
  • Elastic Beanstalk to cecha podobna do Paas Heroku.
  • można użyć automatycznego wdrożenia, lub rolki własne.
 146
Author: Vikram S,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-05 03:21:58

Po pierwsze, AWS i Heroku to co innego. AWS oferuje infrastrukturę jako usługę (IaaS), podczas gdy Heroku oferuje platformę jako usługę (PaaS).

Co za różnica? W przybliżeniu, IaaS daje komponenty potrzebne do budowania rzeczy na nim; PaaS daje środowisko, w którym wystarczy wcisnąć kod i kilka podstawowych konfiguracji i uzyskać uruchomioną aplikację. IaaS może dać ci więcej mocy i elastyczności, kosztem trzeba budować i utrzymywać więcej siebie.

Aby Twój kod działał na AWS i wyglądał trochę jak implementacja Heroku, będziesz potrzebował kilku instancji EC2 - będziesz chciał zainstalować na nich warstwę load balancer / caching (np. Varnish ), będziesz chciał instancje działające w stylu Passenger i nginx aby obsłużyć Twój kod, będziesz chciał wdrożyć i skonfigurować klastrową instancję bazy danych czegoś w stylu PostgreSQL . Będziesz chciał wdrożyć system z czymś w rodzaju Capistrano , i czymś robiącym agregację logów.

To nie jest niewielka ilość pracy do założenia i utrzymania. W Heroku wysiłek potrzebny do osiągnięcia tego rodzaju etapu to może kilka linijek kodu aplikacji i git push.

Więc jesteś tak daleko, i chcesz zwiększyć skalę. Świetnie. Używasz Puppet do swojego wdrożenia EC2, prawda? Teraz konfigurujesz pliki Capistrano tak, aby w razie potrzeby obracać instancje w górę/w dół; zmieniasz konfigurację Puppet, aby Varnish wiedział o instancjach web-workera i automatycznie łączył się między nimi. Albo ty heroku scale web:+5.

Mam nadzieję, że to daje wyobrażenie o porównaniu między nimi. Teraz, aby odnieść się do konkretnych punktów:

Speed

Obecnie Heroku działa tylko na instancjach AWS w us-east i eu-west. Dla ciebie to brzmi jak to, czego i tak chcesz. Dla innych jest to potencjalnie bardziej rozważenie.

Bezpieczeństwo

Widziałem wiele wewnętrznie utrzymywanych serwerów produkcyjnych, które są znacznie opóźnione w aktualizacjach zabezpieczeń lub po prostu słabo połączone. W Heroku masz kogoś innego, kto zarządza takimi rzeczami, co jest albo błogosławieństwem, albo przekleństwem, w zależności od tego, jak na to patrzysz!

Kiedy wdrażasz, skutecznie przekazujesz swój kod prosto do Heroku. To może być problem dla Ciebie. Ich artykuł na temat Dyno Isolation opisuje ich technologie izolacji (wydaje się, że wiele Dynów są uruchamiane na poszczególnych instancjach EC2). Kilku kolegów wyraziło problemy z tymi technologiami i siłą ich izolacji; niestety nie jestem w stanie wystarczająco dużo wiedzy / doświadczenia, aby naprawdę skomentować, ale moje obecne wdrożenia Heroku uważają to za "wystarczająco dobre". To może być problem dla Ciebie, Nie wiem.

Skalowanie

Poruszyłem, jak można to zaimplementować w moim porównaniu IaaS vs PaaS powyżej. W przybliżeniu Twoja aplikacja ma Procfile, która ma linie postaci dyno_type: command_to_run, więc na przykład (z http://devcenter.heroku.com/articles/process-model):

web:    bundle exec rails server
worker: bundle exec rake jobs:work

To, z:

heroku scale web:2 worker:10

Spowoduje uruchomienie 2 web i 10 worker. Ładnie, prosto, spokojnie. Zauważ, że {[8] } jest specjalnym typem hamowni, który ma dostęp do świata zewnętrznego i jest za ich miłym multiplekserem ruchu sieciowego (prawdopodobnie jakąś kombinacją Varnish / nginx), który odpowiednio poprowadzi ruch. Twoi pracownicy prawdopodobnie interakcja z kolejką komunikatów w celu uzyskania podobnego trasowania, z którego otrzymają lokalizację za pośrednictwem adresu URL w środowisku.

Efektywność Kosztowa

Wiele osób ma wiele różnych opinii na ten temat. Obecnie jest to $0.05 / hr dla godziny hamowni, w porównaniu do $0.025 / hr dla wystąpienia AWS micro lub $0.09 / hr dla małej instancji AWS.

Dokumentacja Heroku dyno mówi, że masz około 512MB pamięci RAM, więc prawdopodobnie nie jest tozbyt rozsądne, aby rozważyć dyno jako trochę jak instancja EC2 micro. Czy warto podwoić cenę? Jak bardzo cenisz swój czas? Ilość czasu i wysiłku wymaganego do zbudowania oferty IaaS, aby uzyskać ją do tego standardu, zdecydowanie nie jest tania. Nie mogę odpowiedzieć na to pytanie, ale nie lekceważ "ukrytych kosztów" instalacji i konserwacji.

(trochę na bok, ale jeśli podłączę się do dyno stąd (heroku run bash), pobieżny wygląd pokazuje 4 rdzenie w /proc/cpuinfo i 36GB pamięci RAM - to mnie prowadzi aby uwierzyć, że jestem na "wysokiej pamięci podwójnej ekstra dużej instancji" . Dokumentacja Heroku dyno mówi, że każda dyno otrzymuje 512MB pamięci RAM, więc potencjalnie dzielę się z 71 innymi dynami. (Nie mam wystarczającej ilości danych na temat homogeniczności instancji AWS Heroku, więc twój przebieg może się różnić)) {]} Jak radzą sobie z konkurencją? Obawiam się, że nie mogę ci w tym pomóc. Jedynym konkurentem, na którego naprawdę spojrzałem, była aplikacja Google Engine - w tym czasie Szukałem wdrażania aplikacji Java, i Ilość ograniczeń dotyczących użytkowych frameworków i technologii była niesamowicie odpychająca. Jest to coś więcej niż "tylko rzecz Java" - ilość ogólnych ograniczeń i niezbędnych rozważań ([86]}podpowiedzi FAQ {15]} w kilku) wydawała się mniej niż wygodna. W przeciwieństwie do tego, wdrożenie do Heroku było marzeniem.

Podsumowanie

Mam nadzieję, że to odpowie na twoje pytania (proszę skomentować, jeśli tam są luki / inne obszary, które chcesz rozwiązać). Czuję, że powinienem zaoferować swoją osobistą pozycję. Uwielbiam Heroku za "szybkie wdrożenia". Kiedy zaczynam aplikację i chcę mieć jakiś tani hosting (Darmowa warstwa Heroku jest niesamowita - zasadniczo, jeśli potrzebujesz tylko jednego dyno internetowego i 5MB PostgreSQL, hostowanie aplikacji jest bezpłatne), Heroku jest moją pozycją. W przypadku "poważnego wdrożenia produkcji" z kilkoma płatnymi klientami, z umową na poziomie usług, z dedykowanym czasem przeznaczonym na ops, et cetera, nie mogę się zmusić do przeniesienia takiej kontroli na Heroku, a potem albo AWS, albo nasze własne serwery były platformą hostingową z wyboru.

Ostatecznie, chodzi o to, co działa najlepiej dla Ciebie. Mówisz, że jesteś "początkującym programistą" - być może używanie Heroku pozwoli Ci skupić się na pisaniu Rubiego i nie będziesz musiał tracić czasu na budowanie całej infrastruktury wokół Twojego kodu. Zdecydowanie bym spróbował.


Uwaga, AWS faktycznie ma w języku Ruby, Node, Można używać języka Paas, Elastic Beanstalk.js, PHP, Python,. NET i Java. Myślę, że ogólnie większość ludzi, kiedy widzą "AWS", skacze do rzeczy takich jak EC2 i S3 i EBS, które są zdecydowanie ofertami IaaS

 1966
Author: Kristian Glass,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-21 11:05:54

Jak powiedział Kristian Glass, nie ma porównania między IaaS (AWS) i PaaS (Heroku, Silnik ).

PaaS zasadniczo pomaga programistom przyspieszyć rozwój aplikacji, oszczędzając w ten sposób pieniądze i co najważniejsze wprowadzając innowacje w swoich aplikacjach i biznesie, zamiast konfigurować konfiguracje i zarządzać takimi rzeczami, jak serwery i bazy danych. Inne funkcje kupujące PaaS to proces wdrażania aplikacji, takie jak zwinność, wysoka dostępność, monitorowanie, Skalowanie / odkamienianie, ograniczone zapotrzebowanie na specjalistyczną wiedzę, łatwe wdrażanie oraz krótsze koszty i czas rozwoju.

Ale nadal jest ciemna strona PaaS, która prowadzi do przyjęcia PaaS:

  • mniejsza kontrola nad serwerem i bazami danych
  • koszty będą bardzo wysokie, jeśli nie będą odpowiednio regulowane
  • przedwczesne i wątpliwe w obecnych czasach

Poza tym powinieneś mieć wystarczająco dużo umiejętności, aby mange you IaaS:

  • Hardware akwizycja
  • System Operacyjny
  • Oprogramowanie Serwera
  • Środowisko Skryptów Po Stronie Serwera
  • Serwer Www
  • System zarządzania bazami danych (Mysql, Redis itp.)
  • Konfiguracja serwera produkcyjnego
  • narzędzie do testowania i wdrażania
  • Aplikacja Monitorująca
  • Wysoka Dostępność
  • Load Blancing / Http Routing
  • Zasady Tworzenia Kopii Zapasowych Usług
  • Współpraca Zespołowa
  • Odbudowa Produkcji

Jeśli masz małą firmę, PaaS będzie najlepszą opcją dla Ciebie:

  • Pay as you Go
  • niski koszt rozruchu
  • Zostaw hydraulikę ekspertowi
  • PaaS obsługuje automatyczne skalowanie/odkamienianie, równoważenie obciążenia, odzyskiwanie po awarii]}
  • PaaS zarządza wszystkimi wymogami bezpieczeństwa
  • PaaS zarządza niezawodnością, wysoką dostępnością]} Paas zarządza wieloma dodatkami stron trzecich dla Ciebie]}

To będzie całkowicie indywidualny wybór na podstawie wymagań. Możesz mieć szczegóły na mój PPT Hosting Rails Apps .

 57
Author: Pravin Mishra,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-27 14:12:50

Istnieje wiele różnych sposobów, aby spojrzeć na tę decyzję z celów rozwojowych, IT i biznesowych, więc nie czuj się źle, jeśli wydaje się przytłaczająca. Ale także-nie zastanawiaj się nad skalowalnością.

Pomyśl o swoich wymaganiach .

Zaprojektowałem strony internetowe, które obsługiwały ponad 8 mln uników dziennie i dostarczały terabajty wideo tygodniowo zbudowane na infrastrukturach, zaczynając od $250K w kapitalnym sprzęcie unr przez ogromny personel $ MM IT.

Ale też miałem mniejsze strony internetowe, które zostały zaprojektowane do generowania $10 - $20k rocznie, nie miały bardzo dużego ruchu, wymagań db lub przetwarzania, a ja uruchomiłem je z ogólnego konta hostingowego $10/mo bez kompromisów.

W przyszłości wdrożenie będzie wyglądało bardziej jak Heroku niż AWS, tylko ze względu na postęp. W gałce IT jest zerowa wartość - obracanie skalowania infrastruktur internetowych, które nie jest coraz bardziej zautomatyzowane, i nic z tego nie ma nic wspólnego z wartością produktu lub usługi, którą oferuję.

Należy również pamiętać o komercyjnej stronie internetowej-skalowalność jest tym, co często nazywamy "dobrym problemem" - chociaż problemy ze skalowalnością z witrynami takimi jak Facebook i Twitter były bardzo głośne, nie miały żadnego negatywnego wpływu na ich sukces - wiadomości mogły nawet {3]}przyczyniły się {4]} do większej liczby rejestracji (wszystkie prasa jest dobra prasa).

Jeśli masz serwis, który generuje 100k + uników dziennie i ma problemy ze skalowaniem, chętnie zdejmę go z twojego ręce dla ciebie bez względu na język, db, platformę lub infrastrukturę, na której działasz!

Skalowalność jest naprawialnym problemem implementacji - brak klientów jest problemem egzystencjalnym.

 30
Author: BricoleurDev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-16 17:31:42

Właściwie możesz używać obu - możesz stworzyć aplikację z serwerami amazon ec2. Następnie wypchnij go (z Gitem) do heroku za darmo na jakiś czas (użyj heroku free tier, aby podać go publicznie) i przetestuj go w ten sposób. Jest to bardzo opłacalne w porównaniu z wynajęciem serwera, ale będziesz musiał porozmawiać z bardziej restrykcyjnym API heroku, które jest czymś, o czym powinieneś pomyśleć. Źródło: metoda ta została przyjęta na jednym z moich zajęć online " Startup engineering from Coursera / Stanford by Balaji S. Srinivasan i Vijay S. Pande

Dodano schemat, aby moje wyjaśnienie było łatwiejsze do zrozumienia

 30
Author: sivi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-17 15:15:22

Istniejące odpowiedzi są zasadniczo dokładne:

  • Heroku jest bardzo łatwy w użyciu i wdrożeniu, może być łatwo skonfigurowany do automatycznego wdrażania repozytorium (np.

  • AWS oferuje szerszą gamę konkurencyjnych cenowo usług pierwszej firmy, w tym DNS, równoważenie obciążenia, tanie przechowywanie plików i ma funkcje korporacyjne, takie jak możliwość definiowania zasad bezpieczeństwa.

na tl;dr przejdź do końca tego postu.

AWS ElasticBeanstalk jest próbą zapewnienia podobnej do Heroku autoscalingu i łatwej platformy wdrożeniowej. Ponieważ używa instancji EC2 (które tworzy automatycznie) serwery EB mogą zrobić wszystko, co może zrobić każda inna instancja EC2 i jest tania w obsłudze.

Wdrażanie z EB jest bardzo powolne; wdrażanie aktualizacji może potrwać 10-15 minut na serwer, a wdrożenie do większego klastra może zająć najlepszą część godziny - w porównaniu do sekundy, aby wprowadzić aktualizację Heroku. Wdrożenia w EB również nie są obsługiwane szczególnie bezproblemowo, co może nakładać ograniczenia na projektowanie aplikacji.

Możesz korzystać ze wszystkich usług, z których ElasticBeanstalk korzysta Za kulisami, aby zbudować własny system na zamówienie (z grupami CodeDeploy, Elastic Load Balancer, auto Scaling-i CodeCommit, CodeBuild i CodePipeline, jeśli chcesz wejść na całość), ale zdecydowanie możesz spędzić kilka dobrych tygodni, konfigurując go po raz pierwszy, ponieważ jest dość zawiłe i nieco trudniejsze niż tylko konfigurowanie rzeczy w EC2.

AWS Lightsail oferuje konkurencyjną opcję hostingu, ale nie pomaga w wdrożeniu ani skalowaniu - to naprawdę tylko opakowanie dla ich oferty EC2 (ale kosztuje znacznie więcej). Pozwala automatycznie uruchomić skrypt bash przy początkowej konfiguracji, co jest miłe w dotyku, ale jest kosztowne w porównaniu do kosztu po prostu skonfigurować wystąpienie EC2 (co można również zrobić programowo).

Kilka przemyśleń na temat porównywania (aby spróbować odpowiedzieć na pytania, choć w sposób okrężny):

  1. Nie lekceważ, jak dużo pracy zajmuje administracja systemem, w tym aktualizowanie wszystkich zainstalowanych poprawek zabezpieczeń (i sporadycznych aktualizacji systemu operacyjnego).

  2. Nie lekceważ, jak wiele korzyści przynosi automatyczne wdrażanie, automatyczne skalowanie oraz aprowizacja i konfiguracja SSL.

    Automatyczne wdrażanie podczas aktualizacji repozytorium Git jest łatwe z Heroku. Informatyka jest prawie natychmiastowy, pełen wdzięku, więc nie ma przestojów dla użytkowników końcowych i można go ustawić na aktualizację tylko wtedy, gdy testy / ciągła Integracja przejdzie, więc nie zepsujesz witryny, jeśli wdrożysz zepsuty kod.

    Możesz również użyć ElasticBeanstalk do automatycznego wdrażania, ale przygotuj się na spędzenie tygodnia na konfigurowaniu tego za pierwszym razem - być może będziesz musiał zmienić sposób wdrażania i budowania zasobów (takich jak CSS i JS), aby pracować z tym, jak ElasticBeanstalk radzi sobie z wdrożeniami lub zbudować logikę w aplikacji, aby obsłużyć wdrożenia.

    Należy pamiętać przy szacowaniu kosztów, że dla bezproblemowego wdrożenia bez przerwy na EB trzeba uruchomić wiele instancji-EB rolls update to each server individually so that your service is not degraded-gdzie jak Heroku obraca się nowy dyno dla Ciebie i po prostu deprecates the old service dopóki wszystkie żądania do niego są zrobione są obsługiwane (następnie usuwa go).

    Co ciekawe, koszt hostingu uruchamiania wielu serwerów z EB może być tańszy niż pojedynczy Heroku przykład, zwłaszcza po uwzględnieniu kosztów dodatków.

Niektóre inne kwestie, o które nie pytano konkretnie, ale poruszane przez inne odpowiedzi:

  1. Używanie innego dostawcy do produkcji i rozwoju to zły pomysł.

    Krzyczę, że ludzie to sugerują. Podczas gdy idealnie kod powinien działać dobrze na każdej rozsądnej platformie, więc jest tak przenośny, jak to możliwe, wersje oprogramowania na każdym Hostie będą się znacznie różnić i tylko dlatego, że kod działa w staging nie oznacza, że będzie działać w produkcji (np. główny węzeł.wersje js/Ruby/Python/PHP / Perl mogą się różnić w sposób, który sprawia, że kod jest niezgodny, często w sposób milczący, który może nie zostać złapany, nawet jeśli masz przyzwoity zasięg testowy).

    Dobrym pomysłem jest wykorzystanie czegoś takiego jak Heroku do prototypowania, mniejszych projektów i mikro-stron - dzięki czemu można szybko budować i wdrażać rzeczy bez inwestowania dużo czasu w konfigurację i konserwację.

    Pamiętaj, aby wziąć pod uwagę koszt uruchomienia instancji zarówno produkcyjnych, jak i przedprodukcyjnych przy podejmowaniu tej decyzji, nie zapominając o kosztach replikacji całego środowiska (w tym Usług stron trzecich, takich jak przechowywanie danych / dodatki, instalacja i konfiguracja SSL itp.).

  2. Jeśli używasz AWS, uważaj na wstępnie skonfigurowane instancje AWS od dostawców takich jak Bitnami - są koszmarem bezpieczeństwa. Mogą one domyślnie wystawiać wiele notorycznie podatnych aplikacji bez wspominania o tym w opisie.

    Zamiast tego rozważ użycie dobrze obsługiwanej dystrybucji głównego nurtu, takiej jak Ubuntu lub Debian(lub CentOS, jeśli potrzebujesz wsparcia RPM).

    Uwaga: oferta Amazon ma własną dystrybucję o nazwie Amazon Linux, która używa RPM, ale jest specyficzna dla EC2 i mniej dobrze wspierana przez oprogramowanie innych firm / open source.

  3. Możesz również skonfigurować instancję EC2 na AWS (lub Lightsail) i skonfigurować za pomocą czegoś w rodzaju flynn lub dokku na nim - na którym może następnie łatwo wdrożyć wiele witryn, co może być tego warte, jeśli utrzymujesz wiele usług lub chcesz łatwo tworzyć nowe rzeczy. Jednak skonfigurowanie go nie jest tak automagiczne, jak po prostu używanie Heroku i możesz spędzić dużo czasu na konfigurowaniu i utrzymywaniu go (do tego stopnia, że wdrożenie za pomocą Amazon clustering i Docker Swarm jest łatwiejsze niż ich konfigurowanie; YMMV).

Używałem instancji AWS EC (samodzielnie i w klastrach), Elastic Beanstalk i Lightsail i Heroku jednocześnie w zależności od potrzeb projektu, nad którym pracuję.

Nienawidzę spędzać czas na konfigurowaniu usług, ale mój rachunek Heroku będzie tysiące rocznie, Jeśli używam go do wszystkiego i AWS działa ułamek kosztów.

Tl; dr

Gdyby pieniądze nigdy nie były problemem, użyłbym Heroku do prawie wszystkiego, ponieważ to ogromna oszczędność czasu - ale nadal chciałbym używać AWS do bardziej skomplikowanych projektów, w których potrzebuję elastyczności i więcej zaawansowane usługi, których Heroku nie oferuje.

Idealny scenariusz byłby dla mnie, gdyby ElasticBeanstalk działał bardziej jak Heroku - tzn. z łatwiejszą konfiguracją i szybszym i lepszym mechanizmem wdrażania.

Przykład usługi, która jest prawie to jest now.sh , który faktycznie używa AWS za kulisami, ale sprawia, że wdrożenia i klastry są tak łatwe, jak w Heroku (z automatycznym SSL, DNS, wdzięcznymi wdrożeniami, super-łatwą konfiguracją klastra i zarządzanie).

Używałem go dość dużo dla obu węzłów.wdrożenie aplikacji JS i obrazu dokera, głównym zastrzeżeniem jest to, że instancje są współdzielone (co znajduje odzwierciedlenie w ich niższym koszcie) i obecnie nie ma opcji zakupu dedykowanych instancji. Jednak ich narzędzie do wdrażania open source "teraz" może być również używane do wdrażania do dedykowanych instancji w AWS, a także Google Cloud i Azure.

 23
Author: Iain Collins,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-23 23:55:17

Cóż, ludzie zwykle zadają to pytanie: Heroku lub AWS, gdy zaczynają coś wdrażać.

Mój eksperyment z użyciem obu Heroku i AWS, oto moja szybka recenzja i porównanie:

Heroku

  • jedno polecenie do wdrożenia niezależnie od typu projektu: Ruby on Rails, Nodejs
  • tak wiele 1-click, aby zintegrować wtyczki i strony trzecie: bardzo łatwo jest zacząć od czegoś.
  • nie ma automatycznego skalowania; oznacza to, że musisz skalować w górę/w dół ręcznie
  • koszt jest drogi, szczególnie, gdy system potrzebuje więcej zasobów
  • darmowa instancja dostępna
  • wolna instancja przechodzi w stan uśpienia, jeśli jest nieaktywna.
  • Data center: tylko USA i UE
  • może zanurzyć się w / dostęp do poziomu maszyny za pomocą Heroku run bash (dzięki, MJafar Mash za radę), ale jest to trochę ograniczone! Nie masz pełnego dostępu!
  • Nie musisz wiedzieć zbyt wiele o DevOps]}

AWS-EC2

  • to po prostu podobnie jak maszyna z wstępnie skonfigurowanym systemem operacyjnym (lub nie), więc musisz zainstalować oprogramowanie, bibliotekę, aby Twoja strona/usługa stała się online.
  • W przeciwieństwie do innych programów, które nie są w pełni kompatybilne z systemem Windows, nie są w pełni kompatybilne z systemem Windows.]}
  • Automatyczne skalowanie i load balancer to obsługiwane usługi, po prostu dowiedz się, jak skonfigurować i zintegrować z systemem
  • Koszt jest dość tani, zależy od tego, jakie usługi i ilość godzin z niego korzystasz]}
  • istnieje kilka wolnych godzin dla T2.mikro instancje, ale zazwyczaj będziesz płacić kilka dolarów co miesiąc (jeśli nadal używasz T2.micro)
  • Twoja darmowa instancja nie pójdzie spać, dostępna 24/7 (ponieważ możesz za to zapłacić :) )
  • Data center: na całym świecie. Wybierz region, który najbardziej Ci odpowiada.
  • Zanurz się w poziomie maszyny. Więc możesz cieszyć się nim
  • trochę wiedzy na temat DevOps, ale jest w porządku, Stackoverflow jest tam pomocny!

AWS Elastic Beanstalk alternatywa dla Heroku, ale taniej

  • Elastic Beanstalk został ogłoszony jako publiczna beta od 2010; pomaga nam łatwiej pracować z wdrożeniem. Po szczegóły proszę przejść tutaj

  • Łodyga fasoli jest bezpłatna, koszt, który zapłacisz, będzie za usługi, z których korzystasz i liczbę godzin użytkowania.

  • Długo używam elastycznej fasoli i myślę, że może być ona zamiennikiem Heroku i taniej!

Podsumowanie

    Heroku: proste na początku, darmowe na początku, ale drogie później]}
  • AWS: niełatwe, wolne godziny dostępne, rodzaj tańsze , fasola powinna być zaniepokojona używaniem

Więc w moim obecnym systemie, używam Heroku do inscenizacji i łodygi fasoli do produkcji!

 20
Author: Hieu Pham,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-18 02:47:18

To był znaczny procent naszego biznesu migracja ludzi z Heroku do AWS. Są zalety obu, ale po jakimś czasie robi się bałagan na Heroku... gdy potrzebujesz pewnego poziomu złożoności, nie jest już łatwe do utrzymania z ograniczeniami Heroku.

To powiedziawszy, coraz częściej pojawiają się opcje, aby mieć łatwość Heroku i elastyczność AWS, będąc na AWS z świetnymi frameworkami/narzędziami.

 6
Author: Kendall Miller,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-08 20:54:51

Zabawne jest to, że Heroku używa AWS na backendzie. To zabiera wszystkie koszty i robi zarządzanie architekturą na EC2 dla Ciebie. (Uzyskałem tę wiedzę od starszego inżyniera w dużej firmie podczas rozmowy kwalifikacyjnej)

 1
Author: Saurav Prakash,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-07 01:33:22

Amazon Web Services (AWS) oferuje wiele usług od IaaS do PaaS z zapewnioną trwałością 99,9999999% i dostępnością danych i infrastruktury. AWS oferuje automatyzację infrastruktury wraz z kilkoma narzędziami dla programistów do rurociągu procesu wdrażania aplikacji.

Z drugiej strony Heroku to tylko PaaS, który oferuje usługi do zarządzania Twoją platformą w ich chmurze. Nigdzie nie stoi z AWS, czy to infrastruktura, czy bezpieczeństwo.

 1
Author: Prash,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-27 14:15:47

Cóż! Obserwuję Heroku jest znany w początkujących i nowo narodzonych deweloperów, podczas gdy AWS ma zaawansowane persona developer. DigitalOcean jest również ważnym graczem w tej dziedzinie. Cloudways znacznie ułatwiło tworzenie stosu Lamp jednym kliknięciem na DigitalOcean i AWS. Posiadanie wszystkich aktualizacji usług i pakietów jednym kliknięciem jest o wiele lepsze niż robienie wszystkich rzeczy ręcznie.

Możesz sprawdzić całkowicie tutaj: https://www.cloudways.com/blog/host-php-on-aws-cloud/

 0
Author: Shahroze Nawaz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-28 07:17:33

Czasami zastanawiam się, dlaczego ludzie porównują AWS do Heroku. AWS jest IaaS (infrastructure as a service) to wyraźnie mówi, jak solidny i kalkulacyjny jest system. Heroku, z drugiej strony, to tylko SAAS, to w zasadzie tylko ułamek usług AWS. Po co więc zmagać się z konfiguracją AWS, skoro możesz wysłać swój pierwszy produkt do prime za pomocą Heroku.

Heroku jest darmowy, prosty i łatwy do wdrożenia prawie wszystkich typów stosów do sieci. Heroku jest specjalnie zbudowany, aby ominąć wszystkie problemy związane z wysyłaniem aplikacji na serwer na żywo w krótszym niż krótki czas.

Niemniej jednak, możesz wdrożyć swoją aplikację przy użyciu dowolnego samouczka z obu stron i porównać

AWS DOCS i Heroku Docs

 0
Author: Sammy Joseph,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-26 15:27:45

Cóż Heroku używa AWS w tle, wszystko zależy od rodzaju rozwiązania, którego potrzebujesz. Jeśli jesteś rdzennym użytkownikiem Linuksa i devopsa, nie martwisz się tworzeniem maszyn wirtualnych od podstaw, takich jak wybieranie ami, wybieranie opcji palcement itp., możesz skorzystać z AWS. Jeśli chcesz robić rzeczy na powierzchni, nie mając tych nettigrichties, możesz iść z heroku.

 0
Author: prasoon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-18 07:14:15

Chociaż AWS i Heroku są platformami chmurowymi, różnią się tak jak AWS to IaaS, a Heroku to PaaS

 0
Author: Gopinath J,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-04 11:33:27

Czytałem kilka odpowiedzi na temat HEROKU i AWS są tak różne (pierwsza to platforma jako usługa, a druga Infra jako usługa. Aby umieścić porównanie w perspektywie, amazon oferuje rozwiązanie PaaS o nazwie AWS Elastic Beanstalk. Aby je porównać, sprawdź poniższy adres URL https://dzone.com/articles/heroku-or-amazon-web-services-which-is-best-for-your-startup

 -1
Author: Elio Khattar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-04 14:36:45

No cóż.. nie jest aż tak różowo..

Po pierwsze: AWS to nie rocket science, a jeśli znasz się na wdrażaniu "rzeczy" na koniec dnia, to lepiej korzystać z AWS i taniej .. zamiast innych PaaS, które wydają się być zawsze droższe w zamian za robienie" rzeczy " dla Ciebie ... IMHO AWS jest o wiele lepszy i ogólnie masz o wiele większą kontrolę,

Szczególnie teraz, gdy jest prawoskale, bitnami itp ... i wszystkie te wstępnie wykonane obrazy EC2 dla tak wielu różnych stosy oprogramowania.

 -3
Author: Levancho,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-03 14:48:12