Pertanyaan Mengapa orang menggunakan Heroku ketika AWS hadir? Apa yang membedakan Heroku dari AWS?


Saya seorang programmer RoR pemula yang berencana untuk menyebarkan aplikasi saya menggunakan Heroku. Kata dari teman-teman penasihat saya yang lain mengatakan bahwa Heroku benar-benar mudah, bagus untuk digunakan. Satu-satunya masalah adalah bahwa saya masih tidak tahu apa yang Heroku lakukan ...

Saya telah melihat mereka situs web dan secara singkat, apa yang Heroku lakukan adalah membantu dengan penskalaan tapi ... mengapa itu penting? Bagaimana Heroku membantu dengan:

  1. Kecepatan - Penelitian saya menyiratkan bahwa menyebarkan AWS di Pantai Timur AS akan menjadi yang tercepat jika saya menargetkan pemirsa yang berbasis di AS / Asia.

  2. Keamanan - Seberapa amankah mereka?

  3. Penskalaan - Bagaimana cara kerjanya?

  4. Efisiensi biaya - Ada sesuatu seperti dyno yang membuatnya mudah untuk diukur.

  5. Bagaimana mereka menghadapi pesaing mereka? Sebagai contoh, Engine Yard dan kotak biru?

Silakan gunakan istilah bahasa Inggris awam untuk menjelaskan ... Saya seorang programmer pemula.


971
2018-03-21 10:00


asal


Jawaban:


AWS / Heroku keduanya gratis untuk proyek-proyek hobi kecil (untuk memulai dengan).

Jika Anda ingin segera memulai aplikasi, tanpa banyak penyesuaian arsitektur, maka pilih Heroku.

Jika Anda ingin fokus pada arsitektur dan dapat menggunakan server web yang berbeda, maka pilih AWS. AWS lebih memakan waktu berdasarkan pada layanan / produk apa yang Anda pilih, tetapi dapat sepadan. AWS juga dilengkapi dengan banyak layanan dan produk plugin.


Heroku

  • Platform sebagai Layanan (PAAS)
  • Dokumentasi yang bagus
  • Memiliki alat dan arsitektur bawaan.
  • Kontrol terbatas atas arsitektur saat merancang aplikasi.
  • Deployment ditangani (hanya melalui perintah git).
  • Tidak memakan waktu.

AWS

  • Infrastruktur sebagai Layanan (IAAS)
  • Serbaguna - memiliki banyak produk seperti EC2, LAMBDA, EMR, dll.
  • Dapat menggunakan instance khusus untuk kontrol lebih besar atas arsitektur, seperti memilih OS, versi perangkat lunak, dll. Ada lebih dari satu lapisan backend.
  • Elastic Beanstalk adalah fitur yang mirip dengan Heroku's PAAS.
  • Dapat menggunakan penerapan otomatis, atau menggulir milik Anda sendiri.

133
2017-10-05 08:46



Pertama-tama, AWS dan Heroku adalah hal yang berbeda. AWS menawarkan Infrastruktur sebagai Layanan (IaaS) sedangkan Heroku menawarkan Platform sebagai Layanan (PaaS).

Apa bedanya? Sangat kira-kira, IaaS memberi Anda komponen yang Anda butuhkan untuk membangun sesuatu di atasnya; PaaS memberi Anda lingkungan di mana Anda hanya mendorong kode dan beberapa konfigurasi dasar dan mendapatkan aplikasi yang sedang berjalan. IaaS dapat memberi Anda lebih banyak kekuatan dan fleksibilitas, dengan biaya harus membangun dan mempertahankan diri Anda lebih banyak.

Agar kode Anda berjalan di AWS dan terlihat seperti penerapan Heroku, Anda akan menginginkan beberapa instance EC2 - Anda menginginkan lapisan load balancing / caching terpasang pada mereka (mis. Pernis), Anda akan menginginkan instance menjalankan sesuatu seperti Penumpang dan nginx untuk melayani kode Anda, Anda sebaiknya menyebarkan dan mengonfigurasi contoh basis data berkerumun dari sesuatu seperti PostgreSQL. Anda akan menginginkan sistem penyebaran dengan sesuatu seperti Capistrano, dan melakukan agregasi log.

