This document discusses Constant Contact's adoption and use of Puppet for configuration management of their servers and applications. It notes that Constant Contact has around 500,000 paying customers and runs 87 applications across two datacenters handling around 2 million database transactions per minute. Constant Contact uses Puppet to help scale their infrastructure and applications across a decentralized, diverse environment with agile development teams. The document outlines their repository layout using Puppet modules, workflows for module development and deployment, and thanks those involved in the cultural shift to using Puppet.
Quick snapshot of CTCTLittle bit on how we adopted PuppetThen over to the cleanup hitter
Fast growingMicro businessesOffices in Loveland, Boca, SF and NYCLots of apps, at decent scale --- Top 20 email senders worldwide
Business DriversDiverse: not all uniform web app servers multiple applicationsDistributed: memcached, sso, coherence, cassandraManage it cost-effectively, keep things consistent in order to max uptime and mean time to recovery - don’t slow down the rate of changeAnd oh yeah, improve gross margins
We hit a bit of a tipping point on managing servers, couple of hundred or soStarted with a small piece of the puzzleSystem stuff resolve.conf, host…etcWork out the basic process, gain trust
Getting adoption by leaving control in hands of adminsThe declarative model was challenging to many at firstPush via func was a good interim step
Good news along the way thoughConfidence gained – Automated System Warning!Moved mail subsystem to daemon modeStandard well understood configuration postfix and centosSystems folks were onboard
Change in control, ownership, processesRetooling without stopping rate of changeGaining trust while changing folx mindset
Manage social data cost-effectively3 months cycle, cheaperBut still had challenges around branching and testingIntegration in pre-productionIndependent upgradesSo we had some work to do, including orchestration
Quick Shout Out
We could only go so far pulling from the Systems sideBut it had to work for Developers, so…Here you go Dev, own the config, trust in Hawk
The monolith!We had some significant challenges:New appsUgly handoffsEnvironmentsDecreased velocityFUDFrustrated parties on both sides of the house…