Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Jim Benedetto

452 views

Published on

  • Be the first to comment

  • Be the first to like this

Jim Benedetto

  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?

×