Scaling Tech in Asia

Lester Chan
Lester ChanThe Tech Guy at Tech in Asia
Scaling Tech in Asia
How we scaled Tech in Asia
About Me
• WordPress Plugins Developer
– Since 2003
– Created > 22 plugins
• wp-pagenavi, wp-polls, wp-postratings, wp-postviews,
wp-dbmanager, etc
• http://profiles.wordpress.org/gamerz
• Tech Guy in Tech in Asia
– Started officially on 1st September 2014
– We are still hiring
Lester Chan (@gamerz) [ 2 ]
Timeline
• July 2014
– Willis approached me to join Tech in Asia and
expand the engineering team
• August 2014
– Hired an awesome engineer, Li Soon
– Both of us started work to scale Tech in Asia
Lester Chan (@gamerz) [ 3 ]
Previous Servers
• Previous
– Digital Ocean
• 1 server
• 32 GB/12 CPUS, 320 GB SSD Disk and 7TB transfer
• US$320/month
• Crashed when we have about 500 users online at the
same time
Lester Chan (@gamerz) [ 4 ]
Current Servers
• Current
– SoftLayer
• Catalyst Startup Program
• USD$10,000 credits per month
• 5 Bare Metal Servers
– 1x Load Balancer
– 3x Web Servers
– 2x Database Server
– 1x Ops Server
• Highest recorded users online is 2,734
Lester Chan (@gamerz) [ 5 ]
Monitoring
• Graphite
– Push based
• Grafana
– Front-end for Graphite
• collectd
– data-collecting daemon
– network, cpu, load, etc
Lester Chan (@gamerz) [ 6 ]
User Uploaded Files
• /wp-content/uploads
– File uploads are stored here
• GlusterFS
– Write once, read everywhere
• Distributed architecture for syncing files
• Avoids a single point of failure (i.e. NAS)
Lester Chan (@gamerz) [ 7 ]
WordPress
• Moved WordPress to a folder /core/
– Prevent automated attacks
– /core/ is a git checkout of WordPress
• HTTPS
– Encrypts sensitive data between computers
– Prevents man in the middle attacks
– Ranking boost in Google SEO
Lester Chan (@gamerz) [ 8 ]
Cleaning Up Plugins
• Removed 48 plugins
– From 83 plugins to 35 plugins
• Some plugins are poorly coded
– No uninstall.php
• Manually removed plugin options from wp_options
table
– Remove meta
• Comment
• Post
• User
Lester Chan (@gamerz) [ 9 ]
CDN
• Previous
– EdgeCast
• Horrible UI/UX admin interface
• No free shared SSL cert
• Current
– MaxCDN
• Free for us
• YC Deal
Lester Chan (@gamerz) [ 10 ]
Redesigning Theme
• The TiA theme was poorly coded
– No proper use of WordPress API
– Unnecessary SQL queries all over the place
– Not minifying CSS/JS
– Unused features still in code
Lester Chan (@gamerz) [ 11 ]
Redesigning Theme
• Rewrote the theme from scratch
– Removed unused or unnecessary features
– Use of SVG and Font Icons
– Flatter UI
– CSS/JS more efficient
• Combine + Minify
– Caching
Lester Chan (@gamerz) [ 12 ]
Web Stack
• Previous
– Apache
– PHP
– MySQL
• Current
– nginx
– HHVM
– MariaDB
Lester Chan (@gamerz) [ 13 ]
Summary
• Moving Servers
• Cleaning up WordPress Plugins
• Redesigning theme
• Changing our web stack
Lester Chan (@gamerz) [ 14 ]
Questions?
• Any questions?
• You can also find me at
– Blog: https://lesterchan.net
– Twitter: @gamerz
– Facebook: https://fb.com/lesterchan
– Instagram: @gamerz
Lester Chan (@gamerz) [ 15 ]
1 of 15

Recommended

