AWS mövcud olduqda insanlar nə üçün Heroku istifadə edirlər? Heroxu AWS-dən fərqli edir?

Heroku'yu istifadə edərək proqramımı yerləşdirməyi planlayan bir başlanğıc RoR proqramçıyam. Mənim digər məsləhətçilərimdən bir söz Herokanın çox sadə, istifadə etmək üçün faydalı olduğunu söylədi. Yeganə problem hələ ki, Herokunun nə etdiyini bilmirəm.

Onların veb saytına və Herokunun ölçekleme ile ne şekilde yardım etdigine baktığımda ... Niyə bu da vacibdir? Heroku necə kömək edir:

  • Sürət Mənim tədqiqatım ABŞ-ın Şərqi Sahilində AWS-lərin yerləşdirilməsi ABŞ / Asiya auditoriyasına uyğunlaşdıqda ən sürətli olacaqdı.

  • Təhlükəsizlik Onlar necə təhlükəsizdirlər?

  • Ölçmə - necə işləyir?

  • Qiymət səmərəliliyi - bir dyno kimi bir şey var ki, bu da ölçəni asanlaşdırır.

  • Rəqiblərlə necə rəqabət aparırlar? Məsələn, Motor Yardımavi qutu ?

Xahiş edirik açıqlaya bilmək üçün sadə ingilis dilindən istifadə edin ... Mən aspirant proqramçıyam.

1001
21 марта '12 в 13:00 2012-03-21 13:00 Bryan tərəfindən 21 Mart 2012 tarixində saat 12.00 ' də təyin olundu
@ 16 cavab

AWS / Heroku kiçik hobi layihələri üçün pulsuzdir (bir başlanğıc üçün).

Proqramı dərhal başlamaq istəyirsinizsə, böyük bir arxitektura qəbulu olmadan, Heroku seçin.

Mimariye odaklanmak ve farklı web sunucularını istifadə etmək istəyirsinizsə, AWS seçin. AWS seçdiyiniz xidmətə / məhsula əsasən daha çox vaxt alır, ancaq bu dəyər ola bilər. AWS də bir çox plugins və məhsullar ilə gəlir.


Heroku

  • Bir Xidmət kimi platforma (PAAS)
  • Yaxşı sənədlər
  • Quraşdırılmış alətlər və arxitektura var.
  • Tətbiqi inkişaf etdirərkən memarlıq üzərində nəzarət məhdudlaşdırılır.
  • Deployment (avtomatik olaraq GitHub vasitəsilə və ya əl və ya git və ya CLI əmrləri istifadə edərək) həyata keçirilir.
  • Çox vaxt tələb etmir.

AWS

  • Xidmət kimi infrastruktur (IAAS)
  • Universal - EC2, LAMBDA, EMR, və s. Kimi məhsullar var.
  • OS seçimi, proqram versiyası və s. Kimi arxitektura daha çox nəzarət üçün xüsusi bir nümunə istifadə edə bilər. Birdən çox əsas qat var.
  • Elastik lobya maşın Heroku PAAS'a bənzər bir xüsusiyyətdir.
  • Avtomatik yerləşdirməni və ya özünüzü yığıb istifadə edə bilərsiniz.
153
05 окт. SuperNova tərəfindən verilmiş cavab Oct 05 2015-10-05 11:46 '15 'da 11:46' de, 2015-10-05 11:46

Əvvəlcə AWS və Heroku fərqli şeylərdir. AWS bir xidmət ( IaaS ) kimi infrastruktur təklif edir, Heroku isə xidmət ( PaaS ) kimi bir platform təklif edir.

Fərq nədir? IaaS sizə üstəlik əşyalar yaratmaq üçün lazım olan komponentləri vermək çox vacibdir; PaaS sizə kodunuzu və bəzi əsas konfiqurasiyanı daxil etdiyiniz və tətbiqi işə götürən bir mühit verir. IaaS daha çox enerji və rahatlıq verə bilər, çünki özünüzü daha çox qurmaq və saxlamaq lazımdır.

AWS kodunu almaq və Heroku yerləşdirmələri kimi bir az baxmaq üçün bəzi EC2 nümunələrinə ehtiyacınız olacaq - yükləmə balansı / caching səviyyəsinə (məsələn, Lövhə ) ehtiyacınız olacaq, kodunuz üçün sərnişinnginx kimi bir şey işləyən hallara ehtiyacınız olacaq, PostgreSQL kimi kümelenmiş bir verilənlər bazasının nümunəsini yerləşdirmək və konfiqurasiya etmək istəyə bilərsiniz. Siz Capistrano və birləşməni yığışdırdıran bir şey ilə bir yerləşdirmə sisteminə ehtiyacınız olacaq.

