SOLID SNAKES
HYNEK SCHLAWACK
SOLID SNAKES ATTITUDE INCENTIVES IMPORTANT VS URGENT SIMPLICITY - - PowerPoint PPT Presentation
HYNEK SCHLAWACK SOLID SNAKES ATTITUDE INCENTIVES IMPORTANT VS URGENT SIMPLICITY THE PRICE OF RELIABILITY IS THE PURSUIT OF THE UTMOST SIMPLICITY. Sir C.A.R. Hoare NORMAL ACCIDENTS ESSENTIAL ESSENTIAL VS ACCIDENTAL OPERATIONAL
HYNEK SCHLAWACK
IMPORTANT VS URGENT
THE PRICE OF RELIABILITY IS THE PURSUIT OF THE UTMOST SIMPLICITY.
Sir C.A.R. Hoare
SIMPLICITYNORMAL ACCIDENTS
Service 2 Service 3 Service 1 Service 4 Service 5 Service 6 Service 7 Service 8
I DON’T BELIEVE IN HUMAN ERROR
John Allspaw, CTO at Etsy
HUMAN ERRORSDATA VALIDATION
DATA VALIDATION AT EDGES
DATA VALIDATION NORMALIZATION AT EDGES
FAILURE IS INEVITABLE
Twitter 2007
Twitter 2007 NASA 1969
FAILURE IS INEVITABLE
FAILURE IS INEVITABLE (⌐■_■)
CLOSED
Local Client Remote API Circuit Breaker call() call() result resultCLOSED → OPEN
Local Client Remote API Circuit Breaker call() call() timeout! timeout!OPEN
Local Client Remote API Circuit Breaker call() circuitOPEN → HALF-CLOSED
Local Client Remote API Circuit Breaker call() call() result resultFrontend Backend
3x
9x 9x
Frontend Backend 3xtry: do_something() return True except Exception: return False
try: do_something() except Exception: raise AppException()
try: do_something() return True except Exception as e: raise AppException() from e
try: do_something() return True except Exception as e: raise AppException() from e
AppException().__cause__ == e
sys.exit(1)