Safespring has moved from a first generation infrastructure as code approach using Puppet for centralized configuration management to a second generation approach. The new approach uses Smie to build artifacts from templates, Naust to store and version artifacts, and Seter to describe deployment of artifacts to heterogeneous targets including physical, virtual, and container environments. This distributed architecture allows faster updates, lower barriers to change, and easier reproducibility of systems.