O'Reilly's Performance Optimizations in a Cloud-Centric World

Learn all you need to know about email best practices, deliverability, and tools with email whitepapers and ebooks.

Issue link: https://hub.dyn.com/i/545501

Contents of this Issue


Page 34 of 38

Avoid "Death by Retry" Once a failure state is known, share that knowledge across any ele‐ ments of your system that depend on that service and put in place a measured policy for attempting retries. Do not create a death by retry situation where your system is brought down by constant attempts to connect to an unavailable system. A good architectural practice is to route all requests through a cen‐ tral point of connection. Have a Backup Plan If the functionality provided by the third-party system is key, then consider having a replacement system in place and automatically failover to it. Another option is to capture all the details of the request for pro‐ cessing offline when the system returns. This is valid for systems such those for payment processing or appointment bookings. Provide Ability to Turn Functionality Off Your system should be built to provide the ability to remove ele‐ ments of functionality by a simple configuration or application change—often referred to as feature toggles. This allows you much more granular control over the impact of elements of your system. If they're starting to cause issues, then remove then. Feature Toggles Feature toggles are a development methodology where software features are built into systems with the ability to turn them on and off without redeploying the application. This approach is often used as a way of pushing new features into production ahead of the time that they need to be made active, allowing the wider business to activate the feature at an appropriate time with minimal assistance needed from the IT team. More intelligent feature toggle systems will allow gradual roll-out of new features to subgroups of users. This allows the company to val‐ idate aspects such as functional correctness, performance, and pop‐ ularity of features before rolling them out completely. Ensure You Can Handle Any Failure | 25

Articles in this issue

view archives of eBooks - O'Reilly's Performance Optimizations in a Cloud-Centric World