All the principles in here sound exactly like what is SOP at Google (and probably Facebook and others). It&#x27;s a pain in the butt sometimes, especially when making schema changes, but ensuring everything works properly even when you have multiple versions running in production can really help with confidence in making changes.<p>You do have to think several steps ahead when making big changes; the (internal-only) project I work on is in the process of completely changing our DB schema and we&#x27;re redoing our API completely as well.  We&#x27;re attempting to keep our old API running in parallel while migrating literally everything underneath it, which is a fun challenge. It results in a lot of what can feel like busywork, but when the alternative is bringing down your service temporarily, it&#x27;s worth it. An hour of planned downtime to do an offline migration can easily turn into several days when Murphy strikes. That&#x27;s OK when you&#x27;re first building a system, but once anyone is relying on you to get their work done, it is just pure pain.