Moved from etherpad, so that we can flesh out session topics for the SOA track.
## SOA infrastructure: Content / storage API
- layering: vs. stateless services
- RESTBase
- Public versus private APIs
- Pub/sub event bus
- Required attendees: (same as SOA)
## Common required design goals/aspects for stateless services
- Demand management, "back pressure"
- Authentication
- Operational / practical: monitoring, deployment
- 3rd party users / distribution / scaling down
- Required attendees: Gabriel Wicke, Services team, Faidon Liambotis, Sean, Chris Steipp
## Content representation / UI / skins
- move to HTML primary storage / wikitext editing?
- Parsoid
- Front-ends built on top of APIs
- Fast logged-in views: ESI vs. client-side customizations & no-JS fall-back
## SOA proliferation through specification
- specification-driven service design
- specification-driven documentation
- Swagger UI sandboxes make services easy to grok
- low client-side development/consumption impedance
- promotes the creation of numerous and innovative (client) applications
- breakout/workshop: quick client generation with swagger-codegen?
## The road to multi-DC operation
- issues: replication consistency, caches
- possible solutions
- how this affects our software architecture
## Looking ahead: Virtualization, CI and continuous deployment
- want to share hardware between services while improving isolation for perf and security
- moving towards virtualization both in production and CI
- what does this mean for our deployment strategy / tools?
- dark deploys with deployment orchestration integrating with monitoring?
- do HET deploy with different VMs?
- role of betalabs vs. dark deploys
## Scaling down for third-party users
- define resource limits for a basic MediaWiki install (strawman: VM with 512M of RAM)
- simple & small implementations of common services for testing and small installs
- setup automation / packaging for VMs
See also: T85154