Moving Beyond WordPress At Tech in Asia by
Moving Beyond WordPress At Tech in AsiaMoving Beyond WordPress At Tech in Asia
Moving Beyond WordPress At Tech in AsiaLester Chan
549 views31 slides
WP-ShowHide by
WP-ShowHideWP-ShowHide
WP-ShowHideLester Chan
1.7K views10 slides
Novmeber 2015 WordPress News 'n' Stuff by
Novmeber 2015 WordPress News 'n' StuffNovmeber 2015 WordPress News 'n' Stuff
Novmeber 2015 WordPress News 'n' StuffWordPress Sydney
293 views9 slides
After the LAMP, it's time to get MEAN by
After the LAMP, it's time to get MEANAfter the LAMP, it's time to get MEAN
After the LAMP, it's time to get MEANJeff Fox
751 views53 slides
Being With Rails App For 3 Years by
Being With Rails App For 3 YearsBeing With Rails App For 3 Years
Being With Rails App For 3 Yearsdeeeki
1K views55 slides
Moving from PHP to a nodejs full stack CMS by
Moving from PHP to a nodejs full stack CMSMoving from PHP to a nodejs full stack CMS
Moving from PHP to a nodejs full stack CMSMake & Build
3K views21 slides

More Related Content

What's hot

Semantic web conference_integration by
Semantic web conference_integrationSemantic web conference_integration
Semantic web conference_integrationSTI Innsbruck
450 views10 slides
Migration from ASP.NET MVC to ASP.NET Core by
Migration from ASP.NET MVC to ASP.NET CoreMigration from ASP.NET MVC to ASP.NET Core
Migration from ASP.NET MVC to ASP.NET CoreMiroslav Popovic
356 views31 slides
Semantic technology formats by
Semantic technology formatsSemantic technology formats
Semantic technology formatsSTI Innsbruck
377 views6 slides
GlueCon 2015 - Publish your SQL data as web APIs by
GlueCon 2015 - Publish your SQL data as web APIsGlueCon 2015 - Publish your SQL data as web APIs
GlueCon 2015 - Publish your SQL data as web APIsRestlet
1.3K views34 slides
Tech Stack Ideas by
Tech Stack IdeasTech Stack Ideas
Tech Stack Ideasnsclark
3.5K views20 slides
Create Salesforce online IDE in 30 minutes by
Create Salesforce online IDE in 30 minutesCreate Salesforce online IDE in 30 minutes
Create Salesforce online IDE in 30 minutesJitendra Zaa
17.7K views22 slides

What's hot(20)

Semantic web conference_integration by STI Innsbruck
Semantic web conference_integrationSemantic web conference_integration
Semantic web conference_integration
STI Innsbruck450 views
Migration from ASP.NET MVC to ASP.NET Core by Miroslav Popovic
Migration from ASP.NET MVC to ASP.NET CoreMigration from ASP.NET MVC to ASP.NET Core
Migration from ASP.NET MVC to ASP.NET Core
Miroslav Popovic356 views
Semantic technology formats by STI Innsbruck
Semantic technology formatsSemantic technology formats
Semantic technology formats
STI Innsbruck377 views
GlueCon 2015 - Publish your SQL data as web APIs by Restlet
GlueCon 2015 - Publish your SQL data as web APIsGlueCon 2015 - Publish your SQL data as web APIs
GlueCon 2015 - Publish your SQL data as web APIs
Restlet1.3K views
Tech Stack Ideas by nsclark
Tech Stack IdeasTech Stack Ideas
Tech Stack Ideas
nsclark3.5K views
Create Salesforce online IDE in 30 minutes by Jitendra Zaa
Create Salesforce online IDE in 30 minutesCreate Salesforce online IDE in 30 minutes
Create Salesforce online IDE in 30 minutes
Jitendra Zaa17.7K views
Omeka: Open Archives and Exhibits for Anyone by Jeremy Boggs
Omeka: Open Archives and Exhibits for AnyoneOmeka: Open Archives and Exhibits for Anyone
Omeka: Open Archives and Exhibits for Anyone
Jeremy Boggs1.4K views
WordPress as a Service by Andrew Bauer
WordPress as a ServiceWordPress as a Service
WordPress as a Service
Andrew Bauer3.9K views
Translate word press to your language by mbigul
Translate word press to your languageTranslate word press to your language
Translate word press to your language
mbigul527 views
Using JavaScript Libraries like D3.js with WordPress by John Cook
Using JavaScript Libraries like D3.js with WordPressUsing JavaScript Libraries like D3.js with WordPress
Using JavaScript Libraries like D3.js with WordPress
John Cook918 views
UPenn on Rails intro by Mat Schaffer
UPenn on Rails introUPenn on Rails intro
UPenn on Rails intro
Mat Schaffer823 views
Salesforce winter 16 release by Jitendra Zaa
Salesforce winter 16 releaseSalesforce winter 16 release
Salesforce winter 16 release
Jitendra Zaa1.2K views
Debugging WordPress by Mario Peshev
Debugging WordPressDebugging WordPress
Debugging WordPress
Mario Peshev1.7K views
Rapid development with Rails by Yi-Ting Cheng
Rapid development with RailsRapid development with Rails
Rapid development with Rails
Yi-Ting Cheng2.2K views

