I ’ m Chris Henry, Head of Technology at Behance. Thank you, Rightscale for letting me bore you with some stories about how Behance ’s architecture has grown up.
What is Behance? Behance is the leading online platform for showcasing and discovering creative work. Creatives across all industries come to Behance to post work, collaborate, and find jobs.
I ’ ve been at the company for over 6 years now, so I ’ ve had the unique opportunity to see something go from not existing to a 100M pageviews / mo application. Get the image of our pageviews updated from the infographic. http://blog.behance.net/teamblog/the-creative-world-powered-by-behance-infographic What ’ s been really fun is that as the products have grown, we ’ ve had to organically grow our architecture to keep up.
Note the scale. Describe the team, how have we managed to keep it to 3. Automation, troubleshooting, specialized roles?
At our core, we are a classic LAMP stack, with a couple extra layers of goodness baked in for speed and scalability. Our Apache / MySQL layers are pretty consistent workloads.
At our core, we are a classic LAMP stack, with a couple extra layers of goodness baked in for speed and scalability. Our Apache / MySQL layers are pretty consistent workloads. Image service was our first foray into the cloud. It was and still is a great use case. We use imagemagick, and it can be a very heavy process, occasionally doing weird things like taking up all the memory on the machine, or writing out severalGB files on to disk. So our initial reason for moving onto cloud was to triage this potentially scary process onto it ’ s own set of servers. By scaling our, and having lots of smaller instances, we were able to achieve a high degree of redundancy and speed.
Real time activity feed. Mongo is a great fit for cloud - keeps data in memory. - can shard, and therefore distribute writes - - works well over many small machines - handles failures very well, if set up correctly. - - out of the box, once a replica set is set up, can handle a failure of the primary node. - - a sharded cluster, where shards are replica sets, can handle many nodes being unavailable - The data for our use case is more ‘ephemeral’ This is important because it is a way to build out something really awesome for your business.