LA DevOps - Simple Patterns for Scaling Websites

LA DevOps - Simple Patterns for Scaling Websites

This talk was given at LA DevOps in Jan. 2013.

For the version given at SCaLE 11x, visit http://solarce.github.com/mozilla-scaling-patterns/#/

Abstract
-----------

Simple Patterns for Scaling Websites is a talk by Brandon Burton on lessons learned as Mozilla has scaled our websites from thousands to hundreds of millions of users and what we've got planned to continue scaling as we grow our user base on the desktop, the Android mobile ecosystem, and our own FirefoxOS phone platform.

This talk was given at the January 2013 Los Angeles DevOps Meetup: http://www.meetup.com/ladevops/events/98428332/

675e2b6f653233a3a4d4e04f34610e1d?s=128

Brandon Burton

January 29, 2013
Tweet

Transcript

  1. Tuesday, January 29, 13

  2. simple scaling patterns for websites some lessons learned at Tuesday,

    January 29, 13
  3. Brandon Burton @solarce Web Operations Engineer lolcat enthusiast Tuesday, January

    29, 13
  4. CACHE (RULES EVERYTHING AROUND ME) Tuesday, January 29, 13

  5. MEMCACHE databases ephemeral data CACHE: your data Tuesday, January 29,

    13
  6. ZEUS load balancer http caching varnish squid CACHE: local asset

    cache Tuesday, January 29, 13
  7. global asset caching! 450 million users downloading updates edgecast akamai

    cedexis CACHE: CDN Tuesday, January 29, 13
  8. SCALE OUT (many web servers) Tuesday, January 29, 13

  9. we use puppet. also can use: chef cfengine SCALE OUT:

    config mgmt Tuesday, January 29, 13
  10. SCALE OUT: web heads DISPOSABLE WEB HEADS shared nothing SEAMICRO!

    netapp nfs S3 Tuesday, January 29, 13
  11. SCALE OUT: seamicro Deployed AMD SeaMicro for increase computing efficiency.

    Saved up to 75% in space and power Enables 192 vs. 64 hosts. 45U racks with 5U used by TOR and management. Eliminates TOR and reduces power. Racks are 12-15kW. Tuesday, January 29, 13
  12. SCALE OUT: an diagram Tuesday, January 29, 13

  13. A’SYNC JOBS (webscale boy band) Tuesday, January 29, 13

  14. CELERY don’t block the webapp python django supervisord ASYNC JOBS

    Tuesday, January 29, 13
  15. RABBITMQ celery cluster per dc config mgmt ASYNC JOBS Tuesday,

    January 29, 13
  16. DATABASES (/dev/null is webscale) Tuesday, January 29, 13

  17. Multi-Master mysql awesome DBA team DATABASES: multi-master Tuesday, January 29,

    13
  18. READ SLAVES mysql replication DATABASES: read slaves Tuesday, January 29,

    13
  19. DJANGO PLUGIN DATABASES: django plugin DATABASES = { ... 'slave':

    { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'database', 'USER': 'dbuser', 'PASSWORD': 'password', 'HOST': 'db1-lb1', 'PORT': '3306', }, } SLAVE_DATABASES = ['slave'] Tuesday, January 29, 13
  20. AWESOME DBAs ARE AWESOME DATABASES: dbas Tuesday, January 29, 13

  21. LOAD BALANCING Zeus ScaleBase DATABASES: load balancing Tuesday, January 29,

    13
  22. HARDWARE HP blades Fusion-IO HP and Kingston SSDs DATABASES: hardware

    Tuesday, January 29, 13
  23. FUTURE PLANS (where we’re going we don’t need roads) Tuesday,

    January 29, 13
  24. SELF SERVICE Continuous deployments Chief aka the big red button

    Jenkins FUTURE PLANS: self service Tuesday, January 29, 13
  25. PAAS We chose ActiveState’s Stackato FUTURE PLANS: paas Tuesday, January

    29, 13
  26. DAT CLOUD AWS scaling web server clusters paas FUTURE PLANS:

    cloud Tuesday, January 29, 13
  27. QUESTIONS? Tuesday, January 29, 13

  28. WANT TO KNOW MORE? speaking at SCaLE 11 @solarce blog.mozilla.org/it/

    Tuesday, January 29, 13
  29. SLIDES http://bit.ly/ladevops-201301-ssp Tuesday, January 29, 13