Scalability for Startups (Frank Mashraqi, Startonomics SF 2008)

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    7 Favorites

    Scalability for Startups (Frank Mashraqi, Startonomics SF 2008) - Presentation Transcript

    1. Startup Scalability Strategies Frank Mashraqi
    2. Hello!
    3. Agenda
      • Keeping score: What to measure?
      • Discerning the difference: What to focus on?
      • Finding your path: Which way to go?
      • Choosing your architecture: How to partition?
      • Walking the line: How to balance?
      • Building your team: Who to hire?
      • Thinking ahead: What about the future?
      • Offloading scalability: Is it for me?
    4. Keeping Score: What to Measure? client response time memory utilization throughput cache utilization reads per second thread thrashing disk utilization disk response time failure rates resource utilization IO wait swap utilization
        • cache prunes
      threshold exceptions exceeding high or low water marks
        • cache hit ratio
      writes per second threads created transactions per second connections usage distribution of data disk saturation locking statistics growth rate queries per shard threads running CPU Saturation memory/ IO contention connections per shard
      • Performance !=
      • High Availability !=
      • Scalability
      • Performance
      Ability to process or execute a task compared to time and resources used
      • High Availability
      Ability of a system to ensure a certain degree of operational continuity flickr.com/photos/mag3737
      • Scalability
      Ability to handle growing amounts of traffic in a graceful manner or ability to be readily enlarged : freefoto.ca/key/viewpoint?g2_itemId=7348
    5. Pick any two!!
      • C onsistency
      • A vailability
      • P artition-Tolerance
        • Choose if you don’t care about 24/7 availability or accommodating high traffic.
        • Choose for a site that must be available 24/7
        • Choose for a high traffic website
    6. Vertical or Horizontal?
      • Vertical
      • Aka Scaling up
      • Adding resources to a node
        • Getting a bigger server
        • Using faster CPUs
      • Twice as fast servers can be more than twice expensive
      • Horizontal
      • Aka Scaling out
      • Adding more nodes
      • Cost efficient
        • Commodity hardware
        • increased management complexity
      • “ more complex” programming model
        • Right foundation
      • Throughput and latency between nodes
    7. How to Partition?
      • Functional Partitioning
      • Key based partitioning
        • (users ending in 01 go to server 1)
      • Range based partitioning
        • (records ranging from 2M to 4M go to server 8)
      • Directory server based partitioning
        • (no pre-defined partitioning scheme, instead a lookup is required)
    8. How to balance?
      • Balance is easier if the foundation is right
      • Use agile methodologies
      • Technical debt is expensive
      • Technical mortgage is a KILLER!
    9. Before and After
      • What to do before you get big?
        • Lay the right foundation
        • Ability to Shard / Partition
        • Decouple components
        • Effectively cache
        • Have a plan in place
      • What can wait after things start to grow?
        • Now focus on micro optimizations
        • Acquiring and upgrading hardware
        • Performance optimizations and OS tuning
        • Implementing High Availability and Disaster recovery
        • Use CDN
    10. What skills / hires are most crucial to dealing with scalability?
    11. Best Practices
      • Go Asynchronous
      • Go Stateless
      • “ Best IO is No IO”
        • Cache effectively using shared cache and monitor utilization
      • Decouple as much as possible
      • Build using APIs
        • Easy to scale development and deployment and open up your service
      • Virtualize/Abstract everything
    12. How to blow up?
    13. Can scalability be outsourced? aka Can Cloud fix Twitter?
      • Amazon
      • Google AppEngine
      • Rackspace
      • AppNexus
      • 10Gen
      • Other providers?
    14. Things to take away
      • Focus on scalability, the rest will follow
      • Horizontal is better, Vertical is costly
      • Go Asynchronous
      • Architect so you don’t have to re-architect
      • Choose two out of Consistency, Availability and Partition-Tolerance
      • Measure utilization first, then performance
      • Choose the right infrastructure & invest in right skills
    15. Appendix
      • Notes/Tips: http://mashraqi.com/2008/09/startonomics-startup-scalability.html
      • Personal blog: http://mashraqi.com
      • Twitter: http://twitter.com/mashraqi
      • MySQL Blog: http://mysqldatabaseadministration.blogspot.com
      • Email: fmashraqi@yahoo.com

    + StartonomicsStartonomics, 2 years ago

    custom

    1577 views, 7 favs, 3 embeds more stats

    Presentation by Frank Mashraqi on how to plan (but more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1577
      • 1428 on SlideShare
      • 149 from embeds
    • Comments 0
    • Favorites 7
    • Downloads 93
    Most viewed embeds
    • 132 views on http://startonomics.com
    • 11 views on http://500hats.typepad.com
    • 6 views on http://blog.slideshare.net

    more

    All embeds
    • 132 views on http://startonomics.com
    • 11 views on http://500hats.typepad.com
    • 6 views on http://blog.slideshare.net

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories