building a scalable infrastructure for social mobile web apps
DESCRIPTION
Building a scalable infrastructure for social mobile web appsTRANSCRIPT
Building a scalable infrastructure forsocial mobile/web apps
Ngon Phamhttp://www.ngonpham.com
Content
• System Architecture• Database• Web Server• Web/Mobile Apps• Demo
System Architecture
Web Server
Database
Browser
Mobile
Database
• Relational Database: MySQL Cluster, PostgreSQL• NoSQL: MongoDB, Cassandra, FlockDB• 3rd party: Google AppEngine, Amazon SimpleDB
Database
• MySQL Cluster• Strength
• Relational Database
• Many support tools• Weakness
• Difficult to extend (add columns)
• Complex architecture
Database
Database
• MongoDB (NoSQL)• Strength
• Implement some relational database features
• Easy to extend (add columns)
• Simple architecture• Weakness
• Newcomer
• Lack support tools
Database
• Google AppEngine• Strength
• Transparent scalability to developer
• Easy maintenance• Weakness
• Lock-in data
• Lack many tools support
Web Server
• Apache HTTP Server• PHP
• Python
• …
• Apache Tomcat• Java
Web Server
Tomcat Tomcat Tomcat Tomcat Tomcat
Load balancer
• Web Apps• Google Web Toolkit
• Mobile Apps• iPhone
• Android
Mobile Web/Apps
Web Server
Web, Mobile
JSON
Demos
• MongoDB• Tomcat with Load-Balancer• Amazon EC2• Google App Engine
Thank you!