tdc2016sp - otimização prematura: a raíz de todo o mal
TRANSCRIPT
![Page 1: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/1.jpg)
PREMATUREOPTIMIZATION
The Root of ALL Evil
@akitaonrails
![Page 2: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/2.jpg)
@akitaonrails
![Page 3: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/3.jpg)
![Page 4: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/4.jpg)
![Page 5: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/5.jpg)
![Page 6: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/6.jpg)
![Page 7: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/7.jpg)
Rubyconf Brasil 2016 – September 23 - 24
![Page 8: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/8.jpg)
Rubyconf Brasil 2016 – September 23 - 24
![Page 9: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/9.jpg)
September
23 - 24 @rubyconfbr
![Page 10: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/10.jpg)
PREMATUREOPTIMIZATION
The Root of ALL Evil
@akitaonrails
![Page 11: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/11.jpg)
![Page 12: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/12.jpg)
“Premature Optimization is the Root of All Evil”
- Don Knuth
![Page 13: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/13.jpg)
![Page 14: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/14.jpg)
![Page 15: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/15.jpg)
SPA e-commerce
![Page 16: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/16.jpg)
![Page 17: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/17.jpg)
SPA e-commerce http://www.loja.com.br/#!/produtos/item-001
![Page 18: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/18.jpg)
SPA e-commerce http://www.loja.com.br/#!/produtos/item-001
http://www.loja.com.br/?_escaped_fragment_=/produtos/item-001
![Page 19: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/19.jpg)
High Level Numbers
![Page 20: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/20.jpg)
Client #1
![Page 21: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/21.jpg)
![Page 22: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/22.jpg)
![Page 23: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/23.jpg)
![Page 24: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/24.jpg)
![Page 25: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/25.jpg)
$ 4,000
![Page 26: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/26.jpg)
$ 4,000 ($ 7 MI/yr revenue - 0.68%)
![Page 27: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/27.jpg)
Client #2
![Page 28: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/28.jpg)
![Page 29: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/29.jpg)
![Page 30: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/30.jpg)
![Page 31: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/31.jpg)
$ 100,000+
![Page 32: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/32.jpg)
$ 100,000+ ($ 800 MI/yr revenue - 0.15%)
![Page 33: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/33.jpg)
![Page 34: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/34.jpg)
• Minimum IT Cost:
![Page 35: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/35.jpg)
• Minimum IT Cost:
• USD 1000 - Cloud Services
![Page 36: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/36.jpg)
• Minimum IT Cost:
• USD 1000 - Cloud Services
• USD 3000 - 1 Developer
![Page 37: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/37.jpg)
• Minimum IT Cost:
• USD 1000 - Cloud Services
• USD 3000 - 1 Developer
• USD 4000 - 1 “Responsible” (Manager, Marketing, etc)
![Page 38: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/38.jpg)
• Minimum IT Cost:
• USD 1000 - Cloud Services
• USD 3000 - 1 Developer
• USD 4000 - 1 “Responsible” (Manager, Marketing, etc)
• Total: USD 8.000/month (USD 96.000/year)
![Page 39: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/39.jpg)
• Minimum IT Cost:
• USD 1000 - Cloud Services
• USD 3000 - 1 Developer
• USD 4000 - 1 “Responsible” (Manager, Marketing, etc)
• Total: USD 8.000/month (USD 96.000/year)
• Minimum Business Requirement:
![Page 40: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/40.jpg)
• Minimum IT Cost:
• USD 1000 - Cloud Services
• USD 3000 - 1 Developer
• USD 4000 - 1 “Responsible” (Manager, Marketing, etc)
• Total: USD 8.000/month (USD 96.000/year)
• Minimum Business Requirement:
• Revenue: > USD 2 MI / year
![Page 41: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/41.jpg)
• Minimum IT Cost:
• USD 1000 - Cloud Services
• USD 3000 - 1 Developer
• USD 4000 - 1 “Responsible” (Manager, Marketing, etc)
• Total: USD 8.000/month (USD 96.000/year)
• Minimum Business Requirement:
• Revenue: > USD 2 MI / year
• IT Cost / Revenue ratio: < 5%
![Page 42: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/42.jpg)
![Page 43: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/43.jpg)
Increase Revenue >
Lower Costs
![Page 44: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/44.jpg)
![Page 45: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/45.jpg)
Open > Proprietary (prefer “Best of Breed”)
![Page 46: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/46.jpg)
![Page 47: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/47.jpg)
Cloud > On-Premise (Infrastructure/Platform as a Service)
![Page 48: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/48.jpg)
![Page 49: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/49.jpg)
![Page 50: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/50.jpg)
![Page 51: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/51.jpg)
![Page 52: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/52.jpg)
![Page 53: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/53.jpg)
![Page 54: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/54.jpg)
SaaS > IaaS (avoid doing yourself)
![Page 55: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/55.jpg)
![Page 56: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/56.jpg)
![Page 57: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/57.jpg)
SEO & SEM (should not be Astrology!)
![Page 58: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/58.jpg)
![Page 59: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/59.jpg)
• /do/you/have/friendly/urls?
![Page 60: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/60.jpg)
• /do/you/have/friendly/urls?
• sitemap.xml?
![Page 61: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/61.jpg)
• /do/you/have/friendly/urls?
• sitemap.xml?
• Proper HTTP 301 Redirections?
![Page 62: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/62.jpg)
• /do/you/have/friendly/urls?
• sitemap.xml?
• Proper HTTP 301 Redirections?
• Social Network buttons?
![Page 63: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/63.jpg)
• /do/you/have/friendly/urls?
• sitemap.xml?
• Proper HTTP 301 Redirections?
• Social Network buttons?
• Periodic ORIGINAL CONTENT publishing?
![Page 64: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/64.jpg)
• /do/you/have/friendly/urls?
• sitemap.xml?
• Proper HTTP 301 Redirections?
• Social Network buttons?
• Periodic ORIGINAL CONTENT publishing?
• No duplication duplication of content content?
![Page 65: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/65.jpg)
• /do/you/have/friendly/urls?
• sitemap.xml?
• Proper HTTP 301 Redirections?
• Social Network buttons?
• Periodic ORIGINAL CONTENT publishing?
• No duplication duplication of content content?
• THEN OK!
![Page 66: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/66.jpg)
![Page 67: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/67.jpg)
I.
II.
III.
IV.
V.
VI.
VII.
VIII.
IX.
X.
XI.
XII.
Codebase One codebase tracked in revision control, many deploys
Dependencies Explicitly declare and isolate dependencies
Config Store config in the environment
Backing services Treat backing services as attached resources
Build, release, run Strictly separate build and run stages
Processes Execute the app as one or more stateless processes
Port binding Export services via port binding
Concurrency Scale out via the process model
Disposability Maximize robustness with fast startup and graceful shutdown
Dev/prod parity Keep development, staging, and production as similar as possible
Logs Treat logs as event streams
Admin processes Run admin/management tasks as one-off processes
![Page 68: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/68.jpg)
![Page 69: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/69.jpg)
![Page 70: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/70.jpg)
y = x * 320
![Page 71: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/71.jpg)
y = x * 320
y = (x << 8) + (x << 6)
![Page 72: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/72.jpg)
![Page 73: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/73.jpg)
• NO Test Suite with below 70% coverage
![Page 74: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/74.jpg)
• NO Test Suite with below 70% coverage
• NO CodeClimate below 3.0 rating
![Page 75: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/75.jpg)
• NO Test Suite with below 70% coverage
• NO CodeClimate below 3.0 rating
• NO source code file with hundreds of LOC
![Page 76: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/76.jpg)
• NO Test Suite with below 70% coverage
• NO CodeClimate below 3.0 rating
• NO source code file with hundreds of LOC
• NO COPY AND PASTE EVERYWHERE!!!
![Page 77: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/77.jpg)
• NO Test Suite with below 70% coverage
• NO CodeClimate below 3.0 rating
• NO source code file with hundreds of LOC
• NO COPY AND PASTE EVERYWHERE!!!
• NO functions with more than 1 page down
![Page 78: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/78.jpg)
• NO Test Suite with below 70% coverage
• NO CodeClimate below 3.0 rating
• NO source code file with hundreds of LOC
• NO COPY AND PASTE EVERYWHERE!!!
• NO functions with more than 1 page down
• NO table with dozens of fields
![Page 79: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/79.jpg)
• NO Test Suite with below 70% coverage
• NO CodeClimate below 3.0 rating
• NO source code file with hundreds of LOC
• NO COPY AND PASTE EVERYWHERE!!!
• NO functions with more than 1 page down
• NO table with dozens of fields
• NO hours to clone, setup and deploy!!
![Page 80: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/80.jpg)
![Page 81: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/81.jpg)
Spree: 68k LOC 40k are Specs! (60%)
![Page 82: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/82.jpg)
Magento2: 300k LOC 127k are Specs! (< 30%)
![Page 83: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/83.jpg)
![Page 84: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/84.jpg)
Maintainability
> Performance
![Page 85: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/85.jpg)
![Page 86: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/86.jpg)
![Page 87: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/87.jpg)
PRIORITIES!
![Page 88: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/88.jpg)
![Page 89: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/89.jpg)
![Page 90: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/90.jpg)
![Page 91: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/91.jpg)
![Page 92: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/92.jpg)
![Page 93: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/93.jpg)
![Page 94: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/94.jpg)
• SQL N+1 Queries
![Page 95: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/95.jpg)
• SQL N+1 Queries
• Too much SQL
![Page 96: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/96.jpg)
• SQL N+1 Queries
• Too much SQL
• Too much SQL LIKE instead of Elastic
![Page 97: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/97.jpg)
• SQL N+1 Queries
• Too much SQL
• Too much SQL LIKE instead of Elastic
• Lack of proper SQL indexes
![Page 98: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/98.jpg)
• SQL N+1 Queries
• Too much SQL
• Too much SQL LIKE instead of Elastic
• Lack of proper SQL indexes
• Too much unused code that was not removed
![Page 99: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/99.jpg)
• SQL N+1 Queries
• Too much SQL
• Too much SQL LIKE instead of Elastic
• Lack of proper SQL indexes
• Too much unused code that was not removed
• No CDN or proper HTTP Cache invalidation headers
![Page 100: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/100.jpg)
• SQL N+1 Queries
• Too much SQL
• Too much SQL LIKE instead of Elastic
• Lack of proper SQL indexes
• Too much unused code that was not removed
• No CDN or proper HTTP Cache invalidation headers
• Too much synchronous work that should be async jobs
![Page 101: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/101.jpg)
No Metrics No Optimization
![Page 102: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/102.jpg)
![Page 103: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/103.jpg)
- Alan Kay
![Page 104: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/104.jpg)
“Make it Work
- Alan Kay
![Page 105: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/105.jpg)
“Make it Work Make it Correct
- Alan Kay
![Page 106: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/106.jpg)
“Make it Work Make it Correct Make it Fast
- Alan Kay
![Page 107: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/107.jpg)
“Make it Work Make it Correct Make it Fast Make it Cheap”
- Alan Kay
![Page 108: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/108.jpg)
![Page 109: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/109.jpg)
![Page 110: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/110.jpg)
![Page 111: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/111.jpg)
![Page 112: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/112.jpg)
![Page 113: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/113.jpg)
You != Unicorn (nor Facebook, Google, Amazon, etc)
![Page 114: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/114.jpg)
“Casa de Ferreiro, Espeto de FERRO!”
![Page 115: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/115.jpg)
![Page 116: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/116.jpg)
• Increase Revenue > Lower Costs
![Page 117: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/117.jpg)
• Increase Revenue > Lower Costs
• “Best of Breed” Open Source
![Page 118: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/118.jpg)
• Increase Revenue > Lower Costs
• “Best of Breed” Open Source
• SaaS > PaaS > IaaS > On-Premise
![Page 119: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/119.jpg)
• Increase Revenue > Lower Costs
• “Best of Breed” Open Source
• SaaS > PaaS > IaaS > On-Premise
• SEO & SEM =~ Astrology
![Page 120: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/120.jpg)
• Increase Revenue > Lower Costs
• “Best of Breed” Open Source
• SaaS > PaaS > IaaS > On-Premise
• SEO & SEM =~ Astrology
• Maintainability > Performance
![Page 121: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/121.jpg)
• Increase Revenue > Lower Costs
• “Best of Breed” Open Source
• SaaS > PaaS > IaaS > On-Premise
• SEO & SEM =~ Astrology
• Maintainability > Performance
• PRIORITIES!!
![Page 122: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/122.jpg)
• Increase Revenue > Lower Costs
• “Best of Breed” Open Source
• SaaS > PaaS > IaaS > On-Premise
• SEO & SEM =~ Astrology
• Maintainability > Performance
• PRIORITIES!!
• No Metrics, No Optimization
![Page 123: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/123.jpg)
• Increase Revenue > Lower Costs
• “Best of Breed” Open Source
• SaaS > PaaS > IaaS > On-Premise
• SEO & SEM =~ Astrology
• Maintainability > Performance
• PRIORITIES!!
• No Metrics, No Optimization
• You != Unicorn
![Page 124: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/124.jpg)
PREMATURE OPTIMIZATION is the Root of all Evil
![Page 125: TDC2016SP - Otimização Prematura: a Raíz de Todo o Mal](https://reader034.vdocuments.com.br/reader034/viewer/2022052606/58cfd5251a28ab13238b4c9d/html5/thumbnails/125.jpg)