2012-01-17 19 views
10

Ho sviluppato un'applicazione piuttosto piccola con Java EE, Hibernate, MySQL e Tomcat. Ora vorrei ospitarla su un servizio cloud. Ho considerato tre opzioni:Applicazione Java EE con MySQL: quale servizio cloud devo utilizzare?

  • Amazon EC2 (PaaS come gestire MySQL qui?)
  • Windows Azure (in realtà ho schierato un ciao mondo java app lì, quindi funziona Ma per quanto riguarda MySQL.?)
  • Google App Engine (nessun indizio a riguardo)

Suppongo che max. 5 utenti contemporanei e pochi set di dati (< 10.000). EDIT: non ho bisogno di un sacco di potenza della CPU.

Non sono sicuro di quale servizio utilizzare in termini di tecnologia (in particolare MySql) e in termini di costi (non dovrebbe essere superiore a 20 $/15 € al mese).

Qualcuno esperto può consigliare un'opzione. Inoltre vorrei sapere le ragioni dietro a ciò. Grazie

+0

Per un traffico così basso, perché stai considerando il cloud? La tua app utilizza pesantemente le risorse della cpu? O hai bisogno della vicinanza geografica con i clienti? – perissf

+0

no e no. Non possiedo un server. quindi qual è l'alternativa? – Sven

+0

La piccola istanza di Amazon ec2 costa 7 € al mese. Ci si arriva 1,7 GB e si può anche installare ciò che è necessario per quanto ho capito. – Sven

risposta

3

Amazon ha un livello gratuito. http://aws.amazon.com/free/

Verificare.

Probabilmente è possibile fare il boot con due micro istanze, una per l'applicazione, Tomcat e una per MySQL. Stai per voler eseguire il database MySQL su un volume EBS. E forse l'applicazione dipende da cosa fa. Quindi crea due gruppi di sicurezza, uno per l'applicazione con porte web (80, 8080, 443, ecc.) Aperte al mondo (e magari ssh aperto al tuo IP, o al mondo se sei pazzo) e un gruppo di sicurezza per MySQL server con la porta 3306 aperta al gruppo di sicurezza dell'app. Vedi http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/using-network-security.html.

Quindi vorrei creare un IP elastico e metterlo sul server Web, utilizzo Route53 per il mio DNS perché è semplice, quindi l'IP elastico è il record A per il sito/l'applicazione.

Guarda i monitor e se ottieni più carico, cattura istantaneamente ogni server come AMI e ne avvio uno più grande del micros. Se si utilizza AMI supportata da EBS, ciò sarà di aiuto.

NOTA: t1.micros non sono davvero molto buona, e si otterrà tutta la vostra CPU rubato da Amazon se fiscale difficile, quindi è meglio utilizzare solo loro se non si ha intenzione di ottenere molto carico.

Ovviamente ci sono altri costi, come la memorizzazione e il trasferimento dei dati, ma di solito sono economici.

Se pensate che questi server abbiano una durata di un anno o più, potete anche prenotarli, il che riduce il costo per tutto ciò che va oltre il livello gratuito.

Vorrei raccomandare AWS. Ti consentirà di scalare facilmente la tua applicazione una volta che avrai finito il flusso.

AWS ha una varietà di servizi che ti aiutano a gestire e adattare la tua app. Sono stato felice con esso.

2

Cloud Foundry dovrebbe essere un ottimo ambiente di hosting con le tue esigenze, ad esempio Java EE, Hibernate, MySQL. È ancora in beta ed è gratuito per ora.

Supporta Java EE, Hibernate, MySQL e Tomcat.Inoltre poiché si tratta di un PaaS, il provisioning del database MySql è solo un comando.

È possibile iscriversi a https://my.cloudfoundry.com/signup

documenti rilevanti per iniziare per il vostro caso d'uso sono: