SORU
21 Mart 2012, ÇARŞAMBA


Neden insanlar BÖLÜM varsa Heroku kullanıyor? Ne'In Heroku hakkında ayrın

Benim app Heroku kullanarak dağıtmayı planlıyor acemi RoR bir programcı değilim. Diğer danışman arkadaşlarımdan kelime Heroku çok kolay, kullanmak için iyi olduğunu söylüyor. Tek sorun ben hala Heroku.. ne yaptığı hakkında hiçbir fikri yok

website ve özetle kendi baktım, Heroku ne Ölçekleme ile yardımcı olur ama... neden bu farkediyor mu? Nasıl Heroku ile yardımcı olur:

  1. Hızlı araştırmam ABD Doğu Kıyısında BÖLÜM dağıtma eğer ABD/Asya merkezli bir izleyici kitlesini hedeflemiş olsam hızlı olacağını ima etti

  2. Güvenlik Ne kadar güvenli?

  3. Ölçekleme - Nasıl işe yarıyor mu?

  4. Maliyet verimliliği - kolay ölçek yapan bir dyno gibi bir şey Var.

  5. Nasıl rakiplerine karşı adil? , Engine Yard bluebox örneğin?

Lütfen rahip olmayan kimse İngilizce terimleri açıklamak için kullanın... acemi bir programcı değilim. Teşekkür ederim.

CEVAP
21 Mart 2012, ÇARŞAMBA


Öncelikle, BÖLÜM ve Heroku farklı şeylerdir. BÖLÜM Heroku sunmak ise bir Service (IaaS), Hizmet olarak Platform (PaaS) ve Altyapı sunuyoruz.

Ne fark eder? Çok yaklaşık, IaaS sen bunun üstüne bir şeyler inşa etmek için gerekli bileşenleri sağlar; PaaS sen sadece Kodu ve bazı temel yapılandırma itme ve çalışan bir uygulama almak için bir ortam sağlar. Iaas daha fazla güç ve esneklik, ve daha kendinizi geliştirin zorunda pahasına verebilir.

Almaya çalışan kod üzerinde BÖLÜM ve yakışıklı bir bit gibi bir Heroku dağıtım istersiniz bazı EC2 örnekleri isteyeceksiniz bir yük dengeleyici / önbelleğe alma katmanı yüklü onları (örneğin Varnish) istersiniz örnekleri çalışan bir şey gibi Passenger nginx hizmet kodu istersiniz dağıtmak ve yapılandırmak kümelenmiş bir veritabanı örneği gibi bir şey PostgreSQL. ** 22, ve bir günlük toplama yapmak gibi bir şey ile bir dağıtım sistemi.

Bu iş çok az bir miktarını ayarlamak ve korumak için değil. Heroku ile, çaba aşamada bu tür elde etmek için gereken uygulama kod belki birkaç satır ve git push.

Bu kadar çok büyütmek istiyorum. Harika. EC2 dağıtımı için Puppet kullanıyorsun, değil mi? Şimdi Capistrano dosyaları gerektiği gibi/aşağı örneklerini spin için yapılandırma, re-jig Kukla senin config yani Vernik web işçisi örnekleri ve otomatik olarak aralarında havuz farkındadır. Veya 3**.

Umarım bu ikisi arasındaki karşılaştırma hakkında bir fikir verir. Şimdi belirli noktaları adres için:

Hız

Şu anda Heroku sadece us-east eu-west BÖLÜM örnekleri üzerinde çalışır. Senin için, bu her neyse istediğin gibi. Diğerleri için, bir bedel potansiyel olarak daha fazla.

Güvenlik

DAHİLİ olarak tutulan üretim yolu arkasında güvenlik güncelleştirmeleri, ya da sadece genel olarak kötü olan sunucular araya bir sürü gördüm. Heroku ile, bir başkası da bir lütuf ya da bir lanet olaya nasıl baktığınıza bağlı olan bu tür bir şey, yönetimi var!

Dağıtırken, etkili hemen oraya kodunuzu Heroku teslim ediyorsun. Bu sizin için bir sorun olabilir. Dyno Isolation kendi makale ayrıntıları yalıtım teknolojileri (birden fazla dinamometre döngüleri bireysel EC2 örneklerini çalıştırmak gibi görünüyor). Birkaç meslektaşımız var ifade edilen sorunlar ile bu teknolojileri ve gücü yalnızlıklarını; ben ne yazık ki değil bir pozisyondan yeterli bilgi / tecrübe etmek gerçekten yorum, ama benim geçerli Heroku dağıtımları düşünün "yeterince iyi". Sizin için bir sorun olabilir, bilmiyorum.

Ölçekleme