Bu, yaradılması və saxlanması üçün vacib bir iş deyil. Heroku ilə bu mərhələyə çıxmaq üçün lazım olan səy, bəlkə də bir neçə tətbiq kodunun xəttidir və git push .

Belə ki, çox uzaqsınız və miqyasını artırmaq istəyirsiz. Böyük EC2 yerləşdirmə üçün Kukla istifadə edirsiniz? Beləliklə, indi Capistrano fayllarını lazım olduqda genişləndirmək üçün qurdunuz; Varmətin webmaster nümunələri haqqında bildiyini və avtomatik olaraq onların arasında birləşməsini təmin etmək üçün Kukla konfiqurasiyasını yenidən idarə edəcəksiniz. Və ya heroku scale web:+5 .

Ümid edirəm ki, bunlar arasında müqayisə haqqında bir fikir verir. İndi xüsusi suallarınıza cavab vermək üçün:

Sürət

Heroku hazırda yalnız us-easteu-west AWS nümunələri ilə işləyir. Sizə istədiyiniz şəkildə səslənir. Digərləri üçün bu potensial olaraq daha vacibdir.

Təhlükəsizlik

Təhlükəsizlik yeniləmələrini dəstəkləyən bir çox daxili server görmüşəm, ya da bir qayda olaraq yaxşı birləşməmişəm. Geroku ilə, buna necə baxdığınıza bağlı olaraq bir xeyir və ya bəlalar olan şeyləri idarə edən başqa biriniz var!

Dağıtdığınız zaman kodunuzu doğrudan Heroku'ya aktarırsınız. Bu sizin üçün bir problem ola bilər. Dyno izolyasiyasına dair yazdığı məqalə onların izolyasiya texnologiyasını ətraflı şəkildə təsvir edir (ayrı-ayrı EC2 nümunələrində bir neçə ayrı spiker açılır). Bir çox iş yoldaşları bu texnologiyaları və onların izolyasiya gücünü problemlərini ifadə etdilər; Mən, ümumiyyətlə, həqiqətən şərh etmək üçün kifayət qədər bilik və təcrübəyə malik ola bilmərik, amma hazırda mövcud olan Heroku qurğuları "kifayət qədər yaxşı" hesab edirlər. Bu sizin üçün bir problem ola bilər, bilmirəm.

miqyaslama

