137
PREMATURE OPTIMIZATION The Root of ALL Evil @akitaonrails

DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

Embed Size (px)

Citation preview

Page 1: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

PREMATUREOPTIMIZATION

The Root of ALL Evil

@akitaonrails

Page 2: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

@akitaonrails

Page 3: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 4: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 5: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 6: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 7: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

Rubyconf Brasil 2016 – September 23 - 24

Page 8: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

Rubyconf Brasil 2016 – September 23 - 24

Page 9: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

September

23 - 24 @rubyconfbr

Page 10: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 11: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

“Premature Optimization is the Root of All Evil”

- Don Knuth

Page 12: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 13: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 14: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

SPA e-commerce

Page 15: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 16: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

SPA e-commerce http://www.loja.com.br/#!/produtos/item-001

Page 17: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

SPA e-commerce http://www.loja.com.br/#!/produtos/item-001

http://www.loja.com.br/?_escaped_fragment_=/produtos/item-001

Page 18: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

High Level Numbers

Page 19: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

Client #1

Page 20: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 21: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 22: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 23: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 24: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

$ 4,000

Page 25: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

$ 4,000 ($ 7 MI/yr revenue - 0.68%)

Page 26: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

Client #2

Page 27: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 28: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 29: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 30: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

$ 100,000+

Page 31: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

$ 100,000+ ($ 800 MI/yr revenue - 0.15%)

Page 32: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 33: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• Minimum IT Cost:

Page 34: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• Minimum IT Cost:

• USD 1000 - Cloud Services

Page 35: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• Minimum IT Cost:

• USD 1000 - Cloud Services

• USD 3000 - 1 Developer

Page 36: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• Minimum IT Cost:

• USD 1000 - Cloud Services

• USD 3000 - 1 Developer

• USD 4000 - 1 “Responsible” (Manager, Marketing, etc)

Page 37: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• 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 38: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• 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 39: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• 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 40: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• 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 41: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 42: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

Increase Revenue >

Lower Costs

Page 43: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 44: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

Open > Proprietary (prefer “Best of Breed”)

Page 45: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 46: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

Cloud > On-Premise (Infrastructure/Platform as a Service)

Page 47: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 48: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 49: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 50: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 51: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 52: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 53: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

SaaS > IaaS (avoid doing yourself)

Page 54: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 55: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 56: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

SEO & SEM (should not be Astrology!)

Page 57: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 58: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• /do/you/have/friendly/urls?

Page 59: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• /do/you/have/friendly/urls?

• sitemap.xml?

Page 60: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• /do/you/have/friendly/urls?

• sitemap.xml?

• Proper HTTP 301 Redirections?

Page 61: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• /do/you/have/friendly/urls?

• sitemap.xml?

• Proper HTTP 301 Redirections?

• Social Network buttons?

Page 62: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• /do/you/have/friendly/urls?

• sitemap.xml?

• Proper HTTP 301 Redirections?

• Social Network buttons?

• Periodic ORIGINAL CONTENT publishing?

Page 63: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• /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 64: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• /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 65: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 66: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

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 67: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 68: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 69: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

y = x * 320

Page 70: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

y = x * 320

y = (x << 8) + (x << 6)

Page 71: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 72: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• NO Test Suite with below 70% coverage

Page 73: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• NO Test Suite with below 70% coverage

• NO CodeClimate below 3.0 rating

Page 74: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• NO Test Suite with below 70% coverage

• NO CodeClimate below 3.0 rating

• NO source code file with hundreds of LOC

Page 75: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• 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 76: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• 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 77: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• 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 78: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• 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 79: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 80: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

Spree: 68k LOC 40k are Specs! (60%)

Page 81: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

Magento2: 300k LOC 127k are Specs! (< 30%)

Page 82: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 83: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 84: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 85: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

Maintainability

> Performance

Page 86: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 87: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 88: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

PRIORITIES!

Page 89: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 90: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 91: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 92: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 93: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 94: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 95: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 96: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• SQL N+1 Queries

Page 97: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• SQL N+1 Queries

• Too much SQL

Page 98: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• SQL N+1 Queries

• Too much SQL

• Too much SQL LIKE instead of Elastic

Page 99: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• SQL N+1 Queries

• Too much SQL

• Too much SQL LIKE instead of Elastic

• Lack of proper SQL indexes

Page 100: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• 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 101: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• 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 102: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• 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 103: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

No Metrics No Optimization

Page 104: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

- Alan Kay

Page 105: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

“Make it Work

- Alan Kay

Page 106: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

“Make it Work Make it Correct

- Alan Kay

Page 107: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

“Make it Work Make it Correct Make it Fast

- Alan Kay

Page 108: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

“Make it Work Make it Correct Make it Fast Make it Cheap”

- Alan Kay

Page 109: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 110: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 111: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 112: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 113: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 114: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

You != Unicorn (nor Facebook, Google, Amazon, etc)

Page 115: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 116: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 117: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 118: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 119: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 120: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 121: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

275k Merchants $ 72 Mi - Q1 2016 Founded: 2004, with Rails pre-1.0

Page 122: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 123: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

Rails works because it didn’t have Facebook,

Google or Microsoft

Page 124: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

“Casa de Ferreiro, Espeto de FERRO!”

Page 125: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 126: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• Increase Revenue > Lower Costs

Page 127: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• Increase Revenue > Lower Costs

• “Best of Breed” Open Source

Page 128: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• Increase Revenue > Lower Costs

• “Best of Breed” Open Source

• SaaS > PaaS > IaaS > On-Premise

Page 129: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• Increase Revenue > Lower Costs

• “Best of Breed” Open Source

• SaaS > PaaS > IaaS > On-Premise

• SEO & SEM =~ Astrology

Page 130: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• Increase Revenue > Lower Costs

• “Best of Breed” Open Source

• SaaS > PaaS > IaaS > On-Premise

• SEO & SEM =~ Astrology

• Maintainability > Performance

Page 131: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• Increase Revenue > Lower Costs

• “Best of Breed” Open Source

• SaaS > PaaS > IaaS > On-Premise

• SEO & SEM =~ Astrology

• Maintainability > Performance

• PRIORITIES!!

Page 132: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• 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 133: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

• 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 134: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

PREMATURE OPTIMIZATION is the Root of all Evil

Page 135: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 136: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais
Page 137: DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais

THANKS!www.codeminer42.com

@akitaonrails