[IPOL discuss] Access to stat on total number of demo archive

Miguel Colom colom at cmla.ens-cachan.fr
Thu Apr 17 19:12:22 CEST 2014


Quoting Bertrand Kerautret <bertrand.kerautret at univ-lorraine.fr>:
> Initially Miguel idea was to split the demo system but perhaps it  
> could more convenient to integrate in the main service. The split  
> solution allows the possibility to start/stop the api web service  
> without interruption for demo service (however cherrypy looks good  
> to reload page without interruption) or to give priority by server  
> access (but not sure that it is really a problem actually ;) ).

Indeed, I think it'd be better to split the demo system into several  
autonomous parts that talk to each other, rather than a single  
monolithic and huge application.

In the case of the archive, for me it's quite clear that we should  
create a different component for it.
Why should the main application take care of all details about  
managing the archive?

The archive should be an independent entity that abstracts the details  
on how to store, index, and retrieve the data.
The core system must be only a client for the archive, and communicate  
with it with simple operations like "tell me the number of experiments  
stored for demo X", "store these images for demo Y", etc

In fact, we're close to that, and all we'd need is to create a new  
standalone application that communicates with the core system with  
webservices using a common API.

This way we'd isolate the details of the archive from the demo system,  
which also means removing complexity from it. And having specialized  
units.

With this architecture, the system can grow scalably.
For example: we could start storing the archives in the same machine,  
then in a separate server in the same LAN, and finally in WAN  
distributed system. All that without changing the core demo system!

In summary, what I intend to say is that, even if we think the system  
will be enough as it is, at the end we'll see that it asks for more  
and more features and demands more resources (more machines, for  
example). We see that already. Then, let's make it scalable and  
modular from the beginning.

Best,
Miguel




More information about the discuss mailing list