Background information
In order to have a safe roll-out strategy for the re-architecture of the Maps services, here is a proposal.
What
Define roll-out steps that are possible to roll back if needed.
It's important to note that this plan does not intend to decommission the old services immediately
How
Stick with status quo for a while but apply DB performance enhancements
- Deploy DB schema changes and performance enhancements with the current stack without changing any piece other than configuration and Mapnik render queries. T276324
- Continue Buster migration T269582 T264292
Prepare Tegola (new vector tile server) to be deployed integrated with PostgreSQL and Swift T274390
- Tegola is deployed and is able to connect with maps clusters PostgreSQL instances and can generate tiles on the fly in the staging environment
- Tegola is deployed and is able to connect with Swift to generate cached vector-tiles
- Pre-generation of tiles is deployed
- dequeue to generate tiles in Tegola
- enqueue from OSM sync tile list
- Tegola is deployed in eqiad and codfw
- Execute pre-generation of tiles to match the current production environment
Prepare to flip the switch
- Once Tegola is ready to receive traffic, duplicate incoming traffic towards the new maps tile server service and watch its health and logs. But keep the old services as the main output for clients.
- If there isn't anything else to address in the new tile server, roll-out maps to different wikis to output tiles and static snapshots integrated with Tegola:
- testwiki
- roll-out to the 4 wikis with most request to maps
- frwiki (4th)
- ruwiki (3rd)
- jawiki (2nd)
- enwiki (1st)
- finish roll-out to all wikis
Open questions
...
Acceptance criteria
- Documentation is updated
- Current stack is deployed with DB enhancements
- Tegola is ready for production traffic
- Tegola is fully integrated with Kartotherian and is receiving production traffic 🎉
- All wikis are rolled-out to Tegola