Design For Failure Is The Path To Success In Cloud Ashay Chaudhary REQUIREMENTS Journey thru the computing models • Mainframe • Desktop • Client-Server • • • • Reliability Availability Serviceability Performance + • Internet • Security + • Cloud Computing • Agility Evolution of Requirements AVAILABILITY Non-Cloud Model • Design for Non-Failure • Deploy with Redundancy • Manage Effectively Guiding Principles • Design for Non-Failure • Quality Hardware • Deploy with Redundancy • Specialty Hardware • Manage Effectively • Expert Staff • Processes AVAILABILITY Cloud Model • • • • Design for Failure Design for Redundancy Monitor Extensively Track Dependencies Guiding Principles • 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 Design For Failure • 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 Handle All Failures • Eliminate single points of failure • Architect distributed applications • Minimize duration of statefulness Design For Redundancy • • • • Self assess and report health Complementary external monitoring Load and latency monitoring Proactively restart components Monitor Extensively • Identify all dependencies • Hardware, 3rd Party Libraries, Other servers, Network • Infrastructure/Platform services, External services • Your own components • Track their health and availability Track Dependencies • 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 Key Takeaways Ashay Chaudhary Cloud Consultant Corporate Education Private Cloud Solutions Highly Scalable SaaS Applications SaaS Business Intelligence & Analytics ashay@kloudpros.com @ashay_c