Application To Platform

.footnote[[How we used Python to scale Yola](]

.large[ avatar

michaeljoseph @github @twitter yola ]

this talk is about

.large[ ![transformation]( ]

follow along at home


Other talks

] .right-column[

  • yodeploy and yoconfigurator

  • yola’s hosting platform

  • release automation and continuous deployment




] .right-column[

before and after


deployment / rollout patterns

roadmap ]



architecture goals

Simplicity is preferable to complexity

Existing solutions are preferable to entirely new ones

Open Source solutions are preferable to proprietary ones

Avoid single points of failure

architecture changelog

SynthaSite v2 beta — November 2007: The SynthaSite v2 beta went live.

SynthaSite Platform 2.0 — June 2008: gh-pages step in creating a more scalable and reliable platform, introducing load balancing and failover databases and filesystems to the Site Building cluster

SynthaSite Platform 2.1 — July 2008: Adds a dedicated hosting file system and database server, with drbd failover.

SynthaSite Platform 2.2 — September 2008: Adds horizontal scalability to the Site Builder database tier, allowing additional Site Builder database servers to be added to improve capacity.

architecture changelog

SynthaSite Platform 2.3 — October 2008: Adds the domain service and the payment service, allowing for the gh-pages company revenue stream.

SynthaSite Platform 2.4 — November 2008: Adds hosting web server load balancing, allowing horizontal scaling as well as high availability.

SynthaSite Platform 2.5 — December 2008: Adds the ability to have multiple hosting file servers, allowing horizontal scaling of hosting storage and I/O.

architecture changelog

Yola Platform 2.6 — May 2009: Adds the ability to have multiple Site Building file servers, allowing horizontal scaling of Site Building storage and I/O.

Yola Platform 2.7 — May 2009: Adds the Resource Store, which facilitates scalable and highly-available storage of site resources.

Yola Platform 2.8 — June 2009: Adds the Checkout Service, which facilitates the provision of purchase flows in a secure fashion (it, over SSL).

Yola Platform 2.9 — August 2009: Adds Resource Store instances to the publishing environment.

Before And After



release early and often

keep the changes small and pointy

lowers the cognitive overhead of review

increases confidence in pushing out new code

small surface area of introduced bugs to inspect

bugs are shallow anyway because we have many eyeballs


applications and installables



.left-column[ deployment / rollout patterns ]

new services first

switch client applications using standard demands based service clients


works for hardware too

evolving services with service-clients


generated docs


engineering workflow




pull requests


yola open source


  • database succession

  • feature flags

  • modernise all the things


roadmap: Monitoring

] .large[ graphite


sentry ]

roadmap: what was hard

  • slow

  • boring

  • singularity imminent


Slideshow created using remark.