Your SlideShare is downloading. ×
0
Scaling Drupal @ iMoney
Edmund Kwok - CTO
P/S
We’re
hiring!!
About me..
• Started off as Freelance Drupal Site Builder /
Developer / Themer, first dabbled in Drupal 4.7
• Full time as ...
Started in Malaysia, to make online
applications a reality
Product Marketing
Tech
Product Marketing
Tech
3+
Drupal
Devs
Native mobile app
Code Infrastructure
Process /
People


Code
!
Infrastructure
!
Process /
People
1. Shared code base
2. Think components
3. Automate ^ 3
4. Cache it like it’s h...
1. Shared codebase
sites/default
Base theme
Country theme
Country
modules
Content
Common modules
Product page theme
sites/www.my
sites/www.sg...
2. Think components
Desktop Mobile
Insights CRM
Insights
DB
Publishers
Mobile
App
Call
Operators
Mortgage
Consultants
Webapp
Analytics
…
Mortgage
Admin
Manag...
Insights CRM
Publishers
Mobile
App
Webapp
…
Call
Operators
Mortgage
Consultants
Analytics
Mortgage
Admin
Management
Leads ...
3. Automate ^ 3
Okay, I will instruct Behat
to run these tests and
format the results nicely
for you.
Okay, I will instruct Behat
to run these tests and
format the results nicely
for you.
&
Okay, I will instruct Behat
to run these tests and
format the results nicely
for you.
&
Okay, I will do the
following:
1. Pull the latest code from
repo
2. Gzip the files
3. SSH into the staging
server
4. Backup...
Okay, I will do the
following:
1. Pull the latest code from
repo
2. Gzip the files
3. SSH into the staging
server
4. Backup...
Okay, I will do the
following:
1. Pull the latest code from
repo
2. Gzip the files
3. SSH into the staging
server
4. Backup...
4. Cache it like it’s hot
Drupal Cache
APC
Boost
nginx

Pagespeed
Varnish
Varnish
rp1
nginx

web1
nginx
web2
MySQL
db1
IT’S TIME..
FOR A NEW HOUSE
Why?
Varnish
rp1
nginx

web1
nginx
web2
MySQL
db1
nginx
web3
nginx
web..
Varnish
rp1
nginx

web1
nginx
web2
MySQL
db1
nginx
web3
nginx
web4
Varnish
rp2
HAProxy
lb1
MySQL
db2
Replication
Drupal Cache APC Boost
nginx
Pagespeed
“Eh I can’t see the page live”
“Did you clear the Boost cache”
“Yeaaa, I did!”
“ Hm...
Drupal Cache APC Boost
nginx
Pagespeed
“Eh I can’t see the page live”
“Did you clear the Boost cache”
“Yeaaa, I did!”
“ Hm...
At least we haven’t flush Varnish’s cache ;)
5. Empower others
https://github.com/edmundkwok/varnish-inspector
The less time you spend maintaining existing
features or content, the more time you will have
to build newer, cooler, stuff
6. Go Lean


Code
!
Infrastructure
!
Process /
People
1. Shared code base
2. Think components
3. Automate ^ 3
4. Cache it like it’s h...
Join us!! :D
Senior Drupal
Developer
• Engineer solutions for pain
points, build cool stuff
• Continuous learning and
grow...
Join us!! :D
Senior Drupal
Developer
• Engineer solutions for pain
points, build cool stuff
• Continuous learning and
grow...
http://im.my/hiremelah
(We want to confirm someone by tonight!)
–Steve Jobs
“A lot of times, people
don’t know what they
want until you show it
to them.”
Email: edmund@imoney.my
Thank you! Questions? :)
http://im.my/hiremelah
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
Upcoming SlideShare
Loading in...5
×

Scaling Drupal @ iMoney - DrupalCamp Singapore 2014

115

Published on

