Satyadeep Musuvathy Architect, Yahoo!. Balance between System, Data and Operations If even one of...

16
Lessons Learnt Developing Web Applications Satyadeep Musuvathy Architect, Yahoo!

Transcript of Satyadeep Musuvathy Architect, Yahoo!. Balance between System, Data and Operations If even one of...

Page 1: Satyadeep Musuvathy Architect, Yahoo!. Balance between System, Data and Operations If even one of the legs is in-correct, the stool tends to topple.

Lessons Learnt Developing Web

ApplicationsSatyadeep Musuvathy

Architect, Yahoo!

Page 2: Satyadeep Musuvathy Architect, Yahoo!. Balance between System, Data and Operations If even one of the legs is in-correct, the stool tends to topple.

Balance

Balance between System, Data and Operations

If even one of the legs is in-correct, the stool tends to topple

Page 3: Satyadeep Musuvathy Architect, Yahoo!. Balance between System, Data and Operations If even one of the legs is in-correct, the stool tends to topple.

Systems

Page 4: Satyadeep Musuvathy Architect, Yahoo!. Balance between System, Data and Operations If even one of the legs is in-correct, the stool tends to topple.

Systems EvolveDesign for evolution

There will always be one more “feature”

Page 5: Satyadeep Musuvathy Architect, Yahoo!. Balance between System, Data and Operations If even one of the legs is in-correct, the stool tends to topple.

Designing For Evolution Have clear separation of concerns

API, Savvy?

Your web page, Sir

I canz do business

Separate Web and API interaction from the business logic

Page 6: Satyadeep Musuvathy Architect, Yahoo!. Balance between System, Data and Operations If even one of the legs is in-correct, the stool tends to topple.

Designing For Evolution Manage State Carefully

State A

State B

State C

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

Memory is a “scarce” resource

“State-full”

Page 7: Satyadeep Musuvathy Architect, Yahoo!. Balance between System, Data and Operations If even one of the legs is in-correct, the stool tends to topple.

Designing For Evolution Aggressively differentiate sync and a-sync jobs

Vs.

Synchronous

Asynchronous

Design and scale the synchronous aspects separately from the asynchronous jobs – Not all operations need to be synchronous

Page 8: Satyadeep Musuvathy Architect, Yahoo!. Balance between System, Data and Operations If even one of the legs is in-correct, the stool tends to topple.

Data

Page 9: Satyadeep Musuvathy Architect, Yahoo!. Balance between System, Data and Operations If even one of the legs is in-correct, the stool tends to topple.

Application DataMost Systems are I/O bound

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

Page 10: Satyadeep Musuvathy Architect, Yahoo!. Balance between System, Data and Operations If even one of the legs is in-correct, the stool tends to topple.

Application DataMake data “Shardable”

“Shardable” data will allow you to scale out your data demands as the application grows.

Page 11: Satyadeep Musuvathy Architect, Yahoo!. Balance between System, Data and Operations If even one of the legs is in-correct, the stool tends to topple.

Application DataConsider multiple stores for data

Grid Database

Consider shipping copy of the data to Grid or dedicated machines for batch or “secondary” tasks.

“Divide and Conquer”

Page 12: Satyadeep Musuvathy Architect, Yahoo!. Balance between System, Data and Operations If even one of the legs is in-correct, the stool tends to topple.

Operations

Page 13: Satyadeep Musuvathy Architect, Yahoo!. Balance between System, Data and Operations If even one of the legs is in-correct, the stool tends to topple.

OperationsUtilization is very spiky

Plan for peak loads, but try to distribute processing over time to minimize over-provisioning.

Page 14: Satyadeep Musuvathy Architect, Yahoo!. Balance between System, Data and Operations If even one of the legs is in-correct, the stool tends to topple.

OperationsConstantly monitor systems

Constantly monitor the system for CPU, Memory, Disk and I/O

Have system “raise” events for critical issues rather then parsing log files.

Page 15: Satyadeep Musuvathy Architect, Yahoo!. Balance between System, Data and Operations If even one of the legs is in-correct, the stool tends to topple.

OperationsHave a failover plan

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

Page 16: Satyadeep Musuvathy Architect, Yahoo!. Balance between System, Data and Operations If even one of the legs is in-correct, the stool tends to topple.

Q & A

Thank You!