Benim IaaS vs yukarıdaki karşılaştırma PaaS bunu uygulamak nasıl dokundum. Yaklaşık, uygulamanızı örneğin 7**, formun çizgileri (http://devcenter.heroku.com/articles/process-model cribbed) olan Procfile sahiptir

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

Bu, bir:

heroku scale web:2 worker:10

seni neden olur 2 web dinamometre döngüleri ve 10 worker dinamometre döngüleri çalışıyor olması. Güzel, basit, kolay. Not web özel bir dyno türü, hangi erişebiliyor dış dünya ve arkasından onların güzel web trafik Çoklayıcı (muhtemelen bir çeşit Vernik / nginx kombinasyonu) buna bağlı olarak trafiği yönlendirebilir. Çalışanlarınız muhtemelen bir mesajı olan bir ortamda bir URL ile yer alacaklar benzer yönlendirme, sırası ile etkileşim.

Maliyet Verimliliği

Birçok kişi bu konuda farklı görüşler var. Şu anda $0.05/ik BÖLÜM küçük bir örneği veya $0.09/BÖLÜM mikro bir örnek ik $0.025/saat göre dyno bir saat için.

Heroku muhtemelen değil, bu yüzden dyno documentation 512MB RAM var diyorçokmantıksız EC2 mikro bir örneği gibi bir bit gibi bir dyno düşünün. Değer çift fiyatı mı? Ne kadar zaman değeri musunuz? Zaman ve çaba miktarı bir IaaS bu standart almak için teklif üstüne inşa etmek gerekli kesinlikle ucuz değil. Gerçekten sizin için bu soruya cevap veremem, ama "gizli maliyetleri" kurulum ve bakım. hafife almayın

(Biraz bir kenara, ama eğer ben bağlanmak için bir dyno buradan (heroku run bash), üstünkörü bir bakış gösterir 4 çekirdek /proc/cpuinfo 36GB RAM - Bu yol bana inan ki ben bir "High-Memory Double Extra Large Instance". Bu Heroku dyno documentation Her dyno 71 kadar diğer dinamometre döngüleri ile potansiyel olarak paylaşmak istedim 512MB RAM alır, diyor. (Eğer mil olarak uzaklık değişebilir yani Heroku. BÖLÜM örneklerinin homogeny hakkında yeterli veri yok))

Nasıl rakiplerine karşı ücret veriyorlar mı?

Bu, gerçekten sana yardım edemem korkuyorum. Gerçekten baktım tek rakip Google App Engine - zaman Java uygulamaları dağıtmak için bir yer arıyordum ve the amount of restrictions on usable frameworks and technologies inanılmaz itici oldu. Daha fazla bu "sadece Java bir şey" - genel kısıtlamalar ve dikkat edilmesi gereken noktalar (the FAQ çeşitli ipuçları) gerekli miktarı az daha rahat görünüyordu. Buna karşılık, Heroku dağıtma bir rüya oldu.

Sonuç

Bu sorularınızı (eğer ele istediğiniz diğer alanları / boşlukları varsa lütfen yorum) cevaplar umarım. Benim kişisel iş teklif etmem gerektiğini hissediyorum. Heroku seviyorum "hızlı dağıtımları". Ne zaman başladım bir uygulama, ve istediğim bazı ucuz hosting (Heroku ücretsiz kademedeki harika - aslında sen tek gereken bir web dyno ve 5 MB PostgreSQL, ücretsiz host için bir uygulama), Heroku benim go-to getirin. "Ciddi Üretim Dağıtım" ile çeşitli ödeme yapan, bir hizmet düzeyi Anlaşması ile özel zaman geçirmek ops, vesaire, pek anlamadım da kendim için boşaltma o kadar kontrol için Heroku ve sonra da BÖLÜM veya kendi sunucuları olmuştur barındırma platformu seçimi.

Sonuçta, sizin için en iyi olanı hakkında. Sen söylüyorsun "bir acemi programcı" - belki sadece bunu kullanarak Heroku-odak üzerinde yazılı Ruby, değil harcamak zaman tüm diğer altyapı etrafında kodunuzu inşa. Kesinlikle denerdim.


Not, BÖLÜM Ruby, Node.js PHP, Python, destekleyen PaaS sunan Elastic Beanstalk var aslında .NET ve Java. Genellikle "BÖLÜM", şey gibi atlama EC2 ve S3 ve kesinlikle IaaS olan EBS, teklifleri . gören çoğu kişi, bence

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ayite Atiwoto (superjiffrey)

    Ayite Atiwot

    29 EYLÜL 2010
  • Exalto_Gamer

    Exalto_Gamer

    15 EKİM 2014
  • USI Events

    USI Events

    6 AĞUSTOS 2013