Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Scale Summit 2015 Keynote: Comic Relief At Scale

Scale Summit 2015 Keynote: Comic Relief At Scale

Armakuni were invited to present the keynote at Scale Summit 2015 to talk about how they cope with an annual 7 hour spike which peaks at 400 donations per seconds.

Ben Dodd - Armakuni
Colin Humphreys - Armakuni

Armakuni

March 27, 2015
Tweet

More Decks by Armakuni

Other Decks in Technology

Transcript

  1. Comic Relief Donations Introduction to Cloud Foundry (Tech, Trends, pros/cons)

    OTN Donation Platform Background OTN Donation Platform Technical (Insights / Q&A)
  2. How was it delivered in the past? • Monolithic Java/Oracle

    app • Required ~50 people to deliver • Manual/Chef deployed • Had never delivered without an outage • Complex vendor matrix • Vendor/Provider lock-in
  3. New Solution Internet DNS US EAST COAST Cloud Foundry (BOSH/EC2)

    Presentation Layer Service Layer Workers
  4. New Solution Internet DNS US EAST COAST Cloud Foundry (BOSH/EC2)

    DUBLIN Cloud Foundry (BOSH/EC2) Service Layer Workers Presentation Layer Service Layer Workers LONDON Cloud Foundry (BOSH/VMWare) Presentation Layer Service Layer Workers Presentation Layer
  5. New Solution Internet DNS US EAST COAST Cloud Foundry (BOSH/EC2)

    DUBLIN Cloud Foundry (BOSH/EC2) Service Layer Workers Presentation Layer Service Layer Workers LONDON Cloud Foundry (BOSH/VMWare) Presentation Layer Service Layer Workers Presentation Layer
  6. New Solution Internet DNS US EAST COAST Cloud Foundry (BOSH/EC2)

    DUBLIN Cloud Foundry (BOSH/EC2) Service Layer Workers Presentation Layer Service Layer Workers LONDON Cloud Foundry (BOSH/VMWare) Presentation Layer Service Layer Workers Shared Services Logging Metrics Alerting + Postcodes Presentation Layer
  7. LONDON Insight Layer New Solution Internet DNS US EAST COAST

    Cloud Foundry (BOSH/EC2) DUBLIN Cloud Foundry (BOSH/EC2) Service Layer Workers View API Insight Presentation Layer Service Layer Workers MGMT LONDON Cloud Foundry (BOSH/VMWare) Presentation Layer Service Layer Workers Shared Services Logging Metrics Alerting = + Postcodes Presentation Layer
  8. LONDON Insight Layer New Solution Internet DNS US EAST COAST

    Cloud Foundry (BOSH/EC2) DUBLIN Cloud Foundry (BOSH/EC2) Service Layer Workers View API Insight Presentation Layer Service Layer Workers MGMT LONDON Cloud Foundry (BOSH/VMWare) Presentation Layer Service Layer Workers Shared Services Logging Metrics Alerting = + Postcodes Presentation Layer
  9. LONDON Insight Layer New Solution Internet DNS US EAST COAST

    Cloud Foundry (BOSH/EC2) DUBLIN Cloud Foundry (BOSH/EC2) Service Layer Workers View API Insight Presentation Layer Service Layer Workers MGMT LONDON Cloud Foundry (BOSH/VMWare) Presentation Layer Service Layer Workers Shared Services Logging Metrics Alerting = + Postcodes Presentation Layer
  10. Testing pipelines Application & Infrastructure code: Unit > Integration >

    Systest > Device > Security > Blue/Green >> Live!
  11. Commodity infrastructure Build CF (80 VMs) Deploy 30 x Apps

    Load Test (100k users) Die! 40 minutes
  12. CR to CF 1. Local Development 2. Cloud Orchestration 3.

    Application Lifecycle 4. Scaling 5. Portability 1. BOSH Lite/TMUX/Vagrant/Other 2. > cf login {cf provider 1} 3. > cf push {app} 4. > cf scale {app} -i 100 5. > cf login {cf provider 2}
  13. Demo Deploying a PHP app to Bluemix > enter: cf

    login \ -a https://api.ng.bluemix.net \ -u [email protected] \ -p $CR_CF_BLUEMIX_PASSWORD \ -o [email protected] \ -s demo cd ~/Code/comicrelief-3rd-party/cf-ex-phpmyadmin cf create-service cleardb spark my-test-mysql-db cf push #view app # https://cr-demo-phpmyadmin.mybluemix.net
  14. Demo Scaling a PHP app on Bluemix > enter: #scale

    up cf scale -i 10 phpmyadmin cf apps #scale down cf scale -i 1 phpmyadmin cf apps #delete cf delete -f phpmyadmin cf delete-service -f my-test-mysql-db
  15. Demo Moving a PHP app between CFs > enter: cf

    login \ -a https://api.run.pivotal.io \ -u [email protected] \ -p gefafwsp \ -o ak1 \ -s demo cd ~/Code/comicrelief-3rd-party/cf-ex-phpmyadmin cf create-service cleardb spark my-test-mysql-db cf push #view app # https://cr-demo-phpmyadmin.cfapps.io cf delete -f phpmyadmin cf delete-service -f my-test-mysql-db
  16. CR CF Architecture Vision CF Provider Production CR App Suite

    SCM Staging CR App Suite Test CR App Suite Development Dev A Dev B CI Dev A > Local [Cheaper/Better] CF Provider Production CR App Suite Staging CR App Suite Test CR App Suite Development Dev A Dev B