Mən yuxarıda göstərilən IaaS və PaaS müqayisələrində bunun necə həyata keçiriləcəyinə toxundu. Misal: tətbiqiniz dyno_type: command_to_run , məsələn, ( http://devcenter.heroku.com/articles/process-model ünvanından bir kazıyıcı) formasının strings olan bir Procfile var:

 web: bundle exec rails server worker: bundle exec rake jobs:work 
border=0

Bu istifadə edir:

 heroku scale web:2 worker:10 

2 web dinosuna və 10 worker dininə səbəb olacaq. Gözəl, sadə, asan. Vebin xarici dünyaya çıxışı olan və onların yaxşı multipleksor web trafiki (ehtimal ki, birləşməsi Varnish / nginx) arxasında yerləşir ki, xüsusi bir növüdür ki, bu da müvafiq olacaq. Sizin işçiləriniz oxşar marşrutlaşdırma üçün mesaj növbəsi ilə qarşılıqlı ola bilərlər. Buradan ətraf mühitə aid URL vasitəsilə yerləşdiriləcəklər.

Maliyet effektivliyi

Bu mövzuda bir çox insan müxtəlif fikirlərə sahibdir. Hal hazırda AWS mikro surəti üçün saatda $ 0.025 və ya kiçik AWS surəti üçün $ 0.09 / saat ilə müqayisədə saatda saatda $ 0.05 təşkil edir.

Heroku dinamik sənədlərinizdə təxminən 512 MB RAM var, belə ki, EC2 mikro kimi bir az görünür bir nümunə kimi dino müalicə etmək çox mantıksız deyil. Qiymətin iki qatına dəyər mi? Vaxtınızı nə qədər dəyərləndirirsiniz? Bu standartı almaq üçün bir IaaS təklifinin üstündə yaratmaq üçün tələb olunan vaxt və səy məbləği mütləq ucuz deyildir. Mən bu suala cavab verə bilmərəm, amma qurma və saxlama üçün "gizli xərcləri" qiymətləndirməyin.

(Bir az yan tərəfə, amma buradan heroku run bash ( heroku run bash ) heroku run bash , tez bir baxışda /proc/cpuinfo və 36 GB RAM-də 4 /proc/cpuinfo göstərir - bu məni "Yüksək Yaddaş İki Əlavə Böyük İnsanlar " Heroku dyno sənədlərində deyilir ki, hər dino 512 MB RAM alır, onda 71 dinozavrla bölüşmək olar. (AWS Heroku nümunələrinin homojenliyinə dair kifayət qədər məlumatım yoxdur, buna görə hərəkətiniz dəyişə bilər))

Rəqiblərlə necə rəqabət aparırlar?

Bu, mən qorxuram, sizə kömək edə bilməzəm. Mənə baxdığınız yeganə rəqib Google App Engine idi - mən Java tətbiqlərini yerləşdirmək üçün axtarırdıq və istifadə edilən çərçivə və texnologiyalara dair məhdudiyyətlərin sayı inanılmaz şəkildə silindi. Bu, "yalnız bir Java işi" dən çoxdur - ümumi məhdudiyyətlərin sayı və lazımi mülahizələr (bir çoxunda tez-tez verilən suallara cavablar) daha az rahat görünürdü. Əksinə, Herokaya yerləşdirmə bir yuxu idi.

Nəticə

Ümid edirəm bu sizin suallarınıza cavab verir (boşluqlar / müraciət etmək istədiyiniz digər sahələr varmı). Mən fərdi mövqeyimi təqdim etməm lazım olduğunu düşünürəm. Heroku'yu "sürətli yerləşdirmə" üçün sevirəm. Proqramı çalıştırdığımda və ucuz bir xarakterə ehtiyac duyduğumda (pulsuz Heroku böyükdür - əslində, yalnız bir web dino və 5MB PostgreSQLə ehtiyac varsa, sərbəst ərizə verə bilər), Heroku mənim mövqeyimdir, Bir neçə ödənişli müştərilərlə ciddi istehsal versiyası, xidmət səviyyəsinə dair razılaşma, əməliyyat sistemləri üçün xərclənən vaxt və s. Mən Heroka üzərində nəzarətdən tamamilə xilas ola bilməyəcəyəm, sonra AWS və ya öz serverlərimizdən hosting platforması.

Nəhayət, bu sizin üçün ən yaxşı şeydir. Siz "yeni başlayanlar üçün proqramçı" deyirsiniz - bəlkə də yalnız Heroku köməyi ilə Ruby yazmağa və kodu ətrafında bütün digər infrastrukturu yaratmaq üçün vaxt sərf etməyinizə diqqət yetirirsiniz. Mən mütləq bir cəhd verərdim.


Qeyd AWS Ruby, Node.js, PHP, Python, .NET və Java dəstəkləyən PaaS, Elastic Beanstalk təklifinə malikdir. Hesab edirəm ki, insanların əksəriyyəti "AWS" i görəndə EC2 və S3 və EBS kimi şeylərə keçin, əlbəttə ki, IaaS təklif edir

1977
21 марта '12 в 13:57 2012-03-21 13:57 Cavab Kristian Glass tərəfindən 21 Mart '13 'də 13:57' də verildi. 2012-03-21 13:57

Kristian Glass Said görə, IaaS ( AWS ) və PaaS ( Heroku , EngineYard ) arasında heç bir müqayisə yoxdur.

PaaS əsasən developers proqram inkişafını sürətləndirməyə kömək edir, bununla da pul qənaət edir və ən əsası, konfiqurasiyaları qurmaq və serverlər və verilənlər bazası kimi şeyləri idarə etmək yerine tətbiq və işlərini həyata keçirir. PaaS'yi satın alan diğer özellikler, esneklik, yüksek kullanılabilirlik, izleme, ölçeklendirme / kireçlenmesi, ekspert bilgisi üçün sınırlı ehtiyac, dağıtım kolaylığı ve geliştirme süresi ve maliyetlerinin azalması kimi uygulama dağıtımıdır.

Lakin PaaS-in qaranlıq tərəfi hələ də PaaS-in qəbulunu maneə törədir:

  • Server və məlumat bazaları üzərində az nəzarət
  • Düzgün tənzimlənməsə, xərclər çox yüksək olacaq.
  • Cari gün və yaşda erkən və şübhəli

Yuxarıda göstərilənlərlə yanaşı, siz IaaS ilə dəli olmaq üçün kifayət qədər bacarıqlarınız olmalıdır:

  • Avadanlıq alınması
  • Əməliyyat sistemi
  • Server proqramı
  • Server tərəfində scripting mühiti
  • web server
  • Verilənlər bazası idarəetmə sistemi (Mysql, Redis və s.)
  • İstehsalçı server qurun
  • Test və Deployment Tool
  • Ərizənin monitorinqi
  • Yüksək mövcudluğu
  • Routing / Http-ni yükləyin
  • Xidmət Zəmanət siyasətləri
  • Komanda əməkdaşlığı
  • İstehsalın yenidən qurulması

Kiçik bir işiniz varsa, PaaS sizin üçün ən yaxşı seçimdir:

  • Mümkün qədər ödəyin
  • Aşağı başlanğıc dəyəri
  • Santexnika mütəxəssisindən buraxın
  • PaaS, avtomatik ölçekleme / kireçlenmesi, yük dengelemesi, felaket kurtarma işlemlerini gerçekleştirir
  • PaaS bütün təhlükəsizlik tələblərini idarə edir.
  • PaaS etibarlılığı, yüksək mövcudluğu idarə edir
  • Paas sizin üçün bir çox üçüncü tərəfin əlavələrini idarə edir.

Bu tələbə əsasən tamamilə fərdi seçim olacaq. Mənim PPT Hosting Rails proqramları haqqında məlumatınız var.

58
04 февр. Cavab 04 fevralda Pravin Mişra tərəfindən verilir. 2014-02-04 10:52 '14 saat 10:52 'da 2014-02-04 10:52

Əslində, hər iki variantdan istifadə edə bilərsiniz - Amazon ec2 serverləri ilə bir proqram inkişaf etdirə bilərsiniz. Sonra bir müddət pulsuz gerok haqqında (git ilə) basın (dərc üçün pulsuz heroku səviyyəsi istifadə edin) və bu kimi test. Bu bir server kirayəyə nisbətən çox faydalıdır, ancaq daha çox məhdudlaşdırıcı api qəhrəmanı ilə danışmaq lazımdır. Mənbə: Bu üsul mənim onlayn dərslərimdən biri üçün "Cursors / Stanforddan Giriş Mühəndisi" Balaji S. Srinivasan və Vijay S. Pande

2019

30
17 февр. cavab 17 fevralda sivi tərəfindən verilir. 2014-02-17 14:30 '14 saat 14:30 'da 2014-02-17 14:30

Bu həllin müasir mühəndislik, informasiya texnologiyaları və biznes məqsədlərindən çox müxtəlif yolları var, belə ki, təəccüblü görünsə, pis olmaz. Həm də - ölçeklenebilirliği çox qiymətləndirməyin.

Tələblərinizi düşünün.

Gündə 8 milyon saatdan çox işləyən veb saytlar hazırladım və infrastrukturlarda qurulan, həftəlik videoların terabaytlarını, $ MM-nin böyük bir işçi qüvvəsi ilə $ 250,000-dan başlayaraq unr kapital avadanlıqlarından başlayıb.

Amma mən də hər il $ 10-20 min istehsal etmək üçün nəzərdə tutulmuş, çox yüksək trafik, db və ya emal tələbləri olmayan kiçik veb saytlar var idi və mən onları razılaşmadan $ 10 / mo həcmində ümumi bir hosting hesabından başladım.

Gələcəkdə, yerləşdirmə tərəqqi səbəbindən Aero-dən daha çox Heroku kimi olacaq. Daha çox avtomatlaşdırılmış olmayan ölçeklenebilir İnternet infrastrukturları üçün İT ölçekleme sapı bir sıfır değeri var və bunların heç biri, sunduğunuz ürün ya da hizmetin değeriyle heç bir əlaqəsi yoxdur.

Həmçinin, kommersiya saytına baxın - miqyaslılıq biz tez-tez "yaxşı problem" deyirik - Facebook və Twitter kimi saytlarda ölçeklenebilirlik problemləri çox yüksək olsa da, onlar müvəffəqiyyətə sıfıra mənfi təsir göstərdilər - xəbərlər bəlkə də abonent sayının artmasına da səbəb olmuşdur (bütün mətbuat yaxşı bir mətbuat).

Gündə 100k + ünitə və miqyaslama problemləri yaradan xidmətiniz varsa, hansı dildən, db, platformadan və infrastrukturdan asılı olmayaraq sizin üçün sizin üçün götürməyinizdən məmnuniyyət duyuram

Ölçəklülük, sabitləşdirilə bilən bir tətbiq problemidir - müştərilərin olmadığı mövcud problemdir.

30
16 февр. Cavab 16 fevralda BricoleurDev tərəfindən verilir. 2014-02-16 20:31 '14 at 8:31 pm 2014-02-16 20:31

Mövcud cavablar ümumiyyətlə dəqiqdir:

  • Heroku istifadə etmək və yerləşdirmək üçün çox asandır, avtomatik depo yerləşdirilməsi (məsələn, GitHub) üçün konfiqurasiya üçün asan, hər bir surət üçün bir çox üçüncü tərəf əlavə və ödənişlər var.

  • AWS, DNS, yük balansı, ucuz fayl saxlama və təhlükəsizlik siyasətlərini müəyyən etmək bacarığı kimi müəssisənin funksiyaları daxil olmaqla, rəqabətli qiymətli xidmətlərdən daha geniş bir sıra malikdir.

Tl üçün; dr bu mesajın sonuna keçin.

AWS ElasticBeanstalk, avtomatik ölçekleme ve Heroku dağıtım kolaylığı üçün bir platform oluşturma cəhdidir. EC2 nümunələri (avtomatik olaraq yaradılan) istifadə etdiyi üçün EB serverləri hər hansı digər EC2 nümunəsinin edə biləcəyi hər şeyi edə bilər və işləmək üçün ucuzdur.

DL ilə yerləşdirilməsi çox yavaş; Bir yeniləməni yerləşdirmək server başına 10-15 dəqiqə çəkə bilər və Heroku-a bir yeniləməni yerləşdirmək üçün bir neçə saniyə müqayisədə, daha böyük bir klasterə yerləşdirə bilər. EB'lərə yerləşdirilməsi xüsusilə asanlıqla tətbiq edilmir və tətbiqin dizaynına məhdudiyyətlər qoyula bilər.

ElasticBeanstalk'ın, hər hansı bir şeyə daxil olmasını istəyirsinizsə CodeDeploy, elastik yük balansçısı, avtomatik ölçekleme qrupları və CodeCommit, CodeBuild və CodePipeline ilə öz xüsusi sisteminizi yaratmaq üçün səhnələrin arxasında istifadə etdiyini bütün xidmətlərdən istifadə edə bilərsiniz, lakin siz mütləq yaxşı bir neçə həftəni ilk dəfə qurulub, çünki bu, olduqca qarışıq və bir az qarışıqdır və yalnız EC2-də şeylər qurulmasından daha çoxdur.

AWS Lightsail ucuz bir hosting variantını təklif edir, lakin yerləşdirmə və ölçekleme ilə kömək etmir - bu, həqiqətən, EC2 təklifi üçün bir kabukdur (lakin daha çox xərclər). Bu, ilk növbədə konfiqurasiya prosesində başlanğıc konfiqurasiya prosesində avtomatik olaraq çalıştırılmasına imkan verir. Bu, sadəcə bir EC2 nümunəsinin yaradılması ilə müqayisədə (həm də proqramlı şəkildə həyata keçirilə bilər) müqayisədə gözəldir.

Müqayisə üçün bəzi fikirlər (suallara cavab verməyə cəhd etmək üçün, bir müddətə baxmayaraq):

  1. Təhlükəsizlik sistemlərinin (və təsadüfi OS yenilikləri ilə) yeniləndiyiniz hər şeyi daxil olmaqla, sistemin idarə olunmasının nə qədər az olduğunu nəzərə almayın.

  2. Avtomatik yerləşdirmə, avtomatik ölçekleme ve SSL'nin yapılandırması ve konfigürasyonunun ne kadar effektiv olduğunu düşünmeyin.

    Git deposunu yeniləyərkən, Heroku ilə zahmetsizce avtomatik yerləşdirmə. Bu, ani, zərif yaxındır, belə ki, son istifadəçilər üçün heç bir bağlanma yoxdur və testlər / Davamlı inteqrasiya keçdikdə yeniləmə üçün konfiqurasiya edilə bilər, belə ki, əgər siz inoperativ kodu yerləşdirirsinizsə saytınızı bölüşmürsən.

    ElasticBeanstalk'ı avtomatik olaraq yerləşdirmək üçün də istifadə edə bilərsiniz, ancaq ilk dəfə həftəlik özelleştirme qurmağa hazır ola bilərsiniz - ElasticBeanstalk'ın yerləşdirmələri və ya montaj mantığını necə idarə etdiyini öyrənmək üçün aktivlərinizi (məsələn, CSS və JS) yerləşdirmək və yaratmaq yollarını dəyişdirməlisiniz yerləşdirmələri idarə etmək üçün tətbiqinizə daxil olun.

    EB'yi bağlamadan düzgün bir yerləşdirmə üçün bir neçə nümunəni çalıştırmanız üçün lazım olan xərcləri qiymətləndirmək üçün EB hər bir server üçün yeniləmələri ayrı-ayrılıqda yerləşdirəcəkdir, çünki xidmətiniz pisləşməyəcək - Heroku sizin üçün yeni bir dino yığıb və sadəcə, xidmətin bütün istəkləri işlənməyincə (bundan sonra silmək lazımdır).

    Maraqlıdır ki, EB ilə birdən çox serverin yerləşdirilməsi xərcləri, Heroku-nun bir nüsxəsindən daha ucuz ola bilər, xüsusən əlavə əlavələrin qiymətini açdıqdan sonra.

Xüsusən istənilməyən, lakin digər cavablardan təsirlənən digər suallar:

  1. İstehsal və inkişaf üçün başqa bir təchizatçıdan istifadə etmək pis bir fikirdir.

    İnsanlar bunu təklifini sıxıram. Ideal kod mümkün qədər portativ olması üçün hər hansı bir ağıllı platformada yaxşı işləməli olsa da, hər bir ana qurğuda proqram versiyası çox fərqli olacaq və kodun istehsal mərhələsində işlədiyi üçün bu, istehsal zamanı başlamışdır (məsələn, əsas Node.js / Ruby / Python / PHP / Perl versiyaları test üçün kifayət qədər əhatə dairəsi olsa belə tutulmayan kodun uyğunsuzluğunu təmin edən bir şəkildə fərqlənə bilər).

    Хорошая идея - использовать что-то вроде Heroku для прототипирования, небольших проектов и микросайтов - чтобы вы могли быстро создавать и развертывать, не вкладывая много времени в настройку и обслуживание.

    Обязательно учитывайте стоимость запуска производственных и предварительных экземпляров при принятии этого решения, не забывая о стоимости репликации всей среды (включая сторонние сервисы, такие как хранилища данных/добавление, установка и настройка SSL и т.д.).,

  2. Если вы используете AWS, будьте осторожны с предварительно настроенными экземплярами AWS от таких поставщиков, как Bitnami - это кошмар безопасности. По умолчанию они могут обнародовать множество незащищенных приложений, не упоминая об этом в описании.

    Вместо этого рассмотрите возможность использования широко распространенного дистрибутива, такого как Ubuntu или Debian (или CentOS, если вам нужна поддержка RPM).

    Qeyd У Amazon есть собственный дистрибутив Amazon Linux, который использует RPM, но EC2 определен и менее хорошо поддерживается сторонним/открытым исходным кодом.

  3. Вы также можете настроить экземпляр EC2 на AWS (или Lightsail) и настроить с ним что-то вроде flynn или dokku, на котором вы могли бы легко развернуть несколько сайтов, что может быть полезно, если вы поддерживаете множество сервисов или хотите быть способный легко раскручивать новые вещи. Однако создание его не так просто, как просто использование Heroku, и вы можете потратить много времени на его настройку и поддержку (до такой степени, что я обнаружил, что развертывание с использованием кластеров Amazon и Docker Swarm было проще, чем их настройка; YMMV).

В то же время я использовал экземпляры AWS EC (отдельно и в кластерах), Elastic Beanstalk и Lightsail и Heroku в зависимости от потребностей проекта, над которым я работаю.

Мне не нравится тратить время на настройку сервисов, но мой счет в Heroku будет тысячами в год, если я буду использовать его для всего, и AWS выработает часть стоимости.

TL; dr

Если бы деньги никогда не были проблемой, я бы использовал Heroku почти для всех, так как это был огромный таймшер, но я все же хотел бы использовать AWS для более сложных проектов, где мне нужна гибкость и более сложные сервисы, которые Heroku не предлагает.

Идеальный сценарий для меня был бы, если бы ElasticBeanstalk работал скорее как Heroku, то есть с более простой конфигурацией и более быстрым и лучшим механизмом развертывания.

Пример службы, которая почти такая, - now.sh , которая фактически использует AWS за кулисами, но делает развертывание и кластеризацию так же просто, как и на Heroku (с автоматическим SSL, DNS, изящными развертываниями, супер-простой настройкой кластеров и управление).

Я использовал его довольно много для приложений Node.js и развертывания образа Docker, главное предостережение - это совместное использование экземпляров (что-то отражается в их более низкой стоимости), и в настоящее время нет возможности покупать выделенные экземпляры. Однако их инструмент для развертывания с открытым исходным кодом "сейчас" также можно использовать для развертывания в выделенных экземплярах на AWS, а также в Google Cloud и Azure.

23
ответ дан Iain Collins 12 янв. '17 в 10:49 2017-01-12 10:49

Ну, люди обычно задают этот вопрос: Heroku или AWS, когда начинают что-то развертывать.

Мой эксперимент по использованию и Heroku и AWS, вот мой быстрый обзор и сравнение:

Heroku

  • Одна команда для развертывания любых типов проектов: Ruby on Rails, Nodejs
  • Так много 1-кликов для интеграции плагинов и третьих сторон. С чем-то очень легко начать.
  • Не имеют автоматического масштабирования; это означает, что вам нужно масштабировать вверх/вниз вручную
  • Стоимость стоит дорого, особенно, когда системе требуется больше ресурсов.
  • Доступен бесплатный экземпляр
  • Свободный экземпляр переходит в спящий режим, если он неактивен.
  • Центр обработки данных: только для США и ЕС
  • МОЖЕТ погрузиться в/на уровень машины с помощью Heroku run bash (спасибо, MJafar Mash за совет), но это немного ограничено! У вас нет полного доступа!
  • Не нужно слишком много знать о DevOps

AWS - EC2

  • Это как машина с предустановленной ОС (или нет), поэтому вам нужно установить программное обеспечение, библиотеку, чтобы сделать ваш сайт/услугу в сети.
  • Плагин и библиотека необходимо интегрировать вручную или автоматизировать script (общедоступный script и написанный вами)
  • Автоматическое масштабирование и балансировка нагрузки - это поддерживаемые службы, просто узнайте, как конфигурировать и интегрировать в свою систему.
  • Стоимость довольно дешевая, зависит от того, какие услуги и количество часов вы используете.
  • Существует несколько бесплатных часов для экземпляров T2.micro, но обычно вы будете платить несколько долларов каждый месяц (если все еще используете T2.micro)
  • Ваш бесплатный экземпляр не будет спать, доступен 24/7 (потому что вы можете заплатить за него:))
  • Центр обработки данных: по всему миру. Выберите регион, который наилучшим образом подходит для вас.
  • Погрузитесь в машинный уровень. Таким образом, вы можете наслаждаться этим.
  • Некоторые знания о DevOps, но это нормально, Stackoverflow здесь полезен.

