Design For Failure Is The Path To Success In Cloud Ashay Chaudhary.

15
Design For Failure Is The Path To Success In Cloud Ashay Chaudhary

Transcript of Design For Failure Is The Path To Success In Cloud Ashay Chaudhary.

Page 1: Design For Failure Is The Path To Success In Cloud Ashay Chaudhary.

Design For Failure Is The Path To Success In CloudAshay Chaudhary

Page 2: Design For Failure Is The Path To Success In Cloud Ashay Chaudhary.

REQUIREMENTSJourney thru the computing models

Page 3: Design For Failure Is The Path To Success In Cloud Ashay Chaudhary.

Evolution of Requirements

• Mainframe• Desktop• Client-Server

• Internet

• Cloud Computing

• Reliability• Availability• Serviceability• Performance

+• Security

+• Agility

Page 4: Design For Failure Is The Path To Success In Cloud Ashay Chaudhary.

AVAILABILITYNon-Cloud Model

Page 5: Design For Failure Is The Path To Success In Cloud Ashay Chaudhary.

Guiding Principles

• Design for Non-Failure• Deploy with Redundancy• Manage Effectively

Page 6: Design For Failure Is The Path To Success In Cloud Ashay Chaudhary.

• Design for Non-Failure• Quality

Hardware

• Deploy with Redundancy• Specialty

Hardware

• Manage Effectively• Expert Staff• Processes

Page 7: Design For Failure Is The Path To Success In Cloud Ashay Chaudhary.

AVAILABILITYCloud Model

Page 8: Design For Failure Is The Path To Success In Cloud Ashay Chaudhary.

Guiding Principles

• Design for Failure• Design for Redundancy• Monitor Extensively• Track Dependencies

Page 9: Design For Failure Is The Path To Success In Cloud Ashay Chaudhary.

Design For Failure

• Assume nothing• Expect failures• Anywhere and everywhere• If it is available now, doesn’t mean it is there later

• Failures cascade• Unhandled failures propagate• Poorly handled failures adds complexity• Difficulty increases exponentially with complexity

• Embrace failure, make it a first class citizen

Page 10: Design For Failure Is The Path To Success In Cloud Ashay Chaudhary.

Handle All Failures

• Unhandled failures is a very bad idea• Poorly handled trivial failure in one part

becomes a critical one somewhere else• Two types of failures: Transient and Resource• Transient failures are difficult, treat them like

Resource failures and fail fast• Delays are transient failures, define response

time guarantees• Failure injection is a lifestyle

Page 11: Design For Failure Is The Path To Success In Cloud Ashay Chaudhary.

Design For Redundancy

• Eliminate single points of failure• Architect distributed applications• Minimize duration of statefulness

Page 12: Design For Failure Is The Path To Success In Cloud Ashay Chaudhary.

Monitor Extensively

• Self assess and report health• Complementary external monitoring• Load and latency monitoring• Proactively restart components

Page 13: Design For Failure Is The Path To Success In Cloud Ashay Chaudhary.

Track Dependencies

• Identify all dependencies• Hardware, 3rd Party Libraries, Other servers, Network• Infrastructure/Platform services, External services• Your own components

• Track their health and availability

Page 14: Design For Failure Is The Path To Success In Cloud Ashay Chaudhary.

Key Takeaways

• If there’s only one thing you could do• Design for Failure

• It is a paradigm shift• It is a cultural change• It is not easy

• It is the key to success in the cloud

Page 15: Design For Failure Is The Path To Success In Cloud Ashay Chaudhary.

Ashay ChaudharyCloud Consultant

Corporate EducationPrivate Cloud SolutionsHighly Scalable SaaS ApplicationsSaaS Business Intelligence & Analytics

[email protected]@ashay_c