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

More Related Content

PPTX
Cloud - High Availability @ Low Cost - Workshop - Gurpreet ahuja
PPTX
Moving to the Cloud: AWS, Zend, RightScale
PDF
eCommerce Series Part 5 - Enterprise Architecture
PPTX
The BestBuy.com Cloud Architecture
PPTX
Faas With Kata Container
PPTX
Cumminsallison.com
PPTX
Serving Files In Azure
PPTX
How to Build High Performance : WordPress
Cloud - High Availability @ Low Cost - Workshop - Gurpreet ahuja
Moving to the Cloud: AWS, Zend, RightScale
eCommerce Series Part 5 - Enterprise Architecture
The BestBuy.com Cloud Architecture
Faas With Kata Container
Cumminsallison.com
Serving Files In Azure
How to Build High Performance : WordPress

What's hot (18)

PPTX
Aws 12 Month Free Tier for Web Designers and Developers
PDF
WSO2Con USA 2017: Scalable Real-time Complex Event Processing at Uber
PDF
Scalable web architecture
PPTX
In Memory Cahce Structure
PPTX
Preserving the iMIS Upgrade Path
PPT
Performance stack
PPT
Scale out magento 2 at aws
PPTX
SPA vs. MPA
PDF
Annexure 2.3 n tier architecture
PPTX
Nurse couchbase connect 2015
PPTX
Drupal performance
PDF
eCommerce Series Part 3 - Application Deployment
PDF
eCommerce Series Part 4 - Data Center
PPTX
Building a DevOps pipeline for Serverless by using Mocha, GitHub and Travis
PDF
eCommerce Series Part 2 - Cloud Infrastructure
PDF
Red Hat Storage Roadmap
PDF
2019-06-12 aOS Aix Marseille - C4 - Un besoin 10 solutions Azure Fighter - Fé...
PPTX
How to Build a Web Server with AWS Lambda
Aws 12 Month Free Tier for Web Designers and Developers
WSO2Con USA 2017: Scalable Real-time Complex Event Processing at Uber
Scalable web architecture
In Memory Cahce Structure
Preserving the iMIS Upgrade Path
Performance stack
Scale out magento 2 at aws
SPA vs. MPA
Annexure 2.3 n tier architecture
Nurse couchbase connect 2015
Drupal performance
eCommerce Series Part 3 - Application Deployment
eCommerce Series Part 4 - Data Center
Building a DevOps pipeline for Serverless by using Mocha, GitHub and Travis
eCommerce Series Part 2 - Cloud Infrastructure
Red Hat Storage Roadmap
2019-06-12 aOS Aix Marseille - C4 - Un besoin 10 solutions Azure Fighter - Fé...
How to Build a Web Server with AWS Lambda
Ad

Viewers also liked (9)

PPTX
Urbanesia API v1.0
KEY
Startup Kitchen - Bandung Ventures Night 2011
PPTX
Urbanesia - Open Source & Microsoft
PPT
Teknoup - Urbanesia Android
PDF
Lokal ID - Alpha
KEY
Chip Meetup V3 - Android Trends
PDF
Bancakan v5 - Selling Me
PPTX
Urbanesia - Development History
PPTX
Mediafusion - Company Profile
Urbanesia API v1.0
Startup Kitchen - Bandung Ventures Night 2011
Urbanesia - Open Source & Microsoft
Teknoup - Urbanesia Android
Lokal ID - Alpha
Chip Meetup V3 - Android Trends
Bancakan v5 - Selling Me
Urbanesia - Development History
Mediafusion - Company Profile
Ad

Similar to SparxUp - Growth VS Scalability (20)