Similar to Scaling Tech in Asia

Tips & Tricks in securing your WordPress installation by
Tips & Tricks in securing your WordPress installationTips & Tricks in securing your WordPress installation
Tips & Tricks in securing your WordPress installationLester Chan
771 views18 slides
Securing Your WordPress Installation by
Securing Your WordPress InstallationSecuring Your WordPress Installation
Securing Your WordPress InstallationLester Chan
939 views17 slides
WordPress intro by
WordPress introWordPress intro
WordPress introdbnorth
413 views36 slides
Demystifying WordPress by
Demystifying WordPressDemystifying WordPress
Demystifying WordPressMykl Roventine
776 views117 slides
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either! by
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!Teamstudio
2.9K views81 slides
SPSRI - Who Moved My SharePoint (to 2013) by
SPSRI - Who Moved My SharePoint (to 2013)SPSRI - Who Moved My SharePoint (to 2013)
SPSRI - Who Moved My SharePoint (to 2013)Theresa Lubelski
772 views41 slides

Similar to Scaling Tech in Asia(20)

Tips & Tricks in securing your WordPress installation by Lester Chan
Tips & Tricks in securing your WordPress installationTips & Tricks in securing your WordPress installation
Tips & Tricks in securing your WordPress installation
Lester Chan771 views
Securing Your WordPress Installation by Lester Chan
Securing Your WordPress InstallationSecuring Your WordPress Installation
Securing Your WordPress Installation
Lester Chan939 views
WordPress intro by dbnorth
WordPress introWordPress intro
WordPress intro
dbnorth413 views
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either! by Teamstudio
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!
Teamstudio2.9K views
SPSRI - Who Moved My SharePoint (to 2013) by Theresa Lubelski
SPSRI - Who Moved My SharePoint (to 2013)SPSRI - Who Moved My SharePoint (to 2013)
SPSRI - Who Moved My SharePoint (to 2013)
Theresa Lubelski772 views
Заполучили права администратора домена? Игра еще не окончена by Positive Hack Days
Заполучили права администратора домена? Игра еще не оконченаЗаполучили права администратора домена? Игра еще не окончена
Заполучили права администратора домена? Игра еще не окончена
Positive Hack Days475 views
WordCamp Boston WordPress plugins-8-2014 by The Toolbox, Inc.
WordCamp Boston WordPress plugins-8-2014WordCamp Boston WordPress plugins-8-2014
WordCamp Boston WordPress plugins-8-2014
The Toolbox, Inc.1.4K views
Wei's Self Intro by sunmast
Wei's Self IntroWei's Self Intro
Wei's Self Intro
sunmast256 views
Our Journey to Infrastructure as Code by Paula Thrasher
Our Journey to Infrastructure as CodeOur Journey to Infrastructure as Code
Our Journey to Infrastructure as Code
Paula Thrasher97 views
Implementing Azure Active Directory Connect and more by Jason Himmelstein
Implementing Azure Active Directory Connect and moreImplementing Azure Active Directory Connect and more
Implementing Azure Active Directory Connect and more
O365Con19 - Tips and Tricks for Complex Migrations to SharePoint Online - And... by NCCOMMS
O365Con19 - Tips and Tricks for Complex Migrations to SharePoint Online - And...O365Con19 - Tips and Tricks for Complex Migrations to SharePoint Online - And...
O365Con19 - Tips and Tricks for Complex Migrations to SharePoint Online - And...
NCCOMMS301 views
Tips and tricks for complex migrations to SharePoint Online by Andries den Haan
Tips and tricks for complex migrations to SharePoint OnlineTips and tricks for complex migrations to SharePoint Online
Tips and tricks for complex migrations to SharePoint Online
Andries den Haan435 views
Tips and tricks for complex migrations to SharePoint Online by Andries den Haan
Tips and tricks for complex migrations to SharePoint OnlineTips and tricks for complex migrations to SharePoint Online
Tips and tricks for complex migrations to SharePoint Online
Andries den Haan141 views
Webinar 2017. Supercharge your analytics with ClickHouse. Alexander Zaitsev by Altinity Ltd
Webinar 2017. Supercharge your analytics with ClickHouse. Alexander ZaitsevWebinar 2017. Supercharge your analytics with ClickHouse. Alexander Zaitsev
Webinar 2017. Supercharge your analytics with ClickHouse. Alexander Zaitsev
Altinity Ltd1.7K views
Static Site Generators - Developing Websites in Low-resource Condition by IWMW
Static Site Generators - Developing Websites in Low-resource ConditionStatic Site Generators - Developing Websites in Low-resource Condition
Static Site Generators - Developing Websites in Low-resource Condition
IWMW 253 views
How Atrium Health Implemented and Governs Office 365 by Kelly Jones
How Atrium Health Implemented and Governs Office 365How Atrium Health Implemented and Governs Office 365
How Atrium Health Implemented and Governs Office 365
Kelly Jones281 views

