Wattpad - Evolution of a Web Architecture with Amazon Web Services
Editor's Notes
- \n
- - youtube\n- upload\n- 7 million stories\n- mobile readers, website\n\n
- - current scale\n- very social\n
- - evolution\n- major, why\n
- - one server\n- no caching, simple\n
- - more complicated, lots more features\n- show you how we went from this (last slide) to this (this slide)\n
- - mail, web ok\n- db bottleneck, own server\n
- - web alone on ec2\n- mail\n- master for writes, slaves for reads\n- db still bottleneck, what’s hot, stories not changing\n
- - high performance, distributed, in memory object caching system\n- in memory key-value store\n- php extension\n- cache everything\n- read-through/write-through, stampedes\n
- - code maintainability\n- write through is data integrity\n
- - replication LAG\n- example - delete cache\n\n
- \n
- - explain\n
- - db’s humming\n- web server bottleneck, scaled vertically as much as possible\n- don’t want to split them\n
- - caching compiled bytecode of scripts\n- apc\n- great except zero-downtime deploy problems\n- bought us a few more months\n\n
- - one web server starting to look at a lot like this horse (donkey?)\n- need more horses\n- shared resources\n
- - reside on web servers\n- distributed file system\n
- - upload s3, cache hd\n- 100M req/month\n- rackspace bad\n- sessions\n- 4 web servers\n\n
- - ELB\n- haproxy, don’t skimp on instance size\n\n
- - horsedonkey\n- news feed\n\n
- - facebook\n- events 150M rows\n- 500M\n- redis\n
- - memcached but persist\n- 20k req/s\n- read counts, reading positions\n
- - redis added\n- master doing better, slaves struggling again\n
- - scalr, in a bad position\n- explain rds\n- concerns\n
- - migrate\n- july 1\n- 10 slaves -> 5 slaves\n\n
- - major things\n
- - full text search\n- real time indexing, really fast\n- easy to scale horizontally\n
- - row level locking\n
- - upload story\n- worker\n- also easy to scale horiz\n
- - this is where we’re at now\n- plus data’s stuff\n
- - still evolving\n- next year automated all scaling processess\n
- \n