Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Fail Safe, Fail Fast [Video]

DZone's Guide to

Fail Safe, Fail Fast [Video]

A prezi presentation on how to deal with various forms of failure when designing application architecture.

· DevOps Zone
Free Resource

The Nexus Suite is uniquely architected for a DevOps native world and creates value early in the development pipeline, provides precise contextual controls at every phase, and accelerates DevOps innovation with automation you can trust. Read how in this ebook.

When developing a rapid prototype it can make sense to put the emphasis on the "happy path" and not consider things like exception handling, edge cases, and failure.  Perhaps, once the prototype phase of the project is over the code will be thrown out or it will be refactored to deal with the real world.

In a production system we simply don't have luxury to only consider the happy path.  The more production system I have worked on the more types of failure I have being exposed to — some of it very painful. As my hair went greyer from these experiences, I couldn't help thinking more and more about how to make failure less painful. Who wants their pager going off for some silly reason? Nobody. If dealing with production code, we simply must think about how best to deal with various forms of failure. 

In this presentation I consider two engineering techniques that I think should always be on the architectural radar:

  • Fail fast
  • Fail safe


The DevOps Zone is brought to you in partnership with Sonatype Nexus.  See how the Nexus platform infuses precise open source component intelligence into the DevOps pipeline early, everywhere, and at scale. Read how in this ebook

Topics:
quality assurance ,failure ,devops ,continuous delivery

Published at DZone with permission of Alex Staveley, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}