On Tue, Feb 26, 2019 at 08:38:30PM +0100, Clement Verna wrote:
Hi all,
fedora-packages [0] code base is showing its age. The code base and
the technology stack (Turbogears2 [1] web framework and the Moksha
[2] middleware) is currently not ready for Python3 and I am not
planning to do the work required to make it Python3 compatible, so the
application will stop working when Fedora 29 is EOL.
In order to keep the service running, I have started a Proof Of
Concept (fedora-search [3]) to replace the backend of the application.
Fedora-search would be a REST API service offering full test search
API. Such a service would then be available for other application to
use, fedora-packages would then become a frontend only application
using the service provided by fedora-search.
While the POC shows that this is a viable solution, I don't think that
we should be proceeding that way, for the simple reason that this add
yet another code base to maintain, I think we should use this
opportunity to consider using Elasticsearch instead of maintaining our
own "search engine".
I think that Elasticsearch offers quite a few advantages :
- Powerful Query language
- Python bindings
- Javascript bindings
- Can be deployed in our infrastructure or used as a service
- Can be useful for other applications ( docs.fp.o, pagure, ??)
So what is the general feeling about using Elasticsearch in our
infrastructure ? Should we look at deploying a cluster in our infra /
Should we approach the Council to see if we can get founding to have
this service hosted by Elastic ?
We look at Elasticsearch at one point (I believe Aurélien was even looking at
setting up an instance in our cloud) but it came down to two aspects:
- setting it up is another application to maintain
- an application we have no expertise on
On the other side, fedora-search is:
- setting up another application to maintain
- an application we have expertise on
Asking Council to get founding for a hosted instance would resolve both of
points for Elasticsearch without the time implication of developing it
ourself.
In both case, there will be some time implication of moving to the new system,
so that's not a tie-breaker.
Pierre