Deployment question about Invenio Framework

Hi,

I have a very simple question. I see that Invenio requires ElasticSearch and and DB, and that the quickstart guide uses docker compose to start those services.
In a produciton setup I would like to re-use my site ElasticSearch and MySQL services.
Is it possible to deploy Invenio connecting it to external ES/MySQL servers?
I also see that docker compose is proposed for the deployment.
Is it possible/documented the use of Kubernetes?

Thanks in advance,

Giuseppe

Hi,

Invenio doesn’t care where Elasticsearch and the database (MySQL or PostgreSQL) is running. In fact all our services as CERN uses externally managed ES and DB instances.

The docker-compose is actually not to use for production. We just use docker-compose to demonstrate a production environment. Each service inside the docker-compose you usually have to setup yourself in a real production environment. The documentation needs to be more clear on this.

Cheers,
Lars

1 Like

Thanks Lars,

another “integration” question. I see from the doc that Invenio uses a RabbitMQ or Redis as message queue service.
Is Kafka an option now or in the near future?

Best regards,

Giuseppe

Unfortunately, Kafka is not supported. You can see the list of supported message brokers here:

http://docs.celeryproject.org/en/latest/getting-started/brokers/index.html

In principle you should be able to make the broker work with those listed here (Kombu is the underlying messaging library for Celery).

That said, our experience is that RabbitMQ runs rock-solid in operations, and is very low maintenance.

Hi Lars,

I assume that the same will apply to Invenio RDM. Correct?

Hi Giuseppe,

Yes, the same applies to InvenioRDM: we are using Invenio and not changing those aspects.