AWS Elastic Beanstalk альтернатива Heroku, но дешевле

  • Эластичный бобовый станок был объявлен публичной бета-версией с 2010 года; это помогает нам легче работать с развертыванием. Для получения подробной информации перейдите здесь

  • Beanstalk бесплатный, стоимость, которую вы будете платить, будет за услуги, которые вы используете, и количество часов использования.

  • Я использую Elastic Beanstalk в течение длительного времени, и я думаю, что это может быть замена Heroku и дешевле!

Xülasə

  • Heroku: простой в начале, БЕСПЛАТНЫЙ экземпляр, но дорогой позже
  • AWS: нелегко, свободные часы доступны, вид дешевле , Beanstalk должен заботиться о том, чтобы использовать

Итак, в моей нынешней системе я использую Heroku для постановки и Beanstalk для производства!

21
ответ дан Hieu Pham 23 мая '16 в 13:36 2016-05-23 13:36

Это был значительный процент наших бизнес-мигрирующих людей из Героку в AWS. Есть преимущества для обоих, но через некоторое время он становится беспорядочным на Heroku... как только вам понадобится определенный уровень сложности, уже нелегко поддерживать ограничения Heroku.

Тем не менее, есть все больше возможностей для удобства использования Heroku и гибкости AWS, находясь на AWS с отличными фреймворками/инструментами.

