Stiamo progettando una nuova architettura per un'azienda. I principi che abbiamo seguito finora non è quello di sviluppare quello che puoi (possibile acquistare e) schierare, cioè, non reinventare nessuna ruota.
In questo modo abbiamo deciso su CQRS, RabbitMQ, Riak e un sacco di altre cose. Abbiamo ancora bisogno di scrivere / alcuni / codice aziendale e questi saranno sotto forma di processi di lavoro, che consumeranno comandi da una coda di messaggi e dopo ogni effetto collaterale, produrranno eventi su un'altra coda di messaggi. L'idea alla base di questo è che attraverso il design dei consumatori in concorrenza avremo un design scalabile fin da subito.
Un'opzione è di scrivere un'infrastruttura di gestione che saprà come:
- deploy code
- istanziare i processi
- uccidi i processi
- aggiorna la configurazione
- etc
IE fornisce tolleranza agli errori e scalabilità. Inoltre, questo è esattamente ciò che fa per te GAE ed Heroku, ma in un contesto pubblico e nella nostra organizzazione, il pubblico è cattivo.
La mia domanda è: esiste una soluzione pronta all'uso che possiamo utilizzare per ospitare i nostri consumatori? Come un cloud privato o una piattaforma privata come servizio. Heroku privato o GAE. Esiste una sorta di software o prodotto software con cui possiamo fare tutte queste cose e quindi ottenere scalabilità e tolleranza ai guasti sui nostri consumatori?