Building a scalable infrastructure for social mobile web apps

13
Building a scalable infrastructure for social mobile/web apps Ngon Pham http://www.ngonpham.com

description

Building a scalable infrastructure for social mobile web apps

Transcript of Building a scalable infrastructure for social mobile web apps

Page 1: Building a scalable infrastructure for social mobile web apps

Building a scalable infrastructure forsocial mobile/web apps

Ngon Phamhttp://www.ngonpham.com

Page 2: Building a scalable infrastructure for social mobile web apps

Content

• System Architecture• Database• Web Server• Web/Mobile Apps• Demo

Page 3: Building a scalable infrastructure for social mobile web apps

System Architecture

Web Server

Database

Browser

Mobile

Page 4: Building a scalable infrastructure for social mobile web apps

Database

• Relational Database: MySQL Cluster, PostgreSQL• NoSQL: MongoDB, Cassandra, FlockDB• 3rd party: Google AppEngine, Amazon SimpleDB

Page 5: Building a scalable infrastructure for social mobile web apps

Database

• MySQL Cluster• Strength

• Relational Database

• Many support tools• Weakness

• Difficult to extend (add columns)

• Complex architecture

Page 6: Building a scalable infrastructure for social mobile web apps

Database

Page 7: Building a scalable infrastructure for social mobile web apps

Database

• MongoDB (NoSQL)• Strength

• Implement some relational database features

• Easy to extend (add columns)

• Simple architecture• Weakness

• Newcomer

• Lack support tools

Page 8: Building a scalable infrastructure for social mobile web apps

Database

• Google AppEngine• Strength

• Transparent scalability to developer

• Easy maintenance• Weakness

• Lock-in data

• Lack many tools support

Page 9: Building a scalable infrastructure for social mobile web apps

Web Server

• Apache HTTP Server• PHP

• Python

• …

• Apache Tomcat• Java

Page 10: Building a scalable infrastructure for social mobile web apps

Web Server

Tomcat Tomcat Tomcat Tomcat Tomcat

Load balancer

Page 11: Building a scalable infrastructure for social mobile web apps

• Web Apps• Google Web Toolkit

• Mobile Apps• iPhone

• Android

Mobile Web/Apps

Web Server

Web, Mobile

JSON

Page 12: Building a scalable infrastructure for social mobile web apps

Demos

• MongoDB• Tomcat with Load-Balancer• Amazon EC2• Google App Engine

Page 13: Building a scalable infrastructure for social mobile web apps

Thank you!