Ø
«
»
0 : The Platform Behind the App “Gauss – The People Magnet”
1 : Context
2 : Application and Network
3 : MongoDB
4 : Neo4j Graph Database
5 : Cloud Hosting
6 : Done!
7 : Thanks
The Platform Behind the App “Gauss – The People Magnet”
Kit Blake
Co-founder, Gauss UG
Context
The smartphone app communicates with the platform through HTTP and REST/JSON service
Platform interacts with Social Network APIs to fetch data and get realtime updates:
Twitter, Foursquare, Facebook
LinkedIn next
Platform goals:
Store large amounts of highly connected data
Keep data in sync
Get notified and react to events in realtime
Application and Network
Usual suspects: HTTP / JSON / Python, and Werkzeug (the core of Flask)
gevent for efficient network I/O: most of the time is spent waiting for Social Network APIs to respond
ZeroMQ for messaging patterns: PUSH/PULL, PUBLISH/SUBSCRIBE, REQUEST/REPLY
Allows us to break down the application into one-purpose processes:
Less complexity
More scalability
MongoDB
Documents easily map to objects, fast prototyping
Geographic indexing
Printed links
For more information on this app:
http://getgauss.com/
Neo4j Graph Database
Store / cache friends and interests graphs
Gremlin traversal language for querying, traversing, filtering the graph
Graph algorithms (e.g. shortest path)
May switch to Orient DB
Printed links
For more information on these products see:
https://infrae.com/
Cloud Hosting
Rackspace Open Stack cloud (sponsorship)
Managed with Chef: a Ruby system integration framework and domain specific language for automating the cloud (similar to Puppet)
Done!
Lead developer: Antonin Amand,
antonin@infrae.com
Gauss UG operations:
kitblake@infrae.com
Full info:
http://getgauss.com/
Thanks