6
ответ дан Kendall Miller 08 янв. '16 в 23:54 2016-01-08 23:54

Amazon Web Services (AWS) предлагает множество услуг от IaaS до PaaS с гарантированной 99,9999999% долговечностью и доступностью данных и инфраструктуры. AWS предлагает инфраструктуру автоматизации наряду с несколькими инструментами для разработчиков для конвейерного процесса их развертывания приложений.

С другой стороны, Heroku - это просто PaaS, который предлагает услуги по управлению вашей платформой на своем облаке. Нигде не стоит с AWS, будь то инфраструктура или безопасность.

1
ответ дан Prash 02 июня '17 в 6:57 2017-06-02 06:57

Забавно, что Heroku использует AWS на сервере. Это устраняет все накладные расходы и делает управление архитектурой на EC2 для вас. (Получил знания от старшего инженера в Большой компании во время интервью)

1
ответ дан Saurav Prakash 07 марта '18 в 4:33 2018-03-07 04:33

Хорошо Heroku использует AWS в фоновом режиме, все зависит от типа решения, которое вам нужно. Если вы являетесь ядром Linux и devops, вы не беспокоитесь о том, чтобы создать vm с нуля, например, выбрав ami, выбрав опции подделки и т.д., Вы можете пойти с AWS. Если вы хотите делать что-то на уровне поверхности, не имея этих нетигрываний, вы можете пойти с героку.

