Saluti a tutte le persone intelligenti qui intorno!Il cloud è pronto per un'applicazione Web Java Enterprise? Cerco un consiglio di hosting Java EE
Vorrei chiedere se è fattibile o una buona idea di distribuire un'applicazione web aziendale Java su un cloud come Amazon EC2. Più esattamente, sto cercando le opzioni di infrastruttura per un'applicazione che gestirà poche centinaia di utenti con sessioni lunghe ma senza CPU o memoria intensiva. Sto considerando server dedicati, server virtuali virtuali (VPS) ed EC2. Ho notato che esiste un progetto chiamato JBoss Cloud, quindi le persone stanno lavorando per abilitare tale implementazione, d'altra parte non sembra essere ancora maturo e non sono sicuro che il cloud sia pronto per questo tipo di applicazioni, che differiscono dalle tipiche applicazioni basate su cloud come Twitter. Consiglieresti di distribuirlo sul cloud? Quali sono i pro e i contro?
L'applicazione è un'applicazione Web Java EE 5 la cui funzione principale è consentire agli utenti di comporre il proprio Prodotto personalizzato combinando le Parti disponibili. Utilizza bean di sessione stateless e stateful e JPA per la persistenza di entità in un RDBMS e recupera informazioni su Parti dal sistema di inventario della società tramite un servizio Web. A parte gli utenti esterni è utilizzato anche da pochi interni, che sono autenticati contro l'LDAP della società. L'applicazione dovrebbe gestire circa 300-400 utenti contemporanei che costruiscono il loro prodotto e dovrebbe essere ragionevolmente scalabile e disponibile sebbene queste qualità siano di importanza media in questa fase.
Ho proposto un'architettura composta da un firewall (FW) e un servizio di bilanciamento del carico che supporta sessioni adesive e https (nel Cloud questo verrà sostituito con il servizio di bilanciamento del carico elastico EC2 e FW sui server delle app. architettura il load-balancer sarebbe un HW), quindi due server di applicazioni cluster fisici combinati con server Web (in modo che se uno fallisce, un utente non perde il suo prodotto di lunga durata) e infine un server di database. Il server DB avrebbe bisogno di un'istanza di backup slave che possa sostituire l'istanza master in caso di errore. Questo dovrebbe fornire ragionevole disponibilità e tolleranza agli errori e fornire una buona scalabilità finché un singolo RDBMS può mantenere il carico, il che dovrebbe essere OK per un po 'di tempo perché la maggior parte delle operazioni viene eseguita nella memoria usando un bean stateful e solo occasionalmente memorizzato o recuperato dal DB e anche la quantità di dati è bassa. Una parte problematica potrebbe essere la dipendenza dal servizio web del sistema di inventario remoto, ma con un buon caching dei suoi output nell'applicazione dovrebbe essere anche OK.
Purtroppo ho solo una vaga idea delle risorse di sistema (dimensioni della memoria, numero e velocità di CPU/core) che una "applicazione Java EE media" per poche centinaia di utenti ha bisogno. La mia stima approssimativa e per lo più infondata basata sulle offerte Amazon attuali è che 1,7 GB e una singola "moderna CPU" a 2 core con velocità intorno a 2,5 GHz (l'istanza media a CPU alta) dovrebbero essere sufficienti per uno qualsiasi dei due server applicazioni (dal momento che possiamo gestire un carico più elevato provvedendo a provarne di più). In alternativa, prenderei in considerazione l'utilizzo dell'istanza di grandi dimensioni (64b, RAM da 7,5 GB, 2 core a 1 GHz)
Quindi la mia domanda è se una tale distribuzione nel cloud sia tecnicamente e finanziariamente fattibile o se i server dedicati/VPS siano una soluzione migliore opzione e se ci sono alcune esperienze del mondo reale con qualcosa di simile.
Grazie mille!/Jakub Santa
PS: ho trovato il JBoss EAP in a Cloud Case Study che dimostra che è possibile distribuire un'applicazione del mondo reale Java EE al cloud EC2, ma purtroppo non ci siamo nessun dettaglio per quanto riguarda la topologia, tipo di istanza, o qualsiasi cosa: - (
Questo sarebbe più adatto per Serverfault.com –
Grazie, Michael, non ero a conoscenza di questo server. Ho ripubblicato la domanda a Serverfault.com - http://serverfault.com/questions/132325/is-the-cloud-ready-for-an-enterprise-java-web-application-seeking-a-jee-hosting –