Recently uploaded

Applying Platform Engineering Thinking to Observability.pdf by
Applying Platform Engineering Thinking to Observability.pdfApplying Platform Engineering Thinking to Observability.pdf
Applying Platform Engineering Thinking to Observability.pdfNatan Yellin
12 views16 slides
How to Install and Activate Email-Researcher by
How to Install and Activate Email-ResearcherHow to Install and Activate Email-Researcher
How to Install and Activate Email-ResearchereGrabber
19 views8 slides
WebAssembly by
WebAssemblyWebAssembly
WebAssemblyJens Siebert
32 views18 slides
Best Mics For Your Live Streaming by
Best Mics For Your Live StreamingBest Mics For Your Live Streaming
Best Mics For Your Live Streamingontheflystream
6 views6 slides
ict act 1.pptx by
ict act 1.pptxict act 1.pptx
ict act 1.pptxsanjaniarun08
12 views17 slides
Advanced API Mocking Techniques by
Advanced API Mocking TechniquesAdvanced API Mocking Techniques
Advanced API Mocking TechniquesDimpy Adhikary
18 views11 slides

Recently uploaded(20)

Applying Platform Engineering Thinking to Observability.pdf by Natan Yellin
Applying Platform Engineering Thinking to Observability.pdfApplying Platform Engineering Thinking to Observability.pdf
Applying Platform Engineering Thinking to Observability.pdf
Natan Yellin12 views
How to Install and Activate Email-Researcher by eGrabber
How to Install and Activate Email-ResearcherHow to Install and Activate Email-Researcher
How to Install and Activate Email-Researcher
eGrabber19 views
Advanced API Mocking Techniques by Dimpy Adhikary
Advanced API Mocking TechniquesAdvanced API Mocking Techniques
Advanced API Mocking Techniques
Dimpy Adhikary18 views
Software evolution understanding: Automatic extraction of software identifier... by Ra'Fat Al-Msie'deen
Software evolution understanding: Automatic extraction of software identifier...Software evolution understanding: Automatic extraction of software identifier...
Software evolution understanding: Automatic extraction of software identifier...
DSD-INT 2023 Baseline studies for Strategic Coastal protection for Long Islan... by Deltares
DSD-INT 2023 Baseline studies for Strategic Coastal protection for Long Islan...DSD-INT 2023 Baseline studies for Strategic Coastal protection for Long Islan...
DSD-INT 2023 Baseline studies for Strategic Coastal protection for Long Islan...
Deltares10 views
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ... by marksimpsongw
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...
marksimpsongw74 views
DSD-INT 2023 Dam break simulation in Derna (Libya) using HydroMT_SFINCS - Prida by Deltares
DSD-INT 2023 Dam break simulation in Derna (Libya) using HydroMT_SFINCS - PridaDSD-INT 2023 Dam break simulation in Derna (Libya) using HydroMT_SFINCS - Prida
DSD-INT 2023 Dam break simulation in Derna (Libya) using HydroMT_SFINCS - Prida
Deltares17 views
Tridens DevOps by Tridens
Tridens DevOpsTridens DevOps
Tridens DevOps
Tridens9 views
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ... by Donato Onofri
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Donato Onofri643 views
Consulting for Data Monetization Maximizing the Profit Potential of Your Data... by Flexsin
Consulting for Data Monetization Maximizing the Profit Potential of Your Data...Consulting for Data Monetization Maximizing the Profit Potential of Your Data...
Consulting for Data Monetization Maximizing the Profit Potential of Your Data...
Flexsin 15 views
Upgrading Incident Management with Icinga - Icinga Camp Milan 2023 by Icinga
Upgrading Incident Management with Icinga - Icinga Camp Milan 2023Upgrading Incident Management with Icinga - Icinga Camp Milan 2023
Upgrading Incident Management with Icinga - Icinga Camp Milan 2023
Icinga36 views
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema by Deltares
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - GeertsemaDSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema
Deltares12 views
MariaDB stored procedures and why they should be improved by Federico Razzoli
MariaDB stored procedures and why they should be improvedMariaDB stored procedures and why they should be improved
MariaDB stored procedures and why they should be improved
Neo4j y GenAI by Neo4j
Neo4j y GenAI Neo4j y GenAI
Neo4j y GenAI
Neo4j35 views
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J... by Deltares
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...
Deltares7 views