0
ответ дан prasoon 18 июля '18 в 10:14 2018-07-18 10:14

Хотя оба AWS и Heroku являются облачными платформами, они различны, поскольку AWS - это IaaS, а Heroku - PaaS

0
ответ дан Gopinath J 04 сент. '18 в 12:53 2018-09-04 12:53

Иногда мне интересно, почему люди сравнивают AWS с Heroku. AWS - это IAAS (инфраструктура как услуга), он четко говорит о том, насколько надежной и расчетной является система. Heroku, с другой стороны, является просто SAAS, это в основном только одна часть услуг AWS. Так зачем бороться с настройкой AWS, когда вы можете отправить свой первый продукт в основное пользование с помощью Heroku.

Heroku является бесплатным, простым и простым в развертывании практически всех типов стеков в Интернете. Heroku специально построен для того, чтобы обойти все неприятности, связанные с отправкой вашего приложения на живой сервер менее чем за один раз.

Тем не менее, вы можете захотеть развернуть свое приложение с помощью любого из учебных пособий обеих сторон и сравнить

AWS DOCS и Heroku Docs

0
ответ дан Sammy Joseph 26 июня '18 в 18:27 2018-06-26 18:27

Ну! Я наблюдатель Heroku известен в начинающих и новорожденных разработчиках, в то время как AWS имеет отличную персону разработчика. DigitalOcean также является основным игроком в этой области. Cloudways упростило создание Lamp stack одним щелчком мыши на DigitalOcean и AWS. Наличие всех обновлений услуг и пакетов в клике намного лучше, чем все вручную.

