Page MenuHomePhabricator

MediaWiki Developer Summit 2015 panel proposal: Service virtualization, deployment & CI
Closed, ResolvedPublic

Description

Panel discussion

How can virtualization help us streamline our continuous integration, staging and production deployment pipeline?

Possible sub-topics:

  • can this help us move faster & spread the admin load more widely?
  • could we make beta labs basically identical to production?
  • perhaps, switch at the network-level for dark launches, A/B testing, rolling updates, quick roll-backs
  • can we avoid having localization updates and other expensive updates (repoauthoritative mode) on the critical path, with associated special tooling needs?
  • can we improve isolation in CI, so that we can reasonably test more complex services like RESTBase or the PDF renderer (OCG)?

https://etherpad.wikimedia.org/p/SOADeployment

Event Timeline

GWicke raised the priority of this task from to Needs Triage.
GWicke updated the task description. (Show Details)
GWicke subscribed.
GWicke renamed this task from Service virtualization, deployment & CI session at 2015 MediaWiki Developer Summit to MediaWiki Developer Summit 2015 panel proposal: Service virtualization, deployment & CI.Jan 9 2015, 10:11 PM
GWicke claimed this task.
GWicke triaged this task as Medium priority.
GWicke set Security to None.
GWicke added subscribers: akosiaris, greg, hashar and 5 others.

can we improve isolation in CI, so that we can reasonably test more complex services like RESTBase or the PDF renderer (OCG)?

I have started a draft architecture for the CI isolation T86171. The idea is to run tests in prepared VMs that ship a given context. Much like MediaWiki/Vagrant.

could we make beta labs basically identical to production?

The beta cluster has largely improved over the course of 2014, everyday it is being closer and closer to production thanks to the tireless work of ops and puppet. People involved in its maintenance still have to catch up with the changes made directly in production though. Some recent big deployments have been tested and pushed directly in/to production.

If we were to use the beta cluster as a required step before anything lands in production, that would surely help keeping it closer to prod. It is unlikely to happen without a big cultural change among the engineering department. We still have the mentally of skipping the tests, integration and QA. I am not sure how it is related to Virtualization though.

Resolving this. The panel has taken place in the 2015 summit and a lot of those issues have been discussed. Any actionables should be documented in separate tasks