$30 off During Our Annual Pro Sale. View Details »

Scaling Down (Running Large Sites Locally)

Scaling Down (Running Large Sites Locally)

A talk I gave at PyCon AU 2017.

Andrew Godwin

August 05, 2017
Tweet

More Decks by Andrew Godwin

Other Decks in Programming

Transcript

  1. Andrew Godwin

    View Slide

  2. Hi, I’m
    Andrew Godwin

    View Slide

  3. 2013

    View Slide

  4. View Slide

  5. View Slide

  6. 2017

    View Slide

  7. View Slide

  8. ~150 Docker containers

    View Slide

  9. ~24GB of RAM

    View Slide

  10. View Slide

  11. docker-compose

    View Slide

  12. docker-compose

    View Slide

  13. bay

    View Slide

  14. View Slide

  15. View Slide

  16. View Slide

  17. Containers & Links

    View Slide

  18. Django
    Core MySQL Payments
    Audit MySQL
    Redis

    View Slide

  19. Django
    Core MySQL Payments
    Audit MySQL
    Redis

    View Slide

  20. Django
    Core MySQL Payments
    Audit MySQL
    Redis

    View Slide

  21. Django
    Core MySQL
    Redis
    “tiny”

    View Slide

  22. Did it boot yet?

    View Slide

  23. Docker containers run only one thing

    View Slide

  24. View Slide

  25. View Slide

  26. View Slide

  27. What if you don’t have a custom init?

    View Slide

  28. View Slide

  29. Rebuilding is Bad

    View Slide

  30. Rebuilding core is about 10 mins

    View Slide

  31. Mounts (“devmodes”)
    Core mount

    Library mount

    View Slide

  32. View Slide

  33. Our dependencies change every few hours

    View Slide

  34. Docker images are portable

    View Slide

  35. Pull rather than build

    View Slide

  36. View Slide

  37. What’s Next?

    View Slide

  38. Automated image building

    View Slide

  39. Running images remotely

    View Slide

  40. Running whole stacks remotely

    View Slide

  41. Trying not to reinvent the wheel

    View Slide

  42. github.com/eventbrite/bay

    View Slide

  43. Thanks.
    github.com/eventbrite/bay

    View Slide