scaling for web - architecting hootsuite for 5+ million users
Post on 17-May-2015
393 Views
Preview:
TRANSCRIPT
Scaling for WebArchitecting HootSuite for 5 Million+ Users
About Us
Beier CaiChief Architectbeier.cai@hootsuite.com@beiercai
Bill MonkmanLead Developer, Webbill.monkman@hootsuite.com@bmonkman
Hoo’s HootSuite
Some Numbers
5+ million Members
10+ million Social Networks
25+ million Streams
350+ million Messages Scheduled
1.3+ Billion Messages Sent
2+ Billion Page Views per month
2,000 Web Requests/sec
Technologies
PHP
MySQL
Technologies
PHP
Memcached
MySQL
Technologies
PHP
Gearman
Memcached
MySQL
Technologies
PHP
Gearman
Memcached
MySQL MongoDB
Technologies
PHP
Gearman ZeroMQ
Memcached
MySQL MongoDB
Technology Stack
LAMP (Linux, Apache, MySQL, PHP)
Scala
Akka
Python
Clojure
MongoDB
Redis
Memcached
Gearman
ZeroMQ
RabbitMQ/AMQP
jQuery/Backbone
EC2 Cloud / CloudStack
Jenkins / CruiseControl
CloudFront CDN
HAProxy/Nginx/Varnish
Zend
Statsd/Graphite
LogStash
ElasticSearch/Lucene
Nagios/Munin/Sensu
ZooKeeper
Optimization
• Push processing up to the front-end, make your users’ computers into a distributed processing network. e.g. stream rendering
• Cache as much as possible, invalidate only when necessary.
• Sometimes features have to take a back-seat to performance/scalability.
• Look at profiler data.
• Watch query execution time, optimize when necessary with indexes, partitions, de-normalization, etc.
• Know what your weak spots are and keep a close eye on them.
Optimization
Optimization Case Study
Optimization Case Study
Scaling Dev Team
• Passion
• Commitment
• Dedication
• Responsibility
• General Awesomeness
Besides technical competency, we also value
Scaling Dev Team
Passion
• Commitment
• Dedication
• Responsibility
• General Awesomeness
Besides technical competency, we also value
Scaling Dev Team
Team Work
Entrepreneurial
• Communication
• Respect
• Trust
Coding Practice
• Clean and Readable
• Maintainable
• Reusable
• Scalable
• Commented
Have a well defined coding standard within your dev team, and follow it!
Monitoring, Profiling & Logging
Monitoring, Profiling & Logging
Case Study
Case Study
Thank You!
Beier Caibeier.cai@hootsuite.comtwitter.com/beiercai
Bill Monkmanbill.monkman@hootsuite.comtwitter.com/bmonkman
top related