際際滷

際際滷Share a Scribd company logo
Going serverless at 
Comic Relief
Cancer Research UK Engineering Away Day


July 2019
Peter Vanhee, Head of Technology, Digital & Innovation
Going serverless at Comic Relief - July 2019
Weve raised over 贈 1 billion since we
started out in 1985 & organise two main
campaigns: Sport Relief and 
Red Nose Day
Going serverless at Comic Relief - July 2019
Going serverless at Comic Relief - July 2019
Going serverless at Comic Relief - July 2019
Going serverless at Comic Relief - July 2019
Going serverless at Comic Relief - July 2019
Going serverless at Comic Relief - July 2019
2016
Drupal 7 monolith
- Static content
- Pay-in fundraising
- Gift aid declaration
- Fundraiser gallery
- Contact us
Giving
Pages
Donate
2017
Drupal 7
monolith
- Static content
- Contact us
Drupal 8
- Static content
Pay-in
fund-
raising
SMS 
Gift aid
Fundraise
gallery
Giving
Pages
Donate
2018
Drupal 8
- Static content
Pay-in
fund-
raising
SMS 
Gift aid
Giving
Pages
Donate
Contact
us
Red Nose
Comp
School
step calc
2018
Drupal 8
- Static content
Pay-in
fund-
raising
SMS 
Gift aid
Contact
us
Giving
Pages
Donate
Red Nose
Comp
School
step calc
Mailer Service
Postcode lookup
Payment Service
Layer
2019
Drupal 8
- Static content
Pay-in
fund-
raising
Contact
us
Payment Service layer
Image uploader service
Marketing preferences service
Mailer Service
Postcode lookup service
SMS Gift
Aid
Donate
Serverless costs nothing if
nobody is using it
DEALING WITH
UNPREDICTABILITY
Spikes in traffic and
donations are mostly
driven by broadcast
moments on the BBC.
DEALING WITH
UNPREDICTABILITY
Traditional hosting
solutions require
scale for your best-
case response rate.4 WEEKS
DEALING WITH
UNPREDICTABILITY
Best-case hosting
approach leads to
over scaling and a lot
of waste.4 HOURS
Scale on demand and
only pay for what you
use.
SERVERLESS COMPUTING
March 2019 cost*
$5,393
March 2015 cost*
$83,908
*All hosting costs are paid for through corporate partnerships. 
100% of public donations go to the projects we fund.
OLD VS NEW
WE COULD DO 
IT ALL AGAIN TOMORROW
Serverless services cost
$92
Going serverless at Comic Relief - July 2019
SCALING CHALLENGES
350
DONATIONS PER
SECOND
donation.comicrelief.com
Understand limitations of each 
of your components
Building Blocks
3rd Party Dependencies
bit.ly/cr-donate-blueprint
Going serverless at Comic Relief - July 2019
Feature Pipelines Production pipelines
Improve pace of building
new features
Catch errors and issues
before they block your
production pipeline
Opportunities to review &
discuss with the rest of the
business
Prototyping
Deploy continuously to
production
Full blown automated
testing suite
Going serverless at Comic Relief - July 2019
Traditional Testing Pyramid
Serverless Testing Pyramid
unit tests
Integration tests
end-to-end tests
crash reporting
Going serverless at Comic Relief - July 2019
Going serverless at Comic Relief - July 2019
Going serverless at Comic Relief - July 2019
Going serverless at Comic Relief - July 2019
Going serverless at Comic Relief - July 2019
Going serverless at Comic Relief - July 2019
Going serverless at Comic Relief - July 2019
Going serverless at Comic Relief - July 2019
Going serverless at Comic Relief - July 2019
Going serverless at Comic Relief - July 2019
Alerting, when..
≒ warnings or errors happen in production (Sentry)
≒ scheduled tests fail (Concourse)
≒ user-facing lambdas > 5 seconds (IOPipe)
≒ lambdas are being throttled (CloudWatch)
≒ application health checks fail (Wormly)
Going serverless at Comic Relief - July 2019
Going serverless at Comic Relief - July 2019
Chaos engineering
deliberately practice at
being wrong
@russmiles
If you know your system is going to go
down, youre not doing chaos
engineering, youre being irresponsible
@theburningmonk
https://github.com/Nordstrom/serverless-artillery
Serverless Load testing
Going serverless at Comic Relief - July 2019
Going serverless at Comic Relief - July 2019
 Identify limiting factors
 Identify limiting factors
 Utilise rapid reusability
 Identify limiting factors
 Utilise rapid reusability
 Monitor to optimize
 Identify limiting factors
 Utilise rapid reusability
 Monitor to optimize
 Use Serverless load
testing
2020
Contact
us
Payment Service layer
Image uploader service
Marketing preferences service
Mailer Service
Postcode lookup service
SMS Gift
Aid
Donate & 
Pay in
Content
Hub
cr.comData
Platforms
We couldnt have done it without
Inquisitive
engineers
Great tech
partners
Trust from
organisation
Thank You!
@pvhee
github.com/comicrelief
medium.com/comic-relief

More Related Content

Going serverless at Comic Relief - July 2019