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

SparxUp - Growth VS Scalability

on

  • 1,565 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,565
Views on SlideShare
1,472
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 SparxUp - Growth VS Scalability Presentation Transcript

  • Urbanesia Growth VS Scalability Batista R. Harahap tista@urbanesia.com
  • 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)
  • 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
  • FACTS & STATS
  • Growth VS Scalability Kernel/Core Application Application/DB/Storage Separation Caching Urbanesia Optimization Virtualization
  • 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
  • Growth VS Scalability Kernel/Core Application • Reusable UrSpot module in every part of Urbanesia • Load or Unload submodules dynamically if needed
  • Growth VS Scalability Kernel/Core Application • Helpers really helps :) • Speak plainly with CSS classes and id’s, makes debugging a lot easier
  • 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
  • Meet Davinci & Sofvia
  • Meet Davinci & Sofvia
  • Meet Davinci & Sofvia Davinci
  • Meet Davinci & Sofvia Davinci
  • Meet Davinci & Sofvia Davinci Sofvia
  • 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
  • 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
  • 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
  • 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
  • Growth VS Scalability Optimization - Nginx Brought almost 300% increase in Urbanesia static files serving
  • Growth VS Scalability Optimization - GlusterFS • Multi storage server filesystem • Increase speed with more servers • Serves up to petabytes level • Striping is by default
  • 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!
  • THE RESULT
  • Growth VS Scalability RESULT
  • Growth VS Scalability RESULT
  • Growth VS Scalability Batista R. Harahap tista@urbanesia.com Twitter: @tista www.bango29.com