Itu bukan jumlah pekerjaan yang tidak signifikan untuk disiapkan dan dipelihara. Dengan Heroku, upaya yang diperlukan untuk mencapai tahap semacam itu mungkin beberapa baris kode aplikasi dan a git push.

Jadi Anda sejauh ini, dan Anda ingin meningkatkan skala. Besar. Anda sedang menggunakan Wayang untuk penerapan EC2 Anda, bukan? Jadi sekarang Anda mengkonfigurasi file Capistrano Anda untuk berputar ke atas / bawah instance sesuai kebutuhan; Anda kembali jig konfigurasi Wayang Anda sehingga Varnish menyadari contoh web-pekerja dan secara otomatis akan menyatukannya. Atau kamu heroku scale web:+5.

Semoga itu memberi Anda gambaran tentang perbandingan antara keduanya. Sekarang untuk membahas poin spesifik Anda:

Kecepatan

Saat ini Heroku hanya berjalan pada instance AWS di us-east dan eu-west. Bagi Anda, ini terdengar seperti apa yang Anda inginkan. Bagi yang lain, itu lebih berpotensi menjadi pertimbangan.

Keamanan

Saya telah melihat banyak server produksi yang dipelihara secara internal yang jauh di belakang pada pembaruan keamanan, atau hanya secara umum disatukan dengan buruk. Dengan Heroku, Anda memiliki orang lain yang mengelola hal semacam itu, yang merupakan berkat atau kutukan, tergantung pada bagaimana Anda melihatnya!

Ketika Anda menyebarkan, Anda secara efektif menyerahkan kode Anda langsung ke Heroku. Ini mungkin menjadi masalah bagi Anda. Artikel mereka di Dyno Isolation perincian tentang teknologi isolasi mereka (sepertinya beberapa dino dijalankan pada masing-masing contoh EC2). Beberapa rekan telah mengungkapkan masalah dengan teknologi ini dan kekuatan isolasi mereka; Saya sayangnya tidak dalam posisi yang cukup pengetahuan / pengalaman untuk benar-benar berkomentar, tetapi penyebaran Heroku saya saat ini menganggap bahwa "cukup baik". Ini mungkin menjadi masalah bagimu, aku tidak tahu.

Scaling