Scaling Tech in Asia

  • 1. Scaling Tech in Asia How we scaled Tech in Asia
  • 2. About Me • WordPress Plugins Developer – Since 2003 – Created > 22 plugins • wp-pagenavi, wp-polls, wp-postratings, wp-postviews, wp-dbmanager, etc • http://profiles.wordpress.org/gamerz • Tech Guy in Tech in Asia – Started officially on 1st September 2014 – We are still hiring Lester Chan (@gamerz) [ 2 ]
  • 3. Timeline • July 2014 – Willis approached me to join Tech in Asia and expand the engineering team • August 2014 – Hired an awesome engineer, Li Soon – Both of us started work to scale Tech in Asia Lester Chan (@gamerz) [ 3 ]
  • 4. Previous Servers • Previous – Digital Ocean • 1 server • 32 GB/12 CPUS, 320 GB SSD Disk and 7TB transfer • US$320/month • Crashed when we have about 500 users online at the same time Lester Chan (@gamerz) [ 4 ]
  • 5. Current Servers • Current – SoftLayer • Catalyst Startup Program • USD$10,000 credits per month • 5 Bare Metal Servers – 1x Load Balancer – 3x Web Servers – 2x Database Server – 1x Ops Server • Highest recorded users online is 2,734 Lester Chan (@gamerz) [ 5 ]
  • 6. Monitoring • Graphite – Push based • Grafana – Front-end for Graphite • collectd – data-collecting daemon – network, cpu, load, etc Lester Chan (@gamerz) [ 6 ]
  • 7. User Uploaded Files • /wp-content/uploads – File uploads are stored here • GlusterFS – Write once, read everywhere • Distributed architecture for syncing files • Avoids a single point of failure (i.e. NAS) Lester Chan (@gamerz) [ 7 ]
  • 8. WordPress • Moved WordPress to a folder /core/ – Prevent automated attacks – /core/ is a git checkout of WordPress • HTTPS – Encrypts sensitive data between computers – Prevents man in the middle attacks – Ranking boost in Google SEO Lester Chan (@gamerz) [ 8 ]
  • 9. Cleaning Up Plugins • Removed 48 plugins – From 83 plugins to 35 plugins • Some plugins are poorly coded – No uninstall.php • Manually removed plugin options from wp_options table – Remove meta • Comment • Post • User Lester Chan (@gamerz) [ 9 ]
  • 10. CDN • Previous – EdgeCast • Horrible UI/UX admin interface • No free shared SSL cert • Current – MaxCDN • Free for us • YC Deal Lester Chan (@gamerz) [ 10 ]
  • 11. Redesigning Theme • The TiA theme was poorly coded – No proper use of WordPress API – Unnecessary SQL queries all over the place – Not minifying CSS/JS – Unused features still in code Lester Chan (@gamerz) [ 11 ]
  • 12. Redesigning Theme • Rewrote the theme from scratch – Removed unused or unnecessary features – Use of SVG and Font Icons – Flatter UI – CSS/JS more efficient • Combine + Minify – Caching Lester Chan (@gamerz) [ 12 ]
  • 13. Web Stack • Previous – Apache – PHP – MySQL • Current – nginx – HHVM – MariaDB Lester Chan (@gamerz) [ 13 ]
  • 14. Summary • Moving Servers • Cleaning up WordPress Plugins • Redesigning theme • Changing our web stack Lester Chan (@gamerz) [ 14 ]
  • 15. Questions? • Any questions? • You can also find me at – Blog: https://lesterchan.net – Twitter: @gamerz – Facebook: https://fb.com/lesterchan – Instagram: @gamerz Lester Chan (@gamerz) [ 15 ]