How we use Drupal @ iMoney, the challenges we face as we scaled to 6 different countries, and the learnings along the way.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
115
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Scaling Drupal @ iMoney - DrupalCamp Singapore 2014"

  1. 1. Scaling Drupal @ iMoney Edmund Kwok - CTO P/S We’re hiring!!
  2. 2. About me.. • Started off as Freelance Drupal Site Builder / Developer / Themer, first dabbled in Drupal 4.7 • Full time as iMoney CTO, Employee #2 in January 2013 • Email: edmund@imoney.my • D.O.: https://drupal.org/user/44079
  3. 3. Started in Malaysia, to make online applications a reality
  4. 4. Product Marketing Tech
  5. 5. Product Marketing Tech 3+ Drupal Devs
  6. 6. Native mobile app
  7. 7. Code Infrastructure Process / People
  8. 8. 
 Code ! Infrastructure ! Process / People 1. Shared code base 2. Think components 3. Automate ^ 3 4. Cache it like it’s hot 5. Empower others 6. Go lean
  9. 9. 1. Shared codebase
  10. 10. sites/default Base theme Country theme Country modules Content Common modules Product page theme sites/www.my sites/www.sg sites/www.ph sites/www.id sites/www.thiMoney Webapp repo Database iMoney Shared Code base Drupal Multisite
  11. 11. 2. Think components
  12. 12. Desktop Mobile
  13. 13. Insights CRM Insights DB Publishers Mobile App Call Operators Mortgage Consultants Webapp Analytics … Mortgage Admin Management Leads DB Emails API Leads Collector
  14. 14. Insights CRM Publishers Mobile App Webapp … Call Operators Mortgage Consultants Analytics Mortgage Admin Management Leads DB
  15. 15. 3. Automate ^ 3
  16. 16. Okay, I will instruct Behat to run these tests and format the results nicely for you.
  17. 17. Okay, I will instruct Behat to run these tests and format the results nicely for you. &
  18. 18. Okay, I will instruct Behat to run these tests and format the results nicely for you. &
  19. 19. Okay, I will do the following: 1. Pull the latest code from repo 2. Gzip the files 3. SSH into the staging server 4. Backup the DB with drush 5. Backup the existing staging root directory 6. Deploy to staging root
  20. 20. Okay, I will do the following: 1. Pull the latest code from repo 2. Gzip the files 3. SSH into the staging server 4. Backup the DB with drush 5. Backup the existing staging root directory 6. Deploy to staging root Whatever he said
  21. 21. Okay, I will do the following: 1. Pull the latest code from repo 2. Gzip the files 3. SSH into the staging server 4. Backup the DB with drush 5. Backup the existing staging root directory 6. Deploy to staging root Whatever he said
  22. 22. 4. Cache it like it’s hot
  23. 23. Drupal Cache APC Boost nginx
 Pagespeed Varnish
  24. 24. Varnish rp1 nginx
 web1 nginx web2 MySQL db1 IT’S TIME.. FOR A NEW HOUSE Why?
  25. 25. Varnish rp1 nginx
 web1 nginx web2 MySQL db1 nginx web3 nginx web..
  26. 26. Varnish rp1 nginx
 web1 nginx web2 MySQL db1 nginx web3 nginx web4 Varnish rp2 HAProxy lb1 MySQL db2 Replication
  27. 27. Drupal Cache APC Boost nginx Pagespeed “Eh I can’t see the page live” “Did you clear the Boost cache” “Yeaaa, I did!” “ Hmm, maybe it’s the APC Cache” “Cleared that too!” “Okay, try clearing Drupal Cache, then APC, Boost, then Varnish. Oh and nginx Pagespeed!” “WTFOMGBBQ!@#$” Varnish
  28. 28. Drupal Cache APC Boost nginx Pagespeed “Eh I can’t see the page live” “Did you clear the Boost cache” “Yeaaa, I did!” “ Hmm, maybe it’s the APC Cache” “Cleared that too!” “Okay, try clearing Drupal Cache, then APC, Boost, then Varnish. Oh and nginx Pagespeed!” “WTFOMGBBQ!@#$” Varnish
  29. 29. At least we haven’t flush Varnish’s cache ;)
  30. 30. 5. Empower others
  31. 31. https://github.com/edmundkwok/varnish-inspector
  32. 32. The less time you spend maintaining existing features or content, the more time you will have to build newer, cooler, stuff
  33. 33. 6. Go Lean
  34. 34. 
 Code ! Infrastructure ! Process / People 1. Shared code base 2. Think components 3. Automate ^ 3 4. Cache it like it’s hot 5. Empower others 6. Go lean
  35. 35. Join us!! :D Senior Drupal Developer • Engineer solutions for pain points, build cool stuff • Continuous learning and growth - get off the Drupal island! AngularJS, Symfony2, Node.JS, Python? • Make the world a better place
  36. 36. Join us!! :D Senior Drupal Developer • Engineer solutions for pain points, build cool stuff • Continuous learning and growth - get off the Drupal island! AngularJS, Symfony2, Node.JS, Python? • Make the world a better place
  37. 37. http://im.my/hiremelah (We want to confirm someone by tonight!)
  38. 38. –Steve Jobs “A lot of times, people don’t know what they want until you show it to them.”
  39. 39. Email: edmund@imoney.my Thank you! Questions? :) http://im.my/hiremelah
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×