Вы можете полностью проверить здесь: https://www.cloudways.com/blog/host-php-on-aws-cloud/

0
ответ дан Shahroze Nawaz 26 авг. '17 в 17:39 2017-08-26 17:39

Я прочитал несколько @ о том, что HEROKU и AWS являются настолько разными (первая - это платформа как Сервис, а вторая - Infra as Service. Чтобы сопоставить сравнение в перспективе, Amazon предлагает решение PaaS своим названием AWS Elastic Beanstalk. Для сравнения о них, пожалуйста, проверьте приведенный ниже URL. https://dzone.com/articles/heroku-or-amazon-web-services-which-is-best-for-your-startup

-1
ответ дан Elio Khattar 04 марта '17 в 17:36 2017-03-04 17:36

ну.. его не все так радужно..

в первую очередь: AWS - это не наука о ракетах, и если вы знаете свой путь вокруг развертывания "вещей" в конце дня, то лучше использовать AWS и дешевле.. вместо любых других PaaS, которые, как правило, всегда дороже в обмен на "вещи" для вас... IMHO AWS намного лучше, и у вас намного больше контроля в целом,

особенно сейчас, когда есть rightScale, bitnami и т.д.... и все эти предварительно сделанные изображения EC2 для стольких различных стеков программного обеспечения.

-3
ответ дан Levancho 03 февр. '14 в 17:48 2014-02-03 17:48

Другие вопросы по меткам или Задайте вопрос