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

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

Embed Size (px)

Citation preview

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