• Save
Design For Failure Is Key To Success In The Cloud
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Design For Failure Is Key To Success In The Cloud

on

  • 1,513 views

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 ...

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.

Statistics

Views

Total Views
1,513
Views on SlideShare
1,513
Embed Views
0

Actions

Likes
2
Downloads
0
Comments
1

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Design For Failure Is Key To Success In The Cloud Presentation Transcript

  • 1. Design For Failure Is KeyTo Success In The CloudAshay Chaudhary
  • 2. REQUIREMENTSJourney thru the computing models
  • 3. • Mainframe • Reliability• Desktop • Availability• Client-Server • Serviceability • Performance +• Internet • Security +• Cloud Computing • AgilityEvolution of Requirements
  • 4. AVAILABILITYNon-Cloud Model
  • 5. • Design for Non-Failure• Deploy with Redundancy• Manage EffectivelyGuiding Principles
  • 6. • Design for Non-Failure • Quality Hardware• Deploy with Redundancy • Specialty Hardware• Manage Effectively • Expert Staff • Processes
  • 7. AVAILABILITYCloud Model
  • 8. • Design for Failure• Design for Redundancy• Monitor Extensively• Track DependenciesGuiding Principles
  • 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. • 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. • Eliminate single points of failure• Architect distributed applications• Minimize duration of statefulnessDesign For Redundancy
  • 12. • Self assess and report health• Complementary external monitoring• Load and latency monitoring• Proactively restart componentsMonitor Extensively
  • 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. • 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. Ashay ChaudharyCloud Consultant Corporate Education Private Cloud Solutions Highly Scalable SaaS Applications SaaS Business Intelligence & Analyticsashay@kloudpros.com@ashay_c