Showing posts with label infrastructure. Show all posts
Showing posts with label infrastructure. Show all posts

Choosing the Best Architecture


I have a terrible challenge to resolve. Make the good architecture choice to build the next big thing.

First, let's introduce the problematics of my project in few words. It's an iOS app (but also an Android app as soon as possible) with chat rooms + real-time feeds access + massive social features + massive game mechanics (with rewards). Furthermore, we need to store all the actions, the messages and the interactions to generate reports and data analysis.




Of course, we hope (and we will work 200% for that) our app will become mainstream, so I need a scalable architecture. Browsing the web (and specially Quora), I ended with this type:

What do you think?



Nick Kallen (@nk), twitter engineer:
  • "All engineering solutions are transient
  • Nothing's perfect but some solutions are good enough for a while
  • Scalability solutions aren't magic. They involve partitioning, indexing, and replication
  • All data for real-time queries MUST be in memory. Disk is for writes only.
  • Some problems can be solved with pre-computation, but a lot can't
  • Exploit locality where possible"



Sources: 
Big Data in Real-Time at Twitter: http://www.slideshare.net/nkallen/q-con-3770885
Instagram architecture: http://www.quora.com/Why-did-Burbn-Instagram-choose-Postgres-over-MySQL?q=instagram+database
Foursquare: http://www.quora.com/What-stack-does-Foursquare-run-on-EC2?q=foursquare+technology
Facebook: http://royal.pingdom.com/2010/06/18/the-software-behind-facebook/ and
http://www.quora.com/What-database-technology-is-Facebook-built-on?q=facebook+database

Groupon architecture: http://www.quora.com/Groupon/What-technology-platform-is-Groupon-built-on?q=groupon+technology
Zynga: http://www.quora.com/How-does-server-technology-work-for-Zyngas-games?q=zynga+technology
LinkedIn: http://www.quora.com/What-is-LinkedIn-s-database-architecture-like?q=linkedin+database
Quora: http://www.philwhln.com/quoras-technology-examined
Yelp: http://www.quora.com/What-is-Yelps-technology-stack?q=yelp+technology


[update 03/04/2011]


As Johann (CTO @seesmic) suggested us in late january + developers during the BeMyApp event in San Francisco, I will have a closer look at node.js + mongoDB, it looks pretty cool: