Building a scalable infrastructure for social mobile web apps

Post on 10-May-2015

1.397 views 3 download

Tags:

description

Building a scalable infrastructure for social mobile web apps

Transcript of Building a scalable infrastructure for social mobile web apps

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!