Saya seorang programmer RoR pemula yang berencana untuk menyebarkan aplikasi saya menggunakan Heroku. Kata dari teman penasihat saya yang lain mengatakan bahwa Heroku sangat mudah, bagus untuk digunakan. Satu-satunya masalah adalah bahwa saya masih tidak tahu apa yang dilakukan Heroku ...
Saya telah melihat situs web mereka dan singkatnya, apa yang dilakukan Heroku adalah membantu penskalaan tetapi ... mengapa itu penting? Bagaimana cara Heroku membantu:
Kecepatan - Penelitian saya menunjukkan bahwa menggunakan AWS di Pantai Timur AS akan menjadi yang tercepat jika saya menargetkan audiens yang berbasis di AS/Asia.
Keamanan - Seberapa amankah mereka?
Penskalaan - Bagaimana cara kerjanya sebenarnya?
Efisiensi biaya - Ada sesuatu seperti dyno yang membuatnya mudah untuk diukur.
Bagaimana cara mereka melawan pesaing mereka? Misalnya, Halaman Mesin dan bluebox ?
Silakan gunakan istilah bahasa Inggris awam untuk menjelaskan ... Saya seorang programmer pemula.
AWS/Heroku keduanya gratis untuk proyek hobi kecil (untuk memulai).
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 pilihAWS. AWS lebih memakan waktu berdasarkan layanan/produk apa yang Anda pilih, tetapi dapat sia-sia. AWS juga dilengkapi dengan banyak layanan dan produk plugin.
Heroku
AWS
Seperti yang dikatakan Kristian Glass, 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 dalam aplikasi dan bisnis mereka alih-alih mengatur konfigurasi dan mengelola hal-hal seperti server dan database. Fitur lain yang dibeli untuk menggunakan PaaS adalah proses penyebaran aplikasi seperti ketangkasan, Ketersediaan Tinggi, Pemantauan, Skala/Descale, kebutuhan terbatas untuk keahlian, penyebaran mudah, dan pengurangan biaya dan waktu pengembangan.
Namun masih ada sisi gelap PaaS yang menjadi penghambat adopsi PaaS:
Selain di atas, Anda harus memiliki keterampilan yang cukup untuk mengatur Anda IaaS:
Jika Anda memiliki bisnis skala kecil, PaaS akan menjadi pilihan terbaik untuk Anda:
Ini akan menjadi pilihan individu berdasarkan kebutuhan. Anda dapat memiliki detail tentang PPT Aplikasi Rails Hosting saya .
Ada banyak cara berbeda untuk melihat keputusan ini dari pengembangan, TI, dan tujuan bisnis, jadi jangan merasa buruk jika tampaknya berlebihan. Tetapi juga - jangan terlalu berpikir skalabilitas.
Pikirkan tentang persyaratan Anda .
Saya telah merekayasa situs web yang telah melayani lebih dari 8 juta uniques sehari dan mengirimkan terabyte video yang dibangun di atas infrastruktur mulai dari $ 250rb dalam perangkat keras modal atau oleh staf tenaga kerja IT MM yang sangat besar.
Tetapi saya juga memiliki situs web yang lebih kecil yang dirancang untuk menghasilkan $ 10 - $ 20k per tahun, tidak memiliki lalu lintas yang sangat tinggi, persyaratan db atau pemrosesan, dan saya menjalankannya dari akun hosting generik $ 10/bulan tanpa kompromi.
Di masa depan, penyebaran akan lebih mirip Heroku daripada AWS, hanya karena kemajuan. Tidak ada nilai sama sekali pada tombol IT untuk mengubah skala infrastruktur internet yang tidak semakin otomatis, 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 sebagai 'masalah yang baik untuk dimiliki' - meskipun masalah skalabilitas dengan situs-situs seperti Facebook dan Twitter sangat menonjol, mereka tidak memiliki efek negatif pada kesuksesan mereka - berita mungkin bahkan berkontribusi ke lebih banyak pendaftaran (semua pers adalah pers yang baik).
Jika Anda memiliki layanan yang menghasilkan 100 k + uniques sehari dan mengalami masalah penskalaan, saya akan dengan senang hati melepaskannya untuk Anda, apa pun bahasa, db, platform, atau infrastruktur yang Anda jalankan!
Skalabilitas adalah masalah implementasi yang dapat diperbaiki - tidak memiliki pelanggan adalah masalah eksistensial.
Sebenarnya Anda dapat menggunakan keduanya - Anda dapat mengembangkan aplikasi dengan server Amazon ec2. Kemudian Dorong (dengan git) ke heroku gratis untuk sementara (gunakan heroku free tier untuk menyajikannya kepada publik) dan ujilah seperti itu. Ini sangat hemat biaya 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 "Teknik permulaan dari Coursera/Stanford oleh Balaji S. Srinivasan dan Vijay S. Pande
Nah, orang biasanya menanyakan pertanyaan ini: Heroku atau AWS ketika mulai menyebarkan sesuatu.
Eksperimen saya menggunakan kedua Heroku & AWS, berikut ini adalah ulasan singkat dan perbandingan:
Heroku
Heroku run bash
(Terima kasih, MJafar Mash atas sarannya) tetapi agak terbatas! Anda tidak memiliki akses penuh!AWS - EC2
AWS Elastic Beanstalk alternatif dari Heroku, tetapi lebih murah
Elastic Beanstalk diumumkan sebagai beta publik dari 2010; ini membantu kita lebih mudah untuk bekerja dengan penyebaran. Untuk detail silakan buka sini
Beanstalk 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
Jadi dalam sistem saya saat ini, saya menggunakan Heroku untuk pementasan dan Pohon Kacang untuk produksi!
Ini merupakan persentase yang signifikan dari bisnis kami yang memigrasikan orang-orang dari Heroku ke AWS. Ada keuntungan untuk keduanya, tetapi akan berantakan pada Heroku setelah beberapa saat ... sekali Anda membutuhkan tingkat kompleksitas tertentu tidak lagi mudah untuk 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.
Lucunya, Heroku sebenarnya menggunakan AWS di backend. Ini menghilangkan semua overhead dan melakukan manajemen arsitektur pada EC2 untuk Anda. (Dapatkan pengetahuan itu dari insinyur senior di Perusahaan Besar selama Wawancara)
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 pengembang untuk menyalurkan proses penerapan aplikasi mereka.
Di sisi lain, Heroku hanyalah PaaS yang menawarkan layanan untuk mengelola platform Anda di cloud mereka. Tidak ada tempat dengan AWS apakah itu infrastruktur atau keamanan.
Baik! Saya pengamat Heroku terkenal di pengembang pemula dan baru lahir sementara AWS telah mengembangkan persona pengembang. DigitalOcean juga pemain utama di tanah ini. Cloudways telah membuatnya lebih mudah untuk membuat tumpukan Lampu dengan mengklik DigitalOcean dan AWS. Memiliki semua layanan dan paket pembaruan 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/
Terkadang, saya bertanya-tanya mengapa orang membandingkan AWS dengan Heroku. AWS adalah IAAS (infrastruktur sebagai layanan) yang dengan jelas menyatakan betapa kuat dan kalkulatif sistemnya. Heroku, di sisi lain, hanya SAAS, pada dasarnya hanya sebagian kecil dari layanan AWS. Jadi mengapa harus berjuang dengan menyiapkan AWS ketika Anda dapat mengirimkan produk pertama Anda ke perdana menggunakan Heroku.
Heroku gratis, sederhana dan mudah digunakan hampir semua jenis tumpukan ke web. Heroku secara khusus dibangun untuk memotong semua kerepotan pengiriman aplikasi Anda ke server langsung dalam waktu singkat.
Namun demikian, Anda mungkin ingin menggunakan aplikasi Anda menggunakan salah satu tutorial dari kedua belah pihak dan membandingkan
AWS DOCS dan Heroku Docs
Heroku seperti subset dari AWS. Ini hanya platform sebagai layanan, sementara AWS dapat diimplementasikan sebagai apa saja dan di tingkat apa pun.
Implementasinya tergantung pada apa kebutuhan bisnisnya. Jika cocok, gunakan yang sesuai.
Yah Heroku menggunakan AWS di latar belakang, itu semua tergantung pada jenis solusi yang Anda butuhkan. Jika Anda seorang inti linux dan orang yang tidak Anda khawatir membuat vm dari awal seperti memilih opsi pemilihan AMI dll, Anda bisa menggunakan AWS. Jika Anda ingin melakukan hal-hal di permukaan tanpa nettigrities Anda bisa pergi dengan heroku.
Meskipun AWS dan Heroku keduanya adalah platform cloud, mereka berbeda karena AWS adalah IaaS dan Heroku adalah PaaS