SparxUp - Growth VS Scalability
Upcoming SlideShare
Loading in...5
×
 

SparxUp - Growth VS Scalability

on

  • 1,581 views

A presentation for SparxUp's workshop session at IDS, Epicentrum - 25 September 2010.

A presentation for SparxUp's workshop session at IDS, Epicentrum - 25 September 2010.

Statistics

Views

Total Views
1,581
Views on SlideShare
1,488
Embed Views
93

Actions

Likes
0
Downloads
30
Comments
0

3 Embeds 93

http://www.bango29.com 74
http://coderwall.com 16
http://www.linkedin.com 3

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />

SparxUp - Growth VS Scalability Presentation Transcript

  • 1. Urbanesia Growth VS Scalability Batista R. Harahap tista@urbanesia.com
  • 2. URBANESIA? • Lifestyle City Directory • Over than 220.000 POIs in Jakarta • Over than 160 millions search results • Over than 6 millions “what & where” search keywords • It’s all about Reviews (More Data to handle)
  • 3. FACTS & STATS • The keywords with the highest number of search results is “toko baju di itc mangga dua” >>> OF COURSE lol • More than any other keywords, people search frequently for “Restoran” and “Hotel” • “Grand Indonesia” and “Senayan City” is the two most searched malls
  • 4. FACTS & STATS
  • 5. Growth VS Scalability Kernel/Core Application Application/DB/Storage Separation Caching Urbanesia Optimization Virtualization
  • 6. Growth VS Scalability Kernel/Core Application • KISS (Keep It SIMPLE & SLIM) • Extend REUSABILITY through modules and object oriented programming techniques • Centralized API approach to serve data • Use Database only for Data • Use or create an MVC (Models, Views & Controllers) where applicable • Best practices everywhere, better to have headaches at the beginning then throughout the lifetime
  • 7. Growth VS Scalability Kernel/Core Application • Reusable UrSpot module in every part of Urbanesia • Load or Unload submodules dynamically if needed
  • 8. Growth VS Scalability Kernel/Core Application • Helpers really helps :) • Speak plainly with CSS classes and id’s, makes debugging a lot easier
  • 9. Growth VS Scalability Application/DB/Storage Separation • Partition main areas of the Infrastructure • Decide based on needs and predicted growth of each partition • Isolate problems if any to each partitions • Prepare partitions to be separated easily from a single server to multiple servers • Optimize optimize and optimize based on each partition’s performance
  • 10. Meet Davinci & Sofvia
  • 11. Meet Davinci & Sofvia
  • 12. Meet Davinci & Sofvia Davinci
  • 13. Meet Davinci & Sofvia Davinci
  • 14. Meet Davinci & Sofvia Davinci Sofvia
  • 15. Growth VS Scalability Caching • Design Asynchronous architecture to handle multiple instances easily • Don’t let your application do the same thing over and over, cache everywhere if applicable • Design access to apache/httpd to be the last resort, save cpu cycles • Memcache and Squid is used for caching on app servers • Nginx is used as a Reverse Proxy Load Balancer • Static Files from dynamic contents
  • 16. Growth VS Scalability Caching • A redundant application Memcache #1 Memcache #2 feature turned into GOLD • Increase redundancy and App Server let memcache requests be served by multiple instances • Different parts of the Memcache #3 application uses different Memcache server
  • 17. Growth VS Scalability Caching Nginx • Nginx handle request asynchronously by design Static Content Dynamic Content • Cache Cache Static and Dynamic Content cached by Nginx • Apache/httpd Minimize apache cpu cycles, use dynamically generated static files Application and flag renewals by application triggers Memcache Static Files MySQL
  • 18. Growth VS Scalability Optimization - Application • Access database only as a last resort, use Memcache and dynamically generated static files instead • Keep Models, Views and Controller exactly why they’re named MVC • Minify static text contents (CSS, JavaScript & HTML) • Optimize MySQL queries • Properly index MySQL tables • Use MySQL Slow Query Log to pin point potential optimizations • Realtime serving is overrated - cron where applicable
  • 19. Growth VS Scalability Optimization - Nginx Brought almost 300% increase in Urbanesia static files serving
  • 20. Growth VS Scalability Optimization - GlusterFS • Multi storage server filesystem • Increase speed with more servers • Serves up to petabytes level • Striping is by default
  • 21. Growth VS Scalability Virtualization • Virtualization is NOT expensive, hardware is • Citrix XenServer is an Entry Level Virtualization Platform • Virtualize utility servers • Use templates for multiple server types • Instant deployment of VMs • Save rack space!
  • 22. THE RESULT
  • 23. Growth VS Scalability RESULT
  • 24. Growth VS Scalability RESULT
  • 25. Growth VS Scalability Batista R. Harahap tista@urbanesia.com Twitter: @tista www.bango29.com