Page MenuHomePhabricator

Prepare the recommendation-api service for usage without RESTbase
Open, Needs TriagePublic

Description

The recommendation-api is currently exposed through RESTbase at /api/rest_v1/data/recommendation/. To unblock RESTbase sunsetting, it needs to be exposed through the new REST Gateway (Envoy). Before we can switch routing, the service's needs should be assessed according to https://www.mediawiki.org/wiki/RESTBase/service_migration, and necessary work sheduled.

This appears to be used by the Wikipedia app at a rate of about one request per second: https://w.wiki/ASXp

Event Timeline

daniel updated the task description. (Show Details)
daniel updated the task description. (Show Details)

@MSantos Can you remind me where we are at with this task?

Just quickly chiming in to make a few connections to related workstreams:

  • Older task about this: T340854
  • Modernization of recommendation API being lead by Content Translation which is almost complete and will make for strong base on which to incorporate the Apps functionality (what is hitting the RESTbase endpoint described in this task): T369484

Just quickly chiming in to make a few connections to related workstreams:

  • Older task about this: T340854
  • Modernization of recommendation API being lead by Content Translation which is almost complete and will make for strong base on which to incorporate the Apps functionality (what is hitting the RESTbase endpoint described in this task): T369484

Are there any usage of RESTBase specific technology? Or the modernization/replacement could safely be routed through REST Gateway?

Are there any usage of RESTBase specific technology? Or the modernization/replacement could safely be routed through REST Gateway?

That I don't know -- looping in @Seddon who can probably route that question more effectively.

Also related T338471: Replace the current recommendation-api service with a newer version and T373611: [spike] Determine if recommendation-api service calls can be migrated to local calls. (which effectively means that the only owner of the service, the Android Mobile application has migrated off of it). There is a non negligible chance that we will be able to sunset and undeploy this unmaintained service from production soon, negating the need for most of the above.

I am working with @Mooeypoo and @Jdlrobson on preparing a sunsetting decision brief. We are at the gathering all releveant information and stakeholders stage.

Just chiming in to thank you @akosiaris for updating and connecting these tickets. I hadn't been aware of the work by Android and so am thrilled to learn that this lingering dependency/issue has been resolved so neatly :)

Hey all, yep @Dbrant worked towards this on the android side and we were planning on looping back with the content transform team to pick up the sunsetting conversation but unfortunately we weren't able to meet with them this week.

@akosiaris I'd recommend including Dmitry in that decision brief drafting

@Seddon I reached out to you on Slack with some next steps. I can pick up the sunsetting conversation as part of the decision brief exercise.

Nikerabbit subscribed.

This is about the old nodejs version of the api. We are only maintaining the newer python version (also called recommendation-api-ng). Our team's products are not using the old version anymore.