PPTX
Azure DocumentDB Overview
PPTX
Virtualizing Tier One Applications - Varrow
PPTX
Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...
PPTX
Scalable Resilient Web Services In .Net
PDF
Better, faster, cheaper infrastructure with apache cloud stack and riak cs redux
PPTX
Persistent Storage for Containerized Applications
PPTX
Persistent Storage for Containerized Applications
PPTX
Building SPA’s (Single Page App) with Backbone.js
PDF
A Tale of 2 Systems
PPTX
High Performance Cloud Computing
PPT
2018 jk
PPT
Silicon India Java Conference: Building Scalable Solutions For Commerce Silic...
PPTX
Migrating enterprise workloads to AWS
PPTX
Multi Tenancy In The Cloud
PPT
A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...
PDF
4. (mjk) extreme performance 2
PDF
Rami Sayar - Node microservices with Docker
PDF
Intelligent serverless-streaming-pipeline-using-kinesis-fargate-cfn
PDF
Construindo Aplicacoes Web e Mobile Escalaveis na AWS
PPTX
Sql Start! 2020 - SQL Server Lift & Shift su Azure
Azure DocumentDB Overview
Virtualizing Tier One Applications - Varrow
Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...
Scalable Resilient Web Services In .Net
Better, faster, cheaper infrastructure with apache cloud stack and riak cs redux
Persistent Storage for Containerized Applications
Persistent Storage for Containerized Applications
Building SPA’s (Single Page App) with Backbone.js
A Tale of 2 Systems
High Performance Cloud Computing
2018 jk
Silicon India Java Conference: Building Scalable Solutions For Commerce Silic...
Migrating enterprise workloads to AWS
Multi Tenancy In The Cloud
A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...
4. (mjk) extreme performance 2
Rami Sayar - Node microservices with Docker
Intelligent serverless-streaming-pipeline-using-kinesis-fargate-cfn
Construindo Aplicacoes Web e Mobile Escalaveis na AWS
Sql Start! 2020 - SQL Server Lift & Shift su Azure

Recently uploaded (20)

PDF
Early detection and classification of bone marrow changes in lumbar vertebrae...
PPT
Geologic Time for studying geology for geologist
PDF
Transform-Your-Streaming-Platform-with-AI-Driven-Quality-Engineering.pdf
PPTX
Microsoft Excel 365/2024 Beginner's training
PDF
Accessing-Finance-in-Jordan-MENA 2024 2025.pdf
PDF
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
PDF
Consumable AI The What, Why & How for Small Teams.pdf
PDF
NewMind AI Weekly Chronicles – August ’25 Week IV
PDF
Improvisation in detection of pomegranate leaf disease using transfer learni...
PDF
Five Habits of High-Impact Board Members
PDF
sbt 2.0: go big (Scala Days 2025 edition)
PDF
Comparative analysis of machine learning models for fake news detection in so...
PPTX
Module 1 Introduction to Web Programming .pptx
PDF
A review of recent deep learning applications in wood surface defect identifi...
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PDF
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
PDF
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
PDF
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
PDF
5-Ways-AI-is-Revolutionizing-Telecom-Quality-Engineering.pdf
PDF
4 layer Arch & Reference Arch of IoT.pdf
Early detection and classification of bone marrow changes in lumbar vertebrae...
Geologic Time for studying geology for geologist
Transform-Your-Streaming-Platform-with-AI-Driven-Quality-Engineering.pdf
Microsoft Excel 365/2024 Beginner's training
Accessing-Finance-in-Jordan-MENA 2024 2025.pdf
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
Consumable AI The What, Why & How for Small Teams.pdf
NewMind AI Weekly Chronicles – August ’25 Week IV
Improvisation in detection of pomegranate leaf disease using transfer learni...
Five Habits of High-Impact Board Members
sbt 2.0: go big (Scala Days 2025 edition)
Comparative analysis of machine learning models for fake news detection in so...
Module 1 Introduction to Web Programming .pptx
A review of recent deep learning applications in wood surface defect identifi...
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
5-Ways-AI-is-Revolutionizing-Telecom-Quality-Engineering.pdf
4 layer Arch & Reference Arch of IoT.pdf

SparxUp - Growth VS Scalability

  • 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
  • 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!
  • 25. Growth VS Scalability Batista R. Harahap [email protected] Twitter: @tista www.bango29.com