14
Scaling Your iPhone Applications Guy Naor, CTO [email protected] http://www.mor.ph

I Phone Dev Summit Prezo Guy Naor Final

Embed Size (px)

Citation preview

Page 2: I Phone Dev Summit Prezo Guy Naor Final

A Self Introduction

Been involved with technology since 1981

Led development of GoldMine for 4 years

CTO of Famundo, LLC

Contributed libraries and educational materials as open source

Currently CTO for Morph Labs, Inc.

Page 3: I Phone Dev Summit Prezo Guy Naor Final

The Need to Scale

Future is Uncertain

Save Money and Effort

Optimize Risk/Expenditure

Time is Short

Page 4: I Phone Dev Summit Prezo Guy Naor Final

What can we scale?

Web Servers

Application Servers

Static Files

Storage

Databases

Page 5: I Phone Dev Summit Prezo Guy Naor Final

What technologies should you use?

Simple to start with

Able to grow

Easy to replace

Know what you are doing

Page 6: I Phone Dev Summit Prezo Guy Naor Final

Specific Technologies

CachingRails caching, memcached

Load balancing HAProxy, Pound, nginx

DB Clustering PgPool II, MySQL Proxy, Oracle cluster, Slony

Page 7: I Phone Dev Summit Prezo Guy Naor Final

Specific Technologies

Distributed Storage S3, Nirvanix

Computing EC2, GoGrid, AppEngine, Morph AppSpace/AppCloud

CDNAkamai, CoralCDN,Amazon CDN (coming soon)

Page 8: I Phone Dev Summit Prezo Guy Naor Final

How do you plan scaling?

No “one size-fits-all” solution - depends on the specific application

Check, measure, test and repeat

Start from real bottlenecks - not from assumptions

Choose the path of least resistance!

Page 9: I Phone Dev Summit Prezo Guy Naor Final

Easy vs. ComplexDo you know what’s easy?

Better code and caching covers 90% of scaling needs!

Web servers

Application servers

Messaging

Storage

Database

Page 10: I Phone Dev Summit Prezo Guy Naor Final

Don’t overdo itDo you really need the “it”?

20 machine DB cluster?

CDN for 10,000 pages a day?

Mirrored Messaging servers?

?

Page 11: I Phone Dev Summit Prezo Guy Naor Final

Future Proofing?

Can you estimate your future needs now?

Do you have time to test and analyze all scenarios?

Proven technology

Embrace Change

Repeatability - Testing

Page 12: I Phone Dev Summit Prezo Guy Naor Final

Case Study: Tracks @ Morph

Open source app that implements GTD

Originally stand-alone, now its a multi-tenant SaaS app (c/o Morph)

iPhone Mobile Safari compatible

Thousand of users since we launched it (mid 2008)

Page 13: I Phone Dev Summit Prezo Guy Naor Final

Q & A

Page 14: I Phone Dev Summit Prezo Guy Naor Final

Resourcesmemcached

Pound

HAProxy

nginx

PostgreSQL Clustering

MySQL Clustering

Oracle Clustering

S3/EC2/CDN

Nirvanix

GoGrid

Google AppEngine

Morph Labs

Akamai:

CoralCDN:

http://www.danga.com/memcached

http://www.apsis.ch/pound

http://haproxy.1wt.eu

http://nginx.net

http://www.postgresql.org

http://www.mysql.com/cluster

http://www.oracle.com

http://aws.amazon.com

http://www.nirvanix.com

http://www.gogrid.com

http://appengine.google.com

http://www.mor.ph

http://www.akamai.com

http://coralcdn.org