.footnote[[How we used Python to scale Yola](https://github.com/michaeljoseph/application-to-platform)]
.large[
michaeljoseph @github @twitter
]
.large[  ]
https://github.com/michaeljoseph/application-to-platform
.left-column[
] .right-column[
yodeploy and yoconfigurator
yola’s hosting platform
release automation and continuous deployment
]
.left-column[
] .right-column[
before and after
lessons
deployment / rollout patterns
roadmap ]
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
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.
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.
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.
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
.left-column[ deployment / rollout patterns ]
works for hardware too
)
)
hiring
meritocracy
BDFL
pull requests
eyeballs
https://github.com/yola
https://github.com/yola/demands
https://github.com/yola/property-caching
https://github.com/yola/auth_tkt
https://github.com/yola/hashcache
database succession
feature flags
modernise all the things
.left-column[
] .large[ graphite
munin
sentry ]
slow
boring
singularity imminent
Slideshow created using remark.