Agreed—these diagrams are genuine masterworks which synthesize what would otherwise take dozens (probably hundreds) of hours to learn. Thank you very, very much, Timo.

On Mon, 24 Oct 2022 at 12:40, Johan Jönsson <jjonsson@wikimedia.org> wrote:
Huge thanks for this. As someone who comes into contact with for example the WMF infrastructure but irregularly, having these diagrams somewhat up to date just to be able to follow along in conversations is very helpful.

//Johan Jönsson
--

On Mon, Oct 24, 2022 at 3:51 PM Krinkle <krinkle@fastmail.com> wrote:
I've done a major update to a number of diagrams on Wikitech.

Usually, I don't mention an update here, but I'm highlighting it now as it's been a while since we mentioned them on-list and the community and foundation have grown a lot so some of these may be new to you.

Given how much has changed in recent changes, I also included a changelog and a link to where in the docs you'd normally discover this diagram on-wiki:


This is a highly simplified diagram, covering the general shape of our stack through the example of a typical Wikipedia webrequest.

Notable changes:
* Change edge TLS termination ("HTTPS") from ats-tls to HAProxy. I wrote a "Caching overview § History" section.
* Change appserver TLS from Nginx- to Envoy.
* Add new MainStash DB.
* Include storage ExternalStore DB, ParserCache DB, and Swift media.
* Include services Shellbox, Mathoid, and Kask.


This is a continous attempt at an overview of tier-1/user-facing infrastructure. It will likely never be complete from all POV, but.. it is more accurate and complete than it has been. Thanks to all that contributed by entertaining my many questions over the years.

Notable changes:
* Add new Drmrs data center in Marseille, France.
* Add new services: purged.go, EventStreams, Thumbor, mcrouter, Envoy, etcd.
* Add new distinction for Multi-DC between primary and secondary data center.
* Change sessionstore from Redis to Kask/Cassandra.
* Change jobqueue from Redis to EventGate/Kafka.
* Include distinct MediaWiki server roles and clusters.
* Include high-level MediaWiki platform components.
* Include example flow for "JobQueue job" and "CDN purge".


Similar to WMF Infra diagram, but more abstract around DC and services, and more detailed within the platform. Including more core services, and recognising extensions as their own layer.


Notable changes:
* Include the three tiers of ParserCache.
* Add WANCache legend to explain different keytypes you may encounter on the network.
* Add full name of the mcrouter-with-onhost-tier service for greppability.
* Add new WRStats service (T310662). This was part of Multi-DC work to reduce primary DB writes and (not bi-di replicated) Redis use in AbuseFilter. This service also replaces the old "User ping limiter" in core and is now able to serve both use cases.
* Remove "on-host: soon" labels. Adopting on-host memc for WANCache was considered not worth the added runtime complexity (T264604). Note that SRE's work on adding 10G network links for memcached hosts, and the addition of mcrouter-managed gutter pools take care of the general usecase that we were exploring on-host for. We kept it for ParserCache however (T244340.

== Edit link ==

As before, each diagram file page has an "Edit" link in the description that takes you directly to the open-source Diagrams.net web app (loading file read-only from Google Drive). You can fork by using "Save as" in the web app. See also: wikitech:Performance/Runbook/diagrams.net_conventions

-- Timo


_______________________________________________
Wikitech-l mailing list -- wikitech-l@lists.wikimedia.org
To unsubscribe send an email to wikitech-l-leave@lists.wikimedia.org
https://lists.wikimedia.org/postorius/lists/wikitech-l.lists.wikimedia.org/
_______________________________________________
Wikitech-l mailing list -- wikitech-l@lists.wikimedia.org
To unsubscribe send an email to wikitech-l-leave@lists.wikimedia.org
https://lists.wikimedia.org/postorius/lists/wikitech-l.lists.wikimedia.org/