Wikimedia Platform Engineering/MediaWiki Core Team/Quarterly review, July 2014

This is an outline for a review of the MediaWiki Core team which will take place at WMF on July 16, 2014.
 * Notes for this review

Team
See Wikimedia MediaWiki Core Team page.

Changes since last review: (none)

Previous quarter
HHVM will be our flagship project. HHVM increases performance across the board on MediaWiki, and may eventually allow for the removal of the caching layer, thereby opening the doors for making the site more interactive and performant. In parallel with HHVM, the Search team will be focussing on getting CirrusSearch deployed on all Wikimedia wikis, and work will commence on the SUL finalisation.

The above work will continue alongside our team's ongoing responsibilities.

HHVM
Great strides were made on HHVM. Almost all required extensions have been ported, and the remainder (e.g. libxml) are very close to finished. Packaging for Debian/Ubuntu is done thanks to a big effort in Ops (led by Faidon Liambotis), which makes wider deployment much practical. Occasional production testing is happening on a single host ("osmium") which has HHVM installed on it.

CirrusSearch Deployment
The team was able to deploy CirrusSearch as an option to all wikis this past quarter. A fair amount of development time this quarter was spent achieving lsearchd parity on some features important to our more prolific editors, such as the ability to search for the presence of templates in pages. Performance optimizations were needed to get hardware utilization down to acceptable level.

Search page redesign
This work was deprioritized this quarter.

SUL finalisation
Kunal Mehta (Legoktm) didn't have as much time as we'd hoped for to work on this, but he was able to make some progress. Much of the groundwork was laid for a more concerted effort in the following quarter.

Scap
Work continued on moving Scap fully to Python, which was largely completed. The need for HHVM bytecode distribution in scap was investigated, and determined to be unnecessary.

SecurePoll Redesign
This work is wrapping up now, and should be ready for deployment in the next election.

Architecture/RFC Review
RFC reviews are now a more routine part of the process. Though progress has been made on the backlog of RFCs, the number of incomplete RFCs is still rather large.

Previous Quarter People Allocations
Our people allocations for July through September of 2014:
 * Tim Starling: HHVM, Architecture/RFC Review, other review
 * Bryan Davis: scap, LogStash, HHVM
 * Nik Everett: Search
 * Chad Horohoe: Search, HHVM
 * Brad Jorsch: SecurePoll cleanup, API Maintenance, Scribunto Maintenance
 * Ori Livneh: Performance Infrastructure, HHVM
 * Aaron Schulz: HHVM
 * Chris Steipp: Security reviews, SUL finalisation
 * Antoine Musso: CI for HHVM, scap pythonization
 * Sam Reed: Deployments
 * Dan Garry: Search, SecurePoll, SUL finalisation
 * Greg Grossmeier: RelEng+QA, Deployment Tooling

Upcoming quarter
From the annual Wikimedia Engineering goals doc

HHVM
We believe that HHVM deployment can be substantially complete by the end of the quarter (where "substantially" means we have migrated just about all of our application servers and many of our other PHP-based services). We anticipate there will be a long tail of niche services that rely on obscure Zend-engine features that may take some time to finish off, but we don't anticipate a need to maintain the current level of effort and focus on this project once the migration is substantially complete.

Our plan is to implement a new stack of technology: The HHVM team at Facebook has been very helpful so far, and is dedicating engineers to help us finish this work. We expect to work very closely with them in the coming quarter.
 * Migrate from PHP 5.3 to HHVM
 * Upgrade from Apache 2.2 to Apache 2.4 (part of the Trusty upgrade)
 * Upgrade from Ubuntu Precise (12.04) to Ubuntu Trusty (14.04)

Quant target: By September 2014, we aim to halve median backend response time for uncached operations, including page preview and save.

Performance

 * Establish key performance indicators for end-to-end response time and server performance

Single user login finalisation
We intend to finish the engineering work in the upcoming quarter, and announce a date for the finalisation (which may occur sometime after the end of the quarter).

Search
The team is now confident that, with a minimal investment in hardware (or even clever shuffling of hardware), the migration can be completed by the end of this quarter. They have published a schedule, with the caveat that we will halt progress if we discover enough high impact bugs to keep Nik and Chad busy with fixes prior to the next scheduled deployment.

Upcoming Quarter People Allocations
Our people allocations for July through September of 2014:
 * Aaron Schulz: HHVM, general performance
 * Ori Livneh: HHVM, performance metrics
 * Tim Starling: HHVM, Architecture/RFC Review, other review
 * Chad Horohoe: Search
 * Nik Everett: Search
 * Bryan Davis: SUL finalisation (time permitting: Deployment Tooling, LogStash, HHVM)
 * Chris Steipp: SUL finalisation, Security reviews
 * Dan Garry: SUL finalisation, Search, SecurePoll
 * Brad Jorsch: Data & Developer Hub, API Maintenance, Scribunto Maintenance
 * Antoine Musso: see Wikimedia Release and QA Team
 * Greg Grossmeier: see Wikimedia Release and QA Team
 * Sam Reed: see Wikimedia Release and QA Team

Ongoing responsibilities

 * Deployments
 * Core deployments
 * External team deployments (e.g. Wikidata)
 * MediaWiki operations (performance, debugging, ops team support)
 * Code review
 * API maintenance and code review (Brad: 30%)
 * (fill me in)
 * Security issue response
 * Test infrastructure (Beta cluster and continuous integration)
 * Git/Gerrit improvement
 * Shell bugs