There's a good talk from Jeremy Keith about building resilient websites:
1. Identify core functionality. 2. Make that functionality available using the simplest technology. 3. Enhance!
https://youtu.be/T55Z3VlG43g?si=bJnsv2smKChO9y6q&t=2101