Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Knobs, Buttons, and Switches: operating your application at scale

Knobs, Buttons, and Switches: operating your application at scale

Pilots have the flight deck, Captain Kirk had his bridge, but what do you have for managing failure in your application?

Every app comes under stress, whether it's from downstream failures to unmaintainable high load to a spike in intensive requests. We'll cover code patterns you can use to change the behavior of your application on the fly to gracefully fail.

You’ll walk away from this talk with tools you can have on hand to ensure you remain in control even when your application is under stress.

Amy Unger

April 17, 2018
Tweet

More Decks by Amy Unger

Other Decks in Technology

Transcript

  1. 1. Maintenance Mode 2. Read-Only Mode 3. Feature Flags 4.

    Rate Limits 5. Non-critical work 6. New code paths 7. Circuit Breakers
  2. class MonthlyUserReport def run return unless enabled? do_something end def

    enabled? ReportSetting.get(“monthly_user_report”) end end
  3. class MonthlyUserReport < Report def run return unless enabled? do_something

    end def enabled? ReportSetting.get(“monthly_user_report”) end end
  4. class Report def run return unless enabled? build end def

    enabled? ReportSetting.get(self.class.underscore) end end
  5. Tomorrow 10:50 So You’ve Got Yourself a Kafka: Event-Powered Rails

    Services Stella Cotton Room 301-302 Tomorrow 11:40 Postgres 10, Performance, and You Gabe Enslein Room 306-307