Design For Failure Is KeyTo Success In The CloudAshay Chaudhary
REQUIREMENTSJourney thru the computing models
• Mainframe         •   Reliability• Desktop           •   Availability• Client-Server     •   Serviceability             ...
AVAILABILITYNon-Cloud Model
• Design for Non-Failure• Deploy with Redundancy• Manage EffectivelyGuiding Principles
• Design for  Non-Failure  • Quality    Hardware• Deploy with  Redundancy  • Specialty    Hardware• Manage  Effectively  •...
AVAILABILITYCloud Model
•   Design for Failure•   Design for Redundancy•   Monitor Extensively•   Track DependenciesGuiding Principles
• Assume nothing• Expect failures  • Anywhere and everywhere  • If it is available now, doesn’t mean it is there later• Fa...
• Unhandled failures is a very bad idea• Poorly handled trivial failure in one part  becomes a critical one somewhere else...
• Eliminate single points of failure• Architect distributed applications• Minimize duration of statefulnessDesign For Redu...
•   Self assess and report health•   Complementary external monitoring•   Load and latency monitoring•   Proactively resta...
• Identify all dependencies  • Hardware, 3rd Party Libraries, Other servers, Network  • Infrastructure/Platform services, ...
• 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...
Ashay ChaudharyCloud Consultant  Corporate Education  Private Cloud Solutions  Highly Scalable SaaS Applications  SaaS Bus...
Upcoming SlideShare
Loading in …5
×

Design For Failure Is Key To Success In The Cloud

2,046 views
1,807 views

Published on

Traditional computing models, like client-server applications, have given rise to best practices for software developers as well as IT professional that deploy and support them. As these applications grew to support more features and users for mission critical workloads, their complexity and cost grew exponentially. Cloud computing offers a paradigm shift for applications to achieve greater availability and scalability at lower cost. This presentation highlights the key principles to build highly available cloud applications (SaaS) and delves deeper into the Design For Failure principle which is the key to success in the cloud.

Published in: Technology
1 Comment
4 Likes
Statistics
Notes
No Downloads
Views
Total views
2,046
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
0
Comments
1
Likes
4
Embeds 0
No embeds

No notes for slide

Design For Failure Is Key To Success In The Cloud

  1. 1. Design For Failure Is KeyTo Success In The CloudAshay Chaudhary
  2. 2. REQUIREMENTSJourney thru the computing models
  3. 3. • Mainframe • Reliability• Desktop • Availability• Client-Server • Serviceability • Performance +• Internet • Security +• Cloud Computing • AgilityEvolution of Requirements
  4. 4. AVAILABILITYNon-Cloud Model
  5. 5. • Design for Non-Failure• Deploy with Redundancy• Manage EffectivelyGuiding Principles
  6. 6. • Design for Non-Failure • Quality Hardware• Deploy with Redundancy • Specialty Hardware• Manage Effectively • Expert Staff • Processes
  7. 7. AVAILABILITYCloud Model
  8. 8. • Design for Failure• Design for Redundancy• Monitor Extensively• Track DependenciesGuiding Principles
  9. 9. • 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 citizenDesign For Failure
  10. 10. • 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 lifestyleHandle All Failures
  11. 11. • Eliminate single points of failure• Architect distributed applications• Minimize duration of statefulnessDesign For Redundancy
  12. 12. • Self assess and report health• Complementary external monitoring• Load and latency monitoring• Proactively restart componentsMonitor Extensively
  13. 13. • Identify all dependencies • Hardware, 3rd Party Libraries, Other servers, Network • Infrastructure/Platform services, External services • Your own components• Track their health and availabilityTrack Dependencies
  14. 14. • 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 cloudKey Takeaways
  15. 15. Ashay ChaudharyCloud Consultant Corporate Education Private Cloud Solutions Highly Scalable SaaS Applications SaaS Business Intelligence & Analyticsashay@kloudpros.com@ashay_c

×