Gilt uses Puppet for infrastructure configuration management. They have around 1000 Puppet modules and typically run Puppetmaster with Apache and Passenger on CentOS. Changes go through code review and are deployed incrementally using a "canary" flag. An internal tool called Mothership acts as an external node classifier for Puppet and also handles provisioning, assets management, users/groups and DNS. Lessons learned include keeping modules small and simple, planning for change like OS upgrades, and needing at least two views (logical and physical) for node management.