Lessons learnt developing web applications

16
Satyadeep Musuvathy Architect, Yahoo!

Transcript of Lessons learnt developing web applications

Satyadeep Musuvathy

Architect, Yahoo!

Balance between System, Data and Operations

If even one of the legs

is in-correct, the stool

tends to topple

There will always be one more “feature”

API,

Savvy?

Your web page, Sir

I canz do business

Separate Web and API interaction from the business logic

State A

State B

State C

Web Applications are “State-full”. Worry about “OOM”

Memory is a “scarce” resource

“State-full”

Vs.

Synchronous Asynchronous

Design and scale the synchronous aspects separately from the

asynchronous jobs – Not all operations need to be synchronous

In most cases I/O throughput defines “perceived” performance

“Shardable” data will allow you to scale out your data

demands as the application grows.

Grid Database

Consider shipping copy of the data to Grid or dedicated

machines for batch or “secondary” tasks.

“Divide and Conquer”

Plan for peak loads, but try to

distribute processing over time

to minimize over-provisioning.

Constantly monitor

the system for CPU,

Memory, Disk and I/O

Have system “raise”

events for critical

issues rather then

parsing log files.

Plan and “TEST” backup systems. Look for and prevent domino effects of failure

Thank You!