Wikimedia Maps/2021 modernization plan/id

Ringkasan
Wikimedia Maps sedang bertransisi menuju arsitektur yang lebih modern. Fase pertama terjemahan ini akan mengganti Tilerator dengan Tegola sebagai peladen petak vektor kami. Ini adalah perubahan pada infrastruktur Maps, jadi seharusnya tidak berdampak besar pada pengalaman pengguna akhir.

Penting bagi kami untuk bisa menyediakan perangkat lunak yang bisa didukung secara berkelanjutan, sebelum kami bisa menjamin pengalaman pengguna yang baik. Wikimedia Maps bertujuan memberikan pengguna Wikimedia sebuah pengalaman yang konsisten dalam membantu dan mempelajari geoinformasi. Untuk mencapai tujuan ini, kami akan mendukung insinyur yang memelihara infrastruktur Wikimedia Maps sehingga mereka bisa memeliharanya dengan mudah.

Context
Wikimedia Foundation has supported the enablement of geoinformation through the creation and maintenance of Wikimedia Maps. The set of maps services provides the capability to render both dynamic and static images of geographic locations that have been embedded in Wikimedia projects as well as standalone projects run by third-party services.

The Wikimedia 2030 Movement Strategy states that our strategic direction is becoming the essential infrastructure of the ecosystem of free knowledge, and anyone who shares our vision will be able to join us. Although the foundation wants to enable contributors and people to learn about and contribute to geoinformation knowledge, we have to consider the constraints both from an organization and technology perspective. This has led us to make a conscious decision to maintain and not grow our geoinformation capability beyond what experience we provide today.

Goal
As we have come to understand our constraints on technology and capacity, we have provided the following outcomes as a target for where we want to have the maps infrastructure:

Wikimedia users will have a reliable and consistent experience contributing to and learning about geo-information

In order to achieve these goals, there are a few objectives in which we plan to mitigate in the short-term as well as some longer-term objectives that we need to explore more in order to truly understand how we resolve the problems that we have today.

Short-term Objectives

 * 1) Reduce map latency with OpenStreetMap (OSM)
 * 2) Empower SRE to support maps related incidents and maintenance


 * 1) Define SLO for both map consumers and SRE
 * 2) Provide efficient monitoring capabilities to support maps (Prometheus instead of Graphite)

Longer-term Objectives

 * 1) Reduce SRE dependency, empower client-side autonomy (Phase 1)

Problem
Wikimedia Maps has the most number of outages at the foundation to date. As those outages occur, there is no defined performance metric to indicate success or service degradation; our current monitoring capabilities for maps are poor and unhelpful; and the various pieces of related code are very complex and not easily understood in order to gain support and maintenance.

Hypothesis
We believe that modernizing the maps infrastructure will reduce complexity, enable monitoring capabilities, and better empower SRE to resolve issues quickly and intuitively.

The overall rationale behind the following phased approach is to be able to do atomic changes without breaking the current functionality and with minimal disruption. We also want to allow for evaluation of the changes and enable feedback to be provided along the way. The plan is to approach this modernization iteratively and starting with replacing our current vector tile server, tilerator, with the open-source vector tile server, Tegola. We hope moving away from server-side raster rendering to client-side reduces dependency on SRE and allows this team to be autonomous when it comes to supporting and maintaining the maps stack.

By modernizing our maps infrastructure, we empower SREs to support maps-related incidents and maintenance by


 * Moving away from static allocation of services to bare metal to services in Kubernetes
 * Reduce the complexity of the infrastructure by removing legacy/deprecated dependencies
 * Use technologies where our SREs have a lot of expertise

Timeline
January 2021 - June 2021 (pending architecture review)


 * Phase 1: Modernize Vector Tile Infrastructure

Future (To Be Determined)


 * Phase 2: Modernize Raster Tile Infrastructure
 * Phase 3: Sunset Legacy Maps Infrastructure

Apa perubahannya?
Maps akan mendapatkan arsiterktur yang lebih kuat dan modern sepanjang beberapa bulan ke depan. Langkah pertama dalam jalur ini akan mempengaruhi saluran pipa petak vektor, karena kami menggunakan Tegola. Pengguna akhir seharusnya tidak merasakan perbedaan.

Apakah ini berarti kalian sedang mengerjakan pekerjaan besar di Maps?
Not at this time. Hingga akhir tahun fiskal, kami akan sibuk memodernkan infrastruktur petak vektor. Kami berharap ini akan mempermudah tim Rekayasa Keandalan Situs menyelesaikan masalah dan mendukung pemeliharaan terkait peta.

Bagaimana caranya menyarankan penambahan fitur Maps?
Kami menyarankan Anda terus menyalurkan permintaan seperti itu melalui Survei Harapan Komunitas; Anda dipersilakan menandai kutu apa pun di Phabricator lewat Maps

Siapa yang akan memimpin proyek ini?
Tim Infrastruktur Produk adalah yang sekarang memimpin pekerjaan ini.

Bagaimana cara menghubungi tim?
Silakan gunakan Maps-l untuk bertanya. Untuk masalah yang darurat, Anda bisa menemukan kami di IRC di #wikimedia-infrastructure.

Lihat pula

 * Technical Decision Forum/Published Proposals/T275063