Mi piacerebbe scomporre un numero di servizi Java REST (file WAR) in singoli container "MicroServices", in modo da poter scalare i servizi su e giù, isolare le applicazioni, avere accoppiamenti lenti, facilitare l'implementazione del cloud, ecc. , etc (circa ~ 100 servizi attualmente in uso in un ESB / in esecuzione nella stessa JVM)
Ho dato un'occhiata a a few Docker tutorial, e sono preoccupato che ogni contenitore sarà di circa 150MB (dovuto to the JRE) - non grande da solo, ma se ho bisogno di ridimensionare a centinaia / migliaia (o più) di istanze di servizio, ci sarà molto spazio sul disco ridondante in uso ...
Esiste un modo migliore per interrompere i servizi Java nei contenitori?
- Sto utilizzando lo strumento giusto per il lavoro? (Docker vs AWS ElasticBeanstalk vs AWS Lambda vs Java Application Server (/ s) vs ???)
- Qual è la migliore pratica in termini di risorse condivise? (isolare tutto o condividere tutto (indipendenza dal trading per risorse inferiori)? ad es. Posso / devo avere un'unità condivisa montata da un sistema host, contenente una singola copia condivisa di JRE?)
Attualmente stiamo studiando JavaSE8 (compact1) - che è molto più appetibile di 40 MB (incl OS)