Saya menyentuh bagaimana seseorang dapat menerapkan ini dalam perbandingan IaaS vs PaaS saya di atas. Kira-kira, aplikasi Anda memiliki Procfile, yang memiliki garis bentuk dyno_type: command_to_run, jadi misalnya (cribbed from http://devcenter.heroku.com/articles/process-model):

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

Ini, dengan:

heroku scale web:2 worker:10

akan menghasilkan Anda memiliki 2 web dynos dan 10 worker dinamika berjalan. Bagus, sederhana, mudah. Perhatikan itu web adalah tipe dyno khusus, yang memiliki akses ke dunia luar, dan berada di belakang multiplexer traffic web bagus mereka (mungkin semacam kombinasi Varnish / nginx) yang akan mengarahkan lalu lintas yang sesuai. Pekerja Anda mungkin berinteraksi dengan antrean pesan untuk perutean serupa, dari mana mereka akan mendapatkan lokasi melalui URL di lingkungan.

Penghematan biaya

Banyak orang memiliki banyak pendapat berbeda tentang ini. Saat ini $ 0,05 / jam untuk satu jam dyno, dibandingkan dengan $ 0,025 / jam untuk instance mikro AWS atau $ 0,09 / jam untuk instance kecil AWS.

Milik Heroku dokumentasi dyno mengatakan Anda memiliki sekitar 512MB RAM, jadi mungkin tidak terlalu tidak masuk akal untuk mempertimbangkan dyno sebagai sedikit seperti instance mikro EC2. Apakah harganya dua kali lipat harganya? Seberapa banyak Anda menghargai waktu Anda? Jumlah waktu dan upaya yang diperlukan untuk membangun di atas tawaran IaaS untuk mendapatkannya dengan standar ini jelas tidak murah. Saya tidak dapat menjawab pertanyaan ini untuk Anda, tetapi jangan meremehkan 'biaya tersembunyi' penyiapan dan pemeliharaan.

(Sedikit kesamping, tetapi jika saya terhubung ke dyno dari sini (heroku run bash), tampilan sepintas menunjukkan 4 core di /proc/cpuinfo dan 36GB RAM - ini membuat saya percaya bahwa saya sedang berada di "High-Memory Double Extra Large Instance". Heroku dokumentasi dyno mengatakan setiap dyno menerima RAM 512MB, jadi saya berpotensi berbagi hingga 71 dinos lainnya. (Saya tidak memiliki cukup data tentang homogeni dari contoh AWS Heroku, jadi milage Anda dapat bervariasi))

Bagaimana mereka menghadapi pesaing mereka?

Ini, saya khawatir saya tidak bisa membantu Anda. Satu-satunya pesaing yang pernah saya lihat adalah Google App Engine - pada saat itu saya mencari untuk menyebarkan aplikasi Java, dan jumlah pembatasan pada kerangka kerja dan teknologi yang dapat digunakan sangat luar biasa. Ini lebih dari "hanya hal Java" - jumlah pembatasan umum dan pertimbangan yang diperlukan (FAQ petunjuk pada beberapa) tampak kurang nyaman. Sebaliknya, menyebarkan ke Heroku telah menjadi mimpi.

Kesimpulan

Saya harap ini menjawab pertanyaan Anda (harap komentar jika ada celah / area lain yang ingin Anda tuju). Saya merasa saya harus menawarkan posisi pribadi saya. Saya suka Heroku karena "penyebaran cepat". Ketika saya memulai aplikasi, dan saya ingin beberapa hosting murah (tingkatan gratis Heroku luar biasa - pada dasarnya jika Anda hanya membutuhkan satu web dyno dan 5MB PostgreSQL, itu gratis untuk meng-host aplikasi), Heroku adalah posisi saya untuk masuk . Untuk "Serious Production Deployment" dengan beberapa pelanggan berbayar, dengan perjanjian tingkat layanan, dengan waktu khusus untuk dibelanjakan untuk operasi, dan lain-lain, saya tidak dapat memaksa diri untuk melepas kendali sebanyak itu ke Heroku, dan kemudian AWS atau server kami sendiri telah menjadi platform hosting pilihan.

Pada akhirnya, ini tentang apa yang terbaik untuk Anda. Anda mengatakan bahwa Anda "seorang programmer pemula" - mungkin saja bahwa menggunakan Heroku akan membiarkan Anda fokus untuk menulis Ruby, dan tidak perlu menghabiskan waktu untuk mendapatkan semua infrastruktur lain di sekitar kode Anda yang dibangun. Saya pasti akan mencobanya.


Catatan, AWS sebenarnya memiliki penawaran PaaS, Pohon Kacang Elastis, yang mendukung Ruby, Node.js, PHP, Python, .NET, dan Java. Saya pikir umumnya kebanyakan orang, ketika mereka melihat "AWS", melompat ke hal-hal seperti EC2 dan S3 dan EBS, yang pasti IaaS menawarkan


1953
2018-03-21 10:57



Seperti Kristian Glass Said, tidak ada perbandingan antara IaaS (AWS) dan PaaS (Heroku, EngineYard).

PaaS pada dasarnya membantu pengembang untuk mempercepat pengembangan aplikasi, sehingga menghemat uang dan yang paling penting berinovasi aplikasi dan bisnis mereka daripada mengatur konfigurasi dan mengelola hal-hal seperti server dan database. Fitur lain yang membeli untuk menggunakan PaaS adalah proses penerapan aplikasi seperti kelincahan, Ketersediaan Tinggi, Pemantauan, Skala / Descale, kebutuhan terbatas untuk keahlian, penyebaran mudah, dan mengurangi biaya dan waktu pengembangan.

Tapi masih ada sisi gelap PaaS yang menjadi penghalang adopsi PaaS:

  • Kurang Kontrol atas Server dan database
  • Biaya akan sangat tinggi jika tidak diatur dengan benar
  • Prematur dan meragukan di zaman sekarang dan usia

Selain dari atas Anda harus memiliki keterampilan yang cukup untuk mengatur Anda IaaS:

  • Akuisisi perangkat keras
  • Sistem operasi
  • Perangkat Lunak Server
  • Lingkungan Scripting Sisi Server
  • Server web
  • Sistem Manajemen Database (Mysql, Redis, dll)
  • Konfigurasikan server produksi
  • Alat untuk menguji dan penerapan
  • Aplikasi Pemantauan
  • Ketersediaan Tinggi
  • Load Blancing / Http Routing
  • Kebijakan Backup Layanan
  • Kolaborasi Tim
  • Rebuild Produksi

Jika Anda memiliki bisnis skala kecil, PaaS akan menjadi pilihan terbaik untuk Anda:

  • Bayar sesuai yang anda pakai
  • Biaya mulai rendah
  • Biarkan pipa menjadi ahli
  • PaaS menangani penskalaan / pembersihan otomatis, Load balancing, pemulihan bencana
  • PaaS mengelola semua persyaratan keamanan
  • PaaS mengelola keandalan, Ketersediaan Tinggi
  • Paas mengelola banyak pengaya pihak ketiga untuk Anda

Ini akan menjadi pilihan individual berdasarkan kebutuhan. Anda dapat memiliki detail tentang PPT saya Aplikasi Rails Hosting.


57
2018-02-04 07:52



Ada banyak cara berbeda untuk melihat keputusan ini dari pengembangan, TI, dan tujuan bisnis, jadi jangan merasa buruk jika kelihatannya luar biasa. Tetapi juga - jangan terlalu memikirkan skalabilitas.

Pikirkan tentang dirimu Persyaratan.

Saya telah merancang situs web yang telah melayani lebih dari 8 juta uniques sehari dan mengirimkan terabyte video seminggu yang dibangun di atas infrastruktur mulai dari $ 250.000 dalam perangkat keras modal oleh staf tenaga kerja TI $ MM yang besar.

Tetapi saya juga memiliki situs web yang lebih kecil yang dirancang untuk menghasilkan $ 10 - $ 20k per tahun, tidak memiliki lalu lintas, db, atau persyaratan pemrosesan yang sangat tinggi, dan saya menjalankannya dari akun hosting umum $ 10 / mo tanpa kompromi.

Di masa depan, penyebaran akan terlihat lebih seperti Heroku daripada AWS, hanya karena kemajuan. Tidak ada nilai nol dalam IT-knob-turning dari skala infrastruktur internet yang tidak semakin automatable, dan tidak ada yang ada hubungannya dengan nilai produk atau layanan yang Anda tawarkan.

Juga, ingatlah dengan situs web komersial - skalabilitas adalah apa yang sering kita sebut 'masalah yang baik untuk dimiliki' - meskipun masalah skalabilitas dengan situs seperti Facebook dan Twitter sangat tinggi profilnya, mereka tidak memiliki efek negatif pada kesuksesan mereka - berita bahkan mungkin berkontribusi untuk lebih banyak pendaftaran (semua pers adalah pers yang baik).

Jika Anda memiliki layanan yang menghasilkan 100k + unik per hari dan memiliki masalah penskalaan, saya akan senang melepaskannya dari Anda, apa pun bahasa, db, platform, atau infrastruktur yang Anda jalankan!

Skalabilitas adalah masalah implementasi yang dapat diperbaiki - tidak memiliki pelanggan adalah masalah eksistensial.


30
2018-02-16 17:31



Sebenarnya Anda dapat menggunakan keduanya - Anda dapat mengembangkan aplikasi dengan server amazon ec2. Kemudian dorong (dengan git) ke heroku secara gratis untuk sementara (gunakan level gratis heroku untuk menyajikannya ke publik) dan ujilah seperti itu. Ini sangat efektif dibandingkan dengan menyewa server, tetapi Anda harus berbicara dengan api heroku yang lebih ketat yang merupakan sesuatu yang harus Anda pikirkan. Sumber: metode ini diadopsi untuk salah satu kelas online saya "Startup engineering dari Coursera / Stanford oleh Balaji S. Srinivasan dan Vijay S. Pande

Added a scheme so my explanation will be easier to understand


30
2018-02-17 11:30



Jawaban yang ada secara umum akurat:

  • Heroku sangat mudah digunakan dan digunakan untuk, dapat dengan mudah dikonfigurasi untuk auto-deployment repositori (misalnya GitHub), memiliki banyak add-on pihak ketiga dan biaya lebih per contoh.

  • AWS memiliki jangkauan yang lebih luas dari layanan pihak pertama dengan harga kompetitif termasuk DNS, load balancing, penyimpanan file murah dan memiliki fitur perusahaan seperti mampu mendefinisikan kebijakan keamanan.

Untuk tl; dr lewati sampai akhir posting ini.

AWS ElasticBeanstalk adalah upaya untuk menyediakan platform penskalaan otomatis dan mudah yang mirip Heroku. Karena menggunakan instance EC2 (yang dibuat secara otomatis) server EB dapat melakukan semua hal yang dapat dilakukan oleh EC2 lain dan murah untuk dijalankan.

Deployment dengan EB sangat lambat; menyebarkan pembaruan dapat memakan waktu 10-15 menit per server dan menyebar ke kluster yang lebih besar dapat mengambil bagian terbaik dari satu jam - dibandingkan dengan hanya beberapa detik untuk menerapkan pembaruan di Heroku. Deployment pada EB tidak ditangani dengan sangat baik, yang dapat memberlakukan batasan pada desain aplikasi.

Anda dapat menggunakan semua layanan ElasticBeanstalk menggunakan di belakang layar untuk membangun sistem dipesan lebih dahulu Anda sendiri (dengan CodeDeploy, Elastis Load Balancer, Auto Scaling Groups - dan CodeCommit, CodeBuild dan CodePipeline jika Anda ingin masuk semua) tetapi Anda pasti bisa menghabiskan yang baik beberapa minggu pengaturan itu pertama kalinya karena cukup berbelit-belit dan sedikit lebih rumit daripada hanya mengkonfigurasi hal-hal di EC2.

AWS Lightsail menawarkan opsi hosting harga kompetitif, tetapi tidak membantu dengan penyebaran atau penskalaan - itu benar-benar hanya pembungkus untuk penawaran EC2 mereka (tetapi biaya jauh lebih banyak). Ini memungkinkan Anda secara otomatis menjalankan skrip bash pada pengaturan awal, yang merupakan sentuhan yang bagus, tetapi sangat pricy dibandingkan dengan biaya hanya menyiapkan turunan EC2 (yang juga dapat Anda lakukan secara terprogram).

Beberapa pemikiran tentang membandingkan (untuk mencoba dan menjawab pertanyaan, meskipun secara tidak langsung):

  1. Jangan meremehkan berapa banyak administrasi sistem kerja, termasuk menjaga semua yang telah Anda perbarui dengan patch keamanan (dan sesekali pembaruan OS).

  2. Jangan meremehkan seberapa banyak manfaat penerapan otomatis, penskalaan otomatis, serta penyediaan dan konfigurasi SSL.

    Penyebaran otomatis ketika Anda memperbarui repositori Git Anda adalah mudah dengan Heroku. Ini hampir instan, anggun sehingga tidak ada pemadaman untuk pengguna akhir dan dapat diatur untuk memperbarui hanya jika tes / Integrasi Kontinyu berlalu sehingga Anda tidak merusak situs Anda jika Anda menyebarkan kode rusak.

    Anda juga dapat menggunakan ElasticBeanstalk untuk penyebaran otomatis, tetapi bersiaplah untuk menghabiskan satu minggu pengaturan yang pertama kali - Anda mungkin harus mengubah cara Anda menyebarkan dan membangun aset (seperti CSS dan JS) untuk bekerja dengan cara ElasticBeanstalk menangani penyebaran atau membangun logika ke dalam aplikasi Anda untuk menangani penerapan.

    Berhati-hatilah dalam memperkirakan biaya yang untuk penyebaran tanpa hambatan tanpa EB Anda perlu menjalankan beberapa contoh - EB meluncurkan pembaruan untuk setiap server secara individual sehingga layanan Anda tidak terdegradasi - di mana sebagai Heroku berputar dino baru untuk Anda dan hanya deprecates layanan lama hingga semua permintaan selesai ditangani (lalu dihapus).

    Menariknya, biaya hosting untuk menjalankan beberapa server dengan EB dapat lebih murah daripada satu contoh Heroku, terutama sekali Anda memasukkan biaya add-on.

Beberapa masalah lain yang tidak secara khusus ditanyakan, tetapi dibangkitkan oleh jawaban lain:

  1. Menggunakan penyedia yang berbeda untuk produksi dan pengembangan adalah ide yang buruk.

    Saya merasa ngeri bahwa orang-orang menyarankan ini. Meskipun idealnya kode harus berjalan dengan baik pada platform yang masuk akal sehalus mungkin, versi perangkat lunak pada setiap host akan sangat bervariasi dan hanya karena kode berjalan dalam pementasan tidak berarti itu akan berjalan dalam produksi (mis. Node.js / Versi Ruby / Python / PHP / Perl dapat berbeda dalam hal yang membuat kode tidak kompatibel, sering dengan cara sunyi yang mungkin tidak tertangkap bahkan jika Anda memiliki cakupan uji yang layak).

    Ide yang bagus adalah memanfaatkan sesuatu seperti Heroku untuk membuat prototipe, proyek dan microsite yang lebih kecil - sehingga Anda dapat membangun dan menerapkan hal-hal dengan cepat tanpa menginvestasikan banyak waktu dalam konfigurasi dan pemeliharaan.

    Pastikan untuk memperhitungkan biaya menjalankan contoh produksi dan pra-produksi saat membuat keputusan itu, tidak melupakan biaya mereplikasi seluruh lingkungan (termasuk layanan pihak ketiga seperti penyimpanan data / add-on, menginstal dan mengkonfigurasi SSL, dll) .

  2. Jika menggunakan AWS, waspadalah terhadap AWS pra-konfigurasi contoh dari vendor seperti Bitnami - mereka adalah mimpi buruk keamanan. Mereka dapat mengekspos banyak aplikasi yang sangat rentan secara default tanpa menyebutkannya dalam deskripsi.

    Sebagai gantinya, pertimbangkan untuk menggunakan distribusi mainstream yang didukung dengan baik, seperti Ubuntu atau Debian (atau CentOS jika Anda memerlukan dukungan RPM).

    Catatan: Amazon menawarkan distribusi mereka sendiri yang disebut Amazon Linux, yang menggunakan RPM, tetapi EC2 spesifik dan kurang didukung oleh perangkat lunak pihak ketiga / open source.

  3. Anda juga bisa mengatur turunan EC2 di AWS (atau Lightsail) dan mengkonfigurasi dengan sesuatu seperti flynn atau dokku di atasnya - di mana Anda dapat menyebarkan beberapa situs dengan mudah, yang dapat bernilai jika Anda mempertahankan banyak layanan atau ingin dapat memutar hal-hal baru dengan mudah. Namun, menyiapkannya tidak sekomplomatis karena hanya menggunakan Heroku dan Anda dapat menghabiskan banyak waktu untuk mengonfigurasi dan mempertahankannya (sampai pada titik yang saya temukan ketika menggunakan penggolongan Amazon dan Docker Swarm menjadi lebih mudah daripada mengaturnya; YMMV).

Saya telah menggunakan contoh AWS EC (sendirian dan dalam kelompok), Elastic Beanstalk dan Lightsail dan Heroku pada saat yang sama tergantung pada kebutuhan proyek yang sedang saya kerjakan.

Saya benci menghabiskan waktu untuk mengonfigurasi layanan, tetapi tagihan Heroku saya akan menjadi ribuan per tahun jika saya menggunakannya untuk semuanya dan AWS menghasilkan sebagian kecil dari biayanya.

tl; dr

Jika uang tidak pernah menjadi masalah saya akan menggunakan Heroku untuk hampir semuanya karena itu adalah penghemat waktu yang sangat besar - tapi saya masih ingin menggunakan AWS untuk proyek yang lebih rumit di mana saya memerlukan fleksibilitas dan layanan yang lebih canggih yang tidak ditawarkan Heroku.

Skenario ideal bagi saya adalah jika ElasticBeanstalk bekerja lebih seperti Heroku - yaitu dengan konfigurasi yang lebih mudah dan mekanisme penyebaran yang lebih cepat dan lebih baik.

Contoh layanan yang hampir ini aku s now.sh, yang sebenarnya menggunakan AWS di belakang layar, tetapi membuat penyebaran dan pengelompokan semudah di Heroku (dengan SSL otomatis, DNS, penerapan yang anggun, pengaturan dan pengelolaan klaster super-mudah).

Saya telah menggunakannya cukup banyak untuk aplikasi Node.js dan penyebaran gambar Docker, peringatan utama adalah contoh dibagikan (sesuatu yang tercermin dalam biaya yang lebih rendah) dan saat ini tidak ada opsi untuk membeli instance khusus. Namun, alat penyebaran sumber terbuka mereka 'sekarang' juga dapat digunakan untuk diterapkan ke instance khusus di AWS serta Google Cloud dan Azure.


22
2018-01-12 07:49



Yah, orang biasanya menanyakan pertanyaan ini: Heroku atau AWS ketika mulai menyebarkan sesuatu.

Eksperimen saya menggunakan Heroku & AWS, berikut ulasan singkat dan perbandingan saya:

Heroku

  • Satu perintah untuk menyebarkan apa pun jenis proyek Anda: Ruby on Rails, Nodejs
  • Begitu banyak 1-klik untuk mengintegrasikan plugin & pihak ketiga: Sangat mudah untuk memulai dengan sesuatu.
  • Tidak memiliki penskalaan otomatis; itu berarti Anda perlu meningkatkan / menurunkan secara manual
  • Biaya mahal, terutama, ketika sistem membutuhkan lebih banyak sumber daya
  • Misalnya gratis tersedia
  • Contoh gratis pergi tidur jika tidak aktif.
  • Pusat data: AS & UE saja
  • DAPAT masuk / akses ke tingkat mesin dengan menggunakan Heroku run bash (Terima kasih, MJafar Mash atas sarannya) tapi agak terbatas! Anda tidak memiliki akses penuh!
  • Tidak perlu tahu terlalu banyak tentang DevOps

AWS - EC2

  • Ini seperti mesin dengan OS pre-config (atau tidak), jadi Anda perlu menginstal perangkat lunak, perpustakaan untuk membuat situs web / layanan Anda online.
  • Plugin & Library harus diintegrasikan secara manual, atau skrip otomatisasi (naskah publik & ditulis oleh Anda)
  • Penskalaan otomatis & penyeimbang beban adalah layanan yang didukung, cukup pelajari cara mengonfigurasi & mengintegrasikan ke sistem Anda
  • Biaya cukup murah, tergantung pada layanan dan jumlah jam yang Anda gunakan
  • Ada beberapa jam gratis untuk instance T2.micro, tetapi biasanya, Anda akan membayar beberapa dolar setiap bulan (jika masih menggunakan T2.micro)
  • Instance gratis Anda tidak akan tidur, tersedia 24/7 (karena Anda dapat membayarnya :))
  • Pusat data: di seluruh dunia. Pilih wilayah yang paling cocok untuk Anda.
  • Selami level mesin. Jadi Anda bisa menikmatinya
  • Beberapa pengetahuan tentang DevOps, tetapi tidak apa-apa, Stackoverflow sangat membantu di sana!

