Get Satisfaction

Customer service begins in the community.

Get Satisfaction is a platform on which companies create customer communities that let their customers interact with each other, be heard, and find resolution. To ensure maximum flexibility and resiliency for its online community platform, Get Satisfaction automated configuration management and application delivery with Chef™.

The Challenge

Get Satisfaction is an online community platform that fosters consumer conversations about companies' products and services at every stage of the lifecycle. The company uses a fully redundant, geographically dispersed Amazon Web Services (AWS) cloud infrastructure to deliver this innovative approach to customer service. Ensuring its platform can scale to meet demand without any service interruption presented a number of challenges:

  • Achieve maximum resource consistency by eliminating risk of human error
  • Manage configuration and delivery of resources and a complex application stack with minimal staff
  • Establish repeatable model for configuring and deploying new compute environments and applications in hours, not days or weeks

The Solution

Get Satisfaction's engineering team deployed Chef to automate configuration management and application deployments for its AWS infrastructure, including its production and disaster recovery environments.

The Results

  • Achieved highest levels of resource consistency by combining Chef with Ironfan to eliminate manual infrastructure management
  • Ensure cloud disruptions don't impact service by switching production website to disaster recovery resources and back again in just minutes
  • Accelerate application delivery pipeline by enabling developers to easily configure and deploy compute resources they need

Recipe for Success

Get Satisfaction enables 70,000 companies to offer engaging customer service to 35 million consumers. The company built its online community platform in AWS to leverage fully redundant production and disaster recovery (DR) environments and significantly reduce compute costs. With a lean engineering staff, managing the company's Linux-based, relatively complex application stack would be very difficult and unreliable without automation. Get Satisfaction combined Chef and its Knife EC2 command-line plug-in for AWS with Ironfan, an open source orchestration tool, to automate everything from configuration management to application deployments across both its production and DR environments. Thanks to the reusable nature of Chef cookbooks, the same technology was also used to deploy dynamically scalable staging, testing, and continuous integration (CI) environments.

"Managing tens of thousands of customer sites would take a small army of engineers without automation," said Nick Marden, Director of Systems Engineering, Get Satisfaction. "Chef is an awesome infrastructure framework. Together with Ironfan, Chef allows us to configure, provision, orchestrate, and deploy complex application clusters with just a few lines of code."

Get Satisfaction's multi-faceted customer community platform enables companies to engage, interact, and support their customers wherever they reside online. With massive and unpredictable user traffic across thousands of online communities, Get Satisfaction had to bulletproof its AWS infrastructure against cloud outages, resource errors, and scale limitations. Doing so meant creating fully automated, identical production and DR environments. Using Chef, Get Satisfaction can replicate production configurations in its DR environment in just minutes, providing the flexibility to adjust to fluctuations in the cloud and manage traffic spikes. In addition, by using Chef to automate all its server configurations, Get Satisfaction has eliminated the risk of human error in resource provisioning, further improving system reliability.

"Chef defines our entire infrastructure with simple Ruby code recipes that bend to our needs," Marden continued. "We're not confined by strict templates, domain-specific languages, or assumptions built into other automation tools. Managing our Chef recipes with Chef gives us the freedom to configure, adjust, configure again, and evolve our infrastructure in full alignment with our business needs."

Get Satisfaction's engineers have used a range of cookbooks from the Chef Community to create an easy-to-follow blueprint for configuring and deploying resources and applications, accelerating development cycles. Using Chef to define specific application attributes, Get Satisfaction has a code-based model for reuse that ensures engineering and development teams can collaborate from the same predefined guidelines, reducing errors and improving efficiency.

"We're growing a huge community platform with some really talented developers and engineers," Marden added. "None of us have the time to worry about configuration problems. Chef makes sure things happen the right way every time."

"Chef is kind of like magic. Small, easy-to-understand blocks of code are used to define sophisticated system behaviors - behaviors that are guaranteed to happen the same way, every time. Chef provides enormous flexibility, reduces configuration errors, and gives us the ability to innovate our systems as quickly as we can code." Nick Marden, Director of Systems Engineering, Get Satisfaction

About Chef

Chef is the provider of Chef, the automation platform for the coded business. Chef provides the speed, flexibility, and efficiency to compete in the digital economy. By modeling IT infrastructure and application delivery as code, Chef empowers businesses of all sizes to easily scale to meet demand, eliminate down time, manage complexity, and accelerate time to market.