Panos Papadopoulos
Software Architect at SocialCaddy and web philosopher
SocialCaddy
Panos may climb mountains in his free time, but he steers clear of obstacles like these in his professional life by unleashing Pythons or crafting Rubys. He recently found out that not all doors open with traditional spells and decided to add Erlang to his arsenal.
Before joining the founding team at SocialCaddy, Panos worked at fbFund, had founded his own start-up and researched text mining. When not in front of his mac or on his mountain bike Panos goes on philosophical quests with unclear destinations.
Panos Papadopoulos is Giving the Following Talks
Clash of the Titans: Erlang Clusters and Google Appengine
We are going to talk about how SocialCaddy, the first CRM for friends, uses the best of two worlds: Google AppEngine as a front-end system, ready to handle a lot of traffic without needing any administration from your part (set and forget); and an Erlang cluster, running on dedicated servers doing background tasks and sending data with lightning speed to AppEngine.
AppEngine is the best thing since sliced bread. But it's not particularly good for crunching data. Meet Erlust. Erlust (the cluster behind www.SocialCaddy.com) communicates with AppEngine via JSON requests. AppEngine sends Erlust the source code to be executed and the number of nodes to be used, and Erlust is responsible to "map and reduce" the data across nodes.
Due to the fact that many libraries (especially for social networks) have better support for a specific language, Erlust is language agnostic, meaning that it can run in parallel source code from many languages. Finally, Erlust exposes the data back to AppEngine by opening many concurrent connections.
AppEngine is the best thing since sliced bread. But it's not particularly good for crunching data. Meet Erlust. Erlust (the cluster behind www.SocialCaddy.com) communicates with AppEngine via JSON requests. AppEngine sends Erlust the source code to be executed and the number of nodes to be used, and Erlust is responsible to "map and reduce" the data across nodes.
Due to the fact that many libraries (especially for social networks) have better support for a specific language, Erlust is language agnostic, meaning that it can run in parallel source code from many languages. Finally, Erlust exposes the data back to AppEngine by opening many concurrent connections.