2011-09-15 13 views
17

Stiamo provando a decidere se ospitare la nostra giocata! framework e mysql Java su Amazon's Elastic Beanstalk o la nuova offerta Java di Heroku. Sto avendo problemi a capire quali sarebbero i vantaggi di Heroku. Uno svantaggio è che Heroku non scala automaticamente i nodi come fa il beanstalk. Ma ci sono dei vantaggi che dovrei sapere?Quali sono i vantaggi del nuovo supporto Java Heroku su Amazon Elastic Beanstalk

+1

Non dovrei commentare le differenze da quando lavoro per Heroku. Ma farò notare che ci sono alcuni strumenti di terze parti che gestiranno il ridimensionamento automatico su Heroku. La gestione di Heroku è esposta tramite API REST che chiunque può creare strumenti in giro. –

+2

Sono disposto a sentire un'opinione parziale James, quindi vai avanti se vuoi segnalare alcuni vantaggi. :) –

+0

Heroku ha recentemente iniziato a supportare Play.Secondo la mia opinione, non verrebbero ospitate molte app di gioco (qualità prodigiosa - non gratuita tipo hello-world). La parola si sta ancora diffondendo. Era prevalentemente un negozio di rubini. Quindi dovrai aspettare un po 'di tempo per ottenere un confronto reale :) – basav

risposta

11

Così, dopo un po 'dolorosa esperienza con AWS beanstalk elastico, ecco la mia risposta: (tl; dr stiamo passando a Heroku)

vantaggi fagiolo magico:

  • AutoScaling (ma fare in modo che effettivamente bisogno di questo, è facile per scalare su Heroku, è solo manuale)
  • sulla base di formato WAR, se si ha familiarità con quello già (ma vedi sotto)

Disa dvantages:

  • Per giocare! app il processo di costruzione della guerra è un po 'un ripensamento. Ho avuto problemi nel fare alcune cose come gli allegati personalizzati di log4j e l'esecuzione di lavori programmati. Non è del tutto naturale che il gioco funzioni in un contenitore di servlet, quindi si verificano problemi bizzarri.
  • Processo di distribuzione super goffo. Stavo essenzialmente caricando file di guerra da 130 MB per ogni distribuzione tramite una console web. Alla fine ho ottenuto tutto distribuendo tramite un processo di compilazione della riga di comando, ma è stato un grande sforzo. Ho la sensazione che nessuno stia usando il beanstalk elastico, ma io da quando ero tutto solo a capire gli strumenti della linea di comando abbastanza cattivi. Per dare un senso a come distribuire un'app di gioco su beanstalk: creare un file war, installare alcuni strumenti s3 e caricare war, installare utilità beanstalk e utilizzarlo per creare una nuova configurazione, quindi distribuire tale configurazione. Ci sono molti dettagli dolorosi da superare in quella lista. Su heroku premi il tuo repository e lo fa tutto.
  • Tomcat! Ad esempio, play non disponeva delle autorizzazioni appropriate per eseguire processi pianificati con la versione di tomcat distribuita per beanstalk.
  • La registrazione è PEGGIO. Puoi andare e scaricare i file di registro catturati per ogni singolo server che stai utilizzando. Ma poi non sembrano mai contenere ciò di cui hai bisogno. Avevo due server ed era già terribile.

C'è altro ma la storia breve è che stiamo passando a heroku ed è già stata un'esperienza molto migliorata. Affrontare i certificati SSL, la registrazione combinata e l'incredibile serie di componenti aggiuntivi (logging centralizzato, ricerca host websolr, ecc.) Mi fanno pensare che ne valga già la pena.

Fornirò ulteriori dettagli nei commenti se le persone chiedono maggiori dettagli.

+0

FWIW, Elastic Beanstalk non richiede più i file WAR in quanto supporta anche Python, PHP, .NET, ecc. – Raj

5

Dal mio punto di vista, con una minima esperienza su entrambe le piattaforme, mi sembra che Heroku richieda meno lavoro da parte tua, le cose sono più automatizzate per te.

Si paga per questo, ma per un'applicazione di piccole-medie dimensioni credo che ne valga la pena.

+1

Potresti essere più specifico? Intendi principalmente nel modo in cui ti schieri? O ci sono anche vantaggi come l'admin del DB? Grazie. –

+0

Intendo implementazione, manutenzione del server (sicurezza, patch, ecc.), Uptime del server (tranne se è correlato all'arresto dell'app per qualche motivo software), ecc. Per me è un valore molto elevato in quanto può richiedere molto tempo e mantenere ti svegli di notte. –

+0

Non capisco come queste qualità (bassa manutenzione ecc.) Valgano per Heroku ma non per Amazon Beanstalk. – ripper234

Problemi correlati