Pinterest’s Exponential Growth Hinges on the Right Architecture
Pinterest, the photo-sharing social network that has become a haven for online sellers, has experienced significant growth in terms of users, page views, its team, servers, API, Memcache Instances, Redis Instances and MySQL DBs.
The question now is, in just three years, how did it grow so big?
Pinterest’s Yashwanth Nelapati and Marty Weiner recently held a talk called Scaling Pinterest, hosting a discussion that is all about the architecture of Pinterest. The nitty gritty stuff can also be found in “Scaling Pinterest – From 0 To 10s Of Billions Of Page Views A Month In Two Years,” but if you’re too lazy to read, here’s the summary:
Keep things simple
Basically, what engineers at Pinterest did was to keep things simple. They know that things will fail and by keeping things simple, makes fixing things easier. Also, by keeping it simple, new engineers will find it easier to contribute codes.
Pushing breaks things
By pushing things to go your way, even if the codes don’t agree, will just cause problems as it will end up with things failing and you working more hours just trying to undo or fix what you broke.
“When you push something to the limit all technologies fail in their own special way,” Todd Hoff, author of the post stated. “This lead them to evaluate tool choices with a preference for tools that are: mature; really good and simple; well known and liked; well supported; consistently good performers; failure free as possible; free. Using these criteria they selected: MySQL, Solr, Memcache, and Redis. Cassandra and Mongo were dropped.”
Duplication
You’ll know you’re doing things right when the architecture is able to handle growth by adding more of the same stuff.
Cluster Management Algorithm is a SPOF
.
Even Stevens
As with almost everything, spreading things evenly makes things sturdy. By spreading data, Pinterest is able to handle rapid growth.
Sharding is gold
Sharding allows you to move the least amount of data, which makes the architecture stable.
Determine your purpose
By identifying what you want to be, you’ll be able to identify if there are already existing technologies that are similar to what you envision. If there are, drop the similar ones so you can move forward and work on other things.
Keep calm
When things fail, codes don’t work, or data gets lost – keep calm. If you start going ballistics, you won’t be able to think straight and identify what caused the problem and find a solution. And losing some things isn’t always a curse as you could may find easier ways of doing things.
If you’re working on a service or planning on working on one, you’ll learn a thing or two, if not a lot, from Pinterest’s success.
Since you’re here …
… We’d like to tell you about our mission and how you can help us fulfill it. SiliconANGLE Media Inc.’s business model is based on the intrinsic value of the content, not advertising. Unlike many online publications, we don’t have a paywall or run banner advertising, because we want to keep our journalism open, without influence or the need to chase traffic.The journalism, reporting and commentary on SiliconANGLE — along with live, unscripted video from our Silicon Valley studio and globe-trotting video teams at theCUBE — take a lot of hard work, time and money. Keeping the quality high requires the support of sponsors who are aligned with our vision of ad-free journalism content.
If you like the reporting, video interviews and other ad-free content here, please take a moment to check out a sample of the video content supported by our sponsors, tweet your support, and keep coming back to SiliconANGLE.