Percolate – Supporting Rapid Growth and Reducing IT-Operations Costs Through Automation
“Percolate is focused on building what we call a ‘system of record’ for marketing – a unified system for all enterprise marketing operations. Percolate needs great computing power in order to process marketing data everywhere in real- time. Doing fully automated IT-operations has become a requirement to keep the cost down and build a sustainable business.”, Laurent Raufaste, Director of Infrastructure, Percolate
With Amazon AWS spot-instances and CFEngine automation, IT-operations have been reduced 10x.
Some of the world’s largest brands and fastest growing companies use Percolate to handle all of their internal marketing operations and produce consistent, effective marketing. Supporting rapid business growth presented the IT infrastructure operations team at Percolate with a unique set of challenges and requirements:
Agile server provisioning and risk-free change management: Percolate needed an automation solution that could introduce changes in a controlled fashion to minimize the risk of breaking the production environment, the ability to monitor and get information on its infrastructure at a moment’s notice, as well as be able to leverage this knowledge by spawning or destroying server-instances on demand.
Maintaining QoS and homogeneity in a dynamic environment: All of Percolate servers must be built dynamically from scratch, and servers in general needed to be treated as disposable elements given the strategy to use AWS spot-instances. Percolate needed the ability to ensure consistency across development, staging and production to reduce risk of code commits that passed tests in one environment while failing in another.
Improving Operational Efficiency and Cutting Costs: Percolate needed an automation solution that could help them understand their infrastructure (‘what is running where’), and use it efficiently (‘destroy a resource that is not needed to save costs’). In short they wanted to maintain a very efficient datacenter operations model with ‘no hidden server in the closet’.
Percolate chose CFEngine to automate their infrastructure configuration and lifecycle management by enforcing intended system state for compliance. CFEngine controls virtually everything in development, staging, and production, including setting up new servers from bare metal, all OS configurations, software updates, as well as systems change management that is accomplished rapidly.
Rapid and dynamic server management:
All of Percolate servers are dynamically built from scratch using a pristine Ubuntu Linux image. Using CFEngine, Percolate has built a modular infrastructure on sound DRY principles. Any module in the stack is reused on any server in any environment. When it comes to ease of changes, CFEngine automation means that Percolate operations staff no longer need to log into individual machines to maintain them – they instead make changes into CFEngine as a policy and the changes are propagated to all the relevant servers. Any part of the Percolate infrastructure can now be changed in 5 minutes with just a simple git commit and a git push of a few lines of CFEngine code.
Maintaining exemplary operational QoS:
With CFEngine automating the environment Percolate can now ensure that the hundreds of instances they run across datacenters are in the desired and expected state and that servers are consistent and compliant. From a development and testing perspective, CFEngine allows Percolate IT staff to provide a replica (of production) environment at a moments notice. At heart Percolate is a technology company and CFEngine helps its developers in building the best possible product by providing an environment that mimics live production environments.
Leveraging cloud computing – instant availability, economies of scale:
To run a sustainable business in the face of highly variable and dynamic compute restrictions imposed on IT requires that IT leverage the cloud. But that is just one part of the puzzle. The other and equally important part is to ensure that Percolate can identify resources that are not needed and shut them down. Similarly the ability to spin up resources as needed, to configure them and bring online instantly is a demand placed on IT in such dynamic environments. With CFEngine, Percolate is able to configure and launch a new server very quickly using Amazon spot instances. This has cut IT costs by a factor of almost 10.