Jim Benedetto Startonomics LA

1,491 views

Published on

Jim Benedetto on "Scaling for the Masses" at Dealmaker Media's Startonomics LA Conference on Feb 6/09

Published in: Technology, Business
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,491
On SlideShare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
9
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Jim Benedetto Startonomics LA

  1. 1. Moving out of the Garage Scaling for Startups AKA why scaling is fun
  2. 2. Why are you here? <ul><li>I want to conquer an incredibly technically challenging problem that no one has solved </li></ul><ul><ul><li>Others have attempted to solve it and failed (or succeeded but I can do it better) </li></ul></ul><ul><ul><li>I see something that no one has tried to solve </li></ul></ul><ul><li>I want to build a business possibly based on technology that fills a gap in the market </li></ul><ul><ul><li>Technology is core, product is centric </li></ul></ul><ul><li>I want to leverage technology to build a non tech based revenue generating business </li></ul><ul><ul><li>Technology is awesome, and it is going to support my business. </li></ul></ul>
  3. 3. The Path
  4. 4. Day 1: aka the last easy day of your life (or at least for a while)
  5. 5. G2
  6. 6. Day X
  7. 7. myspace.com : a place for moving 0-20M active users in 2 years 0-100M active users in 4 years
  8. 8. Laying Foundations <ul><li>Lay groundwork to prepare for 3 critical growth phases </li></ul><ul><ul><li>Scaling the technology </li></ul></ul><ul><ul><li>Scaling the team </li></ul></ul><ul><ul><li>Scaling the revenues/efficiency </li></ul></ul><ul><li>Decisions made in first 90 days create lasting impressions that can be felt for years </li></ul>
  9. 9. Scaling the Technology <ul><li>Scale up vs. scale out is no longer a question </li></ul><ul><ul><li>Unless you just founded a bank, don’t scale up  </li></ul></ul><ul><li>Partition Data </li></ul><ul><ul><li>Decide early on, and make the right decision </li></ul></ul><ul><ul><ul><li>Range Based </li></ul></ul></ul><ul><ul><ul><li>Mod Based </li></ul></ul></ul><ul><ul><ul><li>Mod’ed Ranges (if I had to do it over) </li></ul></ul></ul><ul><li>Concentrate on write management </li></ul>
  10. 10. Scaling the Technology <ul><li>Don’t solve problems you don’t have </li></ul><ul><ul><li>Reuse as many existing solutions as possible </li></ul></ul><ul><ul><li>What are your goals? </li></ul></ul><ul><ul><ul><li>Make $$? </li></ul></ul></ul><ul><ul><ul><li>Build Cool Technology? </li></ul></ul></ul><ul><ul><ul><li>Both? </li></ul></ul></ul><ul><li>Fail Fast </li></ul><ul><ul><li>Admit failure </li></ul></ul><ul><li>Don’t Double Down on bad decisions </li></ul><ul><ul><li>Walk away from failure </li></ul></ul>
  11. 11. Infrastructure Decisions <ul><li>Leverage existing publically </li></ul><ul><li>available scaling solutions </li></ul><ul><ul><li>Replication </li></ul></ul><ul><ul><li>Sharding </li></ul></ul><ul><ul><li>Memcache </li></ul></ul><ul><ul><li>Hardware loadbalancers </li></ul></ul><ul><ul><li>NAS/SAN </li></ul></ul><ul><li>Leverage public solutions when possible, when not develop proprietary internal scaling solutions </li></ul><ul><ul><li>Myspace DFS </li></ul></ul><ul><ul><li>MyCache </li></ul></ul><ul><ul><li>Transaction Manager </li></ul></ul><ul><ul><li>Dspace map/reduce </li></ul></ul><ul><li>Leverage public and internal solutions </li></ul><ul><ul><li>Without negatively impacting developer productivity </li></ul></ul><ul><ul><li>Without wasting time </li></ul></ul><ul><ul><li>Without wasting money </li></ul></ul>Easiest Harder Most Difficult
  12. 12. Decouple the User from the Authoritative Disks Reading Writing Cache Queue Authoritative Primary Arrays Overflow Overflow Relational Data Store Flat Data Store SAN/NAS Virtualization Layer
  13. 13. Decouple the User from the Authoritative Disks Reading Writing Cache Queue Authoritative Primary Arrays Overflow Overflow Relational Data Store Flat Data Store SAN/NAS Virtualization Layer
  14. 14. Decouple the User from the Authoritative Disks Reading Writing Cache Queue Authoritative Primary Arrays Overflow Overflow Relational Data Store Flat Data Store SAN/NAS Virtualization Layer
  15. 15. Range Partitions Users 0 -1 Million Users 1-2 Million Users 2–3 Million New User Pipe <ul><li>Infinitely Scalable </li></ul><ul><li>Newest Ranges Create Hot Spots </li></ul>
  16. 16. Mod Partitions Mod 1 Mod 2 Mod 3 New User Pipe <ul><li>Eliminates Hot Spots </li></ul><ul><li>Difficult to add new hardware </li></ul><ul><ul><li>Scalable only to a certain point </li></ul></ul>
  17. 17. Mod/Range Combo Partitioning Users 0 – 1 Million / Mod 1 New User Pipe Users 0 – 1 Million / Mod 2 Users 0 – 1 Million / Mod 3 Users 1 – 2 Million / Mod 1 Users 1 – 2 Million / Mod 2 Users 1 – 2 Million / Mod 3 <ul><li>Eliminates Hot Spots </li></ul><ul><li>Infinitely Scalable </li></ul><ul><li>Adding additional hardware is easy </li></ul>
  18. 18. Scaling the Organization <ul><li>The first 25 people you hire will define the success of your company </li></ul><ul><ul><li>Don’t hire fast, hire smart </li></ul></ul><ul><li>Manage your burn, not your timeframe </li></ul><ul><ul><li>Do you have competitors trying to do the same? </li></ul></ul><ul><ul><li>Are you second to market? </li></ul></ul><ul><ul><ul><li>Sprint </li></ul></ul></ul><ul><ul><li>Is it new? Is no one else thinking about this? </li></ul></ul><ul><ul><ul><li>Marathon </li></ul></ul></ul><ul><li>Be smart about your stealth phase </li></ul><ul><ul><li>Countless failures from coming out to early </li></ul></ul><ul><ul><li>Countless failures from coming out to late </li></ul></ul>
  19. 19. We Want To Code
  20. 20. Scaling the Organization <ul><li>#1 Priority – Minimize ramp time </li></ul><ul><ul><li>Counterpart to technology’s “fail fast” </li></ul></ul><ul><li>Abstract core technologies from front end development groups </li></ul><ul><ul><li>Data Access Layer </li></ul></ul><ul><ul><li>Cache </li></ul></ul><ul><ul><li>Queues </li></ul></ul><ul><ul><li>Etc. </li></ul></ul><ul><li>Create vertical product partitions with horizontal skillset partitions </li></ul>
  21. 21. Scaling Profit <ul><li>Technology is a cost center </li></ul><ul><ul><li>Manage profit by managing expenses </li></ul></ul><ul><li>Bucket Scaling Model </li></ul><ul><li>Calculate yearly cost of user </li></ul><ul><ul><li>Inverse LUV </li></ul></ul><ul><li>Use commodity gear </li></ul><ul><ul><li>No SAN/NAS unless absolutely necessary </li></ul></ul><ul><li>Leverage CDN </li></ul><ul><li>The Cloud? </li></ul>
  22. 22. True? False?
  23. 23. True? False?
  24. 24. The Cloud <ul><li>I love a good buzzword </li></ul><ul><ul><li>Cloud Computing </li></ul></ul><ul><ul><li>Economies of scale? </li></ul></ul><ul><ul><li>Little to no SLA. Now you own my data </li></ul></ul><ul><li>Consumers eat the cloud </li></ul><ul><ul><li>Email (circa…how long ago?) </li></ul></ul><ul><ul><li>Photos </li></ul></ul><ul><ul><li>Interests </li></ul></ul><ul><li>The cloud has existed for consumers for the last 15 years </li></ul><ul><li>As a business, unless you are doing something that requires huge volatile processing power, rent your servers. </li></ul><ul><li>Don’t handshake your data </li></ul><ul><ul><li>Your business is your data </li></ul></ul><ul><li>Build your own cloud </li></ul><ul><ul><li>GlusterFS </li></ul></ul><ul><ul><li>MaxiScale </li></ul></ul>
  25. 25. Questions?

×