Code can bring people together.

CustomInk is a design-online shop where it's easy to create T-Shirts for any occasion. Enterprise Chef™ automates configuration management across the company's entire hybrid infrastructure, so CustomInk can use code to run everything from their website to their printers.
"A single ad can double or triple our site traffic, so we've got to be able to respond in real-time if we're going to keep all our customers smiling. Enterprise Chef gives us the agility to handle even the craziest spikes in demand because everything from spinning up new compute to delivering app updates is automated and rock-solid." Jake Vanderdray, WebOps Team Lead, CustomInk

The Challenge

CustomInk makes it easy for anyone to create customized T-shirts, sweatshirts, and much more online, bringing people together whether it's for charity, sports, or a birthday party. The company employs proprietary and primarily Ruby-based software applications running on both virtualized and cloud servers to manage their entire business. With only four IT operations personnel on staff, keeping up with huge customer demand presented a range of challenges:

  • Manage fully coded business using custom Ruby applications to run everything from website operations to customer service to printers - with only four IT operations personnel
  • Align engineering and operations teams to maximum development velocity in delivering complex application stack
  • Respond quickly to unpredictable, often massive surges in customer demand resulting from advertisements, holidays, and other events

The Solution

CustomInk deployed the hosted service version of Enterprise Chef™ to automate configuration management across virtualized servers in their co-located data center and AWS cloud resources. Using Enterprise Chef, CustomInk has standardized their IT infrastructure on a set of Chef Cookbooks shared between both development and operations teams.

The Results

  • Adapt to customer demand shifts in real-time using Chef code to automate the creation and deployment of new AWS resources
  • Accelerate delivery of new applications and updates by automating the building, testing, and staging of new application code
  • Achieve maximum transparency between development and operations via shared repository of all Chef Cookbooks and changes to infrastructure

Recipe for Success

When Jake Vanderdray joined CustomInk in 2010 to lead the company's web operations team, he found the template-based automation tool in use didn't have the scale, flexibility, or ease of integration necessary for long-term business growth. The company's application stack was primarily Ruby-based with various custom-written applications running nearly all core business systems - even the printers pumping out the clothing designs. With major growth on the horizon and an imperative to help engineers work better with operations in getting the resources needed for development projects, Jake and his team set about architecting a new automation strategy.

"When I started almost three years ago, we all agreed we needed to be more agile and develop apps faster to keep pace with customer growth," Jake recalled. "That meant two things. First, add AWS resources to reduce compute costs and be more flexible. Second, find an automation platform that works well with Ruby and can scale to whatever size we may need to go."

Jake and his team soon brought in Enterprise Chef and its Ruby-based, primitives-driven automation model. Next, they began standardizing CustomInk's infrastructure as Chef resources all managed with a rock-solid set of Chef Cookbooks shared between development and operations on GitHub. Now, developers can submit pull requests for resources and operations can easily approve and deliver resources in hours, or make any necessary code changes before approving the new resource configurations and still deliver new AWS servers in less than a day.

"Chef has standardized 95 percent of our infrastructure and we're closing in on having everything done with Chef," Jake continued. "It's made collaboration between development and operations much smoother and more frequent. As a result, we can move a lot faster all while being confident in Chef to ensure system consistency."

To stay ahead of changes in site traffic, Jake and his team use Chef in combination with Jenkins CI to dynamically provision not only new AWS servers, but also automate the build, test, and staging of new applications. Using Chef, Jake and his team can automatically create new environments for developers in just minutes that mirror CustomInk's production system. Within these environments developers use Chef and Jenkins to automate application builds and tests before moving approved code updates to Capistrano for deployment. Once the code is deployed and the additional compute is no longer in use, CustomInk's operations team can easily destroy the AWS servers to further reduce costs.

"AWS, Chef, and Jenkins give us an automated tool chain for our entire development lifecycle, making us much more agile when demand pops," Jake added. "We can spin servers up and down pretty much at will, which means devs get the resources they need when they need them and everybody's happier."


  • Manage complex, custom Ruby-based application stack with only four IT operations staff
  • Stay ahead of unpredictable changes in demand and deliver new apps faster
  • Standardize hybrid infrastructure on shared repository of Chef code for maximum consistency