Kacang Pohon AWS Elastis alternatif Heroku, tetapi lebih murah

  • Elastic Beanstalk diumumkan sebagai beta publik dari 2010; itu membantu kami lebih mudah bekerja dengan penyebaran. Untuk detail, silakan pergi sini

  • Pohon Kacang gratis, biaya yang akan Anda bayarkan adalah untuk layanan yang Anda gunakan & jumlah jam penggunaan.

  • Saya menggunakan Elastic Beanstalk untuk waktu yang lama, dan saya pikir itu bisa menjadi pengganti Heroku dan lebih murah!

Ringkasan

  • Heroku: Mudah di awal, BEBAS Misalnya, tapi mahal nanti
  • AWS: Tidak mudah, tersedia jam gratis, semacam lebih murah, Beanstalk harus khawatir untuk digunakan

Jadi dalam sistem saya saat ini, saya menggunakan Heroku untuk pementasan dan Pohon Kacang untuk produksi!


20
2018-05-23 10:36



Ini merupakan persentase signifikan dari bisnis kami yang memigrasikan orang dari Heroku ke AWS. Ada keuntungan untuk keduanya, tapi itu menjadi berantakan di Heroku setelah beberapa saat ... setelah Anda membutuhkan tingkat kompleksitas tertentu tidak lagi mudah dipertahankan dengan keterbatasan Heroku.

