Slide 1

Slide 1 text

What does it take to go FAST

Slide 2

Slide 2 text

Hi, I’m Inés Sombra @Randommood Thank you! I’m excited to be here

Slide 3

Slide 3 text

WHY W S SYSTEMS T TAKEAWAYS Today’s Agenda

Slide 4

Slide 4 text

2013?

Slide 5

Slide 5 text

Artur Bergman

Slide 6

Slide 6 text

Why go
 Fast?

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

Edge Cloud Services

Slide 11

Slide 11 text

Edge Cloud Service Constraints Highly Available Globally distributed Horizontally Scalable Secure Self healing Gracefully degrade under faults* Latency sensitive 
 and fast! (* when appropriate)

Slide 12

Slide 12 text

Your Constraints Efficient computations Elastic platform Secure Fast & responsive ($$$)

Slide 13

Slide 13 text

Lara Hogan 2017

Slide 14

Slide 14 text

Optimizing the images in your site is a great way to make it fast Look for optimizations you can make based on image format, quality, & display needs Image pre-processing is a way to do this Lara’s Lessons ! " # ∠ ∠ ∠ ∠ ∠ ' www.fastly.com

Slide 15

Slide 15 text

JPEG 1920 × 1080 px Max quality 2.3MB Original image

Slide 16

Slide 16 text

Hero image Thumbnail image 200 × 200 px Quality 85 6.93KB vs 2.3MB JPEG 800 × 560 px Quality 85 47 KB vs 2.3MB

Slide 17

Slide 17 text

Edge Cloud Services

Slide 18

Slide 18 text

Image Optimization Service

Slide 19

Slide 19 text

Building 
 Systems (

Slide 20

Slide 20 text

Building New Systems Fast Leverage orthogonality Invest in operational excellence Aggressively narrow down scope and set a MVS* (* Minimum Viable Speed)

Slide 21

Slide 21 text

Orthogonality / Composability ) + + + System Goal Constraints Small Team

Slide 22

Slide 22 text

Orthogonality / Composability CDN for request management CDN for logging CDN for authentication CDN for state management CDN for purging CDN for API translation CDN for fault tolerance CDN for doing less work!

Slide 23

Slide 23 text

Image Optimizers Origin

Slide 24

Slide 24 text

gordo-thumb please! Image Optimizers Origin

Slide 25

Slide 25 text

gordo-thumb please! original gordo please! Image Optimizers Origin

Slide 26

Slide 26 text

gordo-thumb please! there you go Image Optimizers Origin

Slide 27

Slide 27 text

gordo-thumb please! gordo-thumb please! Image Optimizers Origin

Slide 28

Slide 28 text

Image Optimizers gordo-thumb please! Done! Origin

Slide 29

Slide 29 text

gordo-thumb please! there you go Image Optimizers Origin

Slide 30

Slide 30 text

YASS! Image Optimizers Origin

Slide 31

Slide 31 text

gordo-thumb please! Image Optimizers Origin

Slide 32

Slide 32 text

YASS! Image Optimizers Origin

Slide 33

Slide 33 text

Origin Orthogonality & You Image 
 Pre-Processing

Slide 34

Slide 34 text

Origin Orthogonality & You Image 
 Optimization Reduce storage cost in origin

Slide 35

Slide 35 text

Orthogonality & You Your System Origin Image 
 Optimization

Slide 36

Slide 36 text

Doing less is awesome, look for ways in which you can leverage composability Moving logic & data closer to end users increases speed & efficiency (if you can) Your system is everything from your end users to your origin Leverage Orthogonality

Slide 37

Slide 37 text

ImageOpto POP Invest in Operational Excellence

Slide 38

Slide 38 text

ImageOpto GCP ImageOpto POP Invest in Operational Excellence

Slide 39

Slide 39 text

Image Optimizers Invest in Operational Excellence

Slide 40

Slide 40 text

Image Optimizers Invest in Operational Excellence

Slide 41

Slide 41 text

Image Optimizers Invest in Operational Excellence

Slide 42

Slide 42 text

Image Optimizers Invest in Operational Excellence

Slide 43

Slide 43 text

Image Optimizers Invest in Operational Excellence

Slide 44

Slide 44 text

Image Optimizers Invest in Operational Excellence

Slide 45

Slide 45 text

Complex operations make systems less resilient, more incident-prone, and more difficult to manage Pay-as-you-go investment model in system operability Pay attention to deployment cadence & other metrics* Invest in Operational Excellence (* PRs open & age, number of incidents)

Slide 46

Slide 46 text

Aggressively Narrow down your scope

Slide 47

Slide 47 text

Aggressively Narrow down your scope Decodes from an uncompressed format are faster About 90% reduction in processing time by saving the decoded image into an uncompressed format Let’s use this strategy to provide speedier transformations! *

Slide 48

Slide 48 text

Aggressively Narrow down your scope Design resulted in a more complex request cycle. What happened in this request? was hard to answer Starting with a non-trivial solution took a lot of time Unexpected interactions with purging & shielding !

Slide 49

Slide 49 text

Set your Minimum Viable Speed Setting an SLA is hard when you are creating a new service The network can make you slow, things you didn’t know you had (or that you were not doing well) can make you slow Pick a MVS to get started, optimize & learn as you go, then formalize your SLA

Slide 50

Slide 50 text

Fast enough is good enough* Discipline yourself to ship something first & expand your API as needed Tracking and fixing “its slow” is an ongoing activity Narrow Scope & Setting your MVS (* super context specific)

Slide 51

Slide 51 text

Building trust is key Focus on the whole team’s output Metrics to watch: PRs open & age, deployment cadence, review speed, etc Strive to create a sense of ownership 
 & pair it with the ability to have impact Supported By your Organization

Slide 52

Slide 52 text

Camille 
 Fournier

Slide 53

Slide 53 text

( Some
 Takeaways

Slide 54

Slide 54 text

Tradeoffs are made in context and should be revisited often Goal tunnel vision may lead you to work harder on the wrong solution Narrowing focus first and expand it as you learn is a solid approach All about the Tradeoffs

Slide 55

Slide 55 text

The less to do the faster you can go, reduce your scope! Keep the global system context in mind Move as much logic & data to the edge as you can for speed & efficiency SYSTEMS TL; DR; ) + ORGS Building trust is key Focus on the whole team’s output Invest in operability There are many paths to an acceptable solution (watch out for NIH)

Slide 56

Slide 56 text

https://github.com/Randommood/go-fast @Randommood Special thanks to: James Turnbull, Tyler McMullen, Joao Taveira, Elaine Greenberg, Peter Teichman, Lorenzo Saino, Adam Thomason, & Greg Bako Remember to optimize your images! THANK YOU