Yang mengatakan, ada semakin banyak pilihan untuk memiliki kemudahan Heroku dan fleksibilitas AWS dengan berada di AWS dengan kerangka kerja / alat yang hebat.


6
2018-01-08 20:54



Lucunya Heroku benar-benar menggunakan AWS di backend. Ini menghapus semua overhead dan melakukan manajemen arsitektur pada EC2 untuk Anda. (Mendapat pengetahuan itu dari seorang insinyur senior di Perusahaan Besar selama Wawancara)


1
2018-03-07 01:33



Amazon Web Services (AWS) menawarkan banyak layanan dari IaaS ke PaaS dengan daya tahan 99.9999999% terjamin dan ketersediaan data dan infrastruktur. AWS menawarkan otomatisasi infrastruktur bersama dengan beberapa alat bagi para pengembang untuk menyalurkan proses penyebaran aplikasi mereka.

Di sisi lain, Heroku hanya PaaS yang menawarkan layanan untuk mengelola platform Anda di cloud mereka. Itu tempat berdiri dengan AWS apakah itu infrastruktur atau keamanan.


1
2018-06-02 03:57



Baik! Saya pengamat Heroku terkenal di pemula dan pengembang yang baru lahir sementara AWS telah mengembangkan persona pengembang. DigitalOcean juga merupakan pemain utama di tanah ini. Cloudways telah membuatnya lebih mudah untuk membuat tumpukan Lampu di klik pada DigitalOcean dan AWS. Memiliki semua pembaruan layanan dan paket dalam satu klik jauh lebih baik daripada melakukan semua hal secara manual.

Anda dapat memeriksa sepenuhnya di sini: https://www.cloudways.com/blog/host-php-on-aws-cloud/


0
2017-08-26 14:39