June 29, 2015

Full-Stack Automated Deployments

When we set out to create a standard development and delivery platform four years ago, providing Continuous Delivery-style automated application deployment was a key design requirement.  This was for all the usual reasons: greater efficiency, increased velocity, reduced risk, lower cost, improved reliability.

Achieving automated deployment has been a multifaceted effort, and the first visible results came from employing Chef cookbooks and Jenkins jobs to manage deployment and configuration of our portfolio of custom Java applications. We presented this topic at the 2014 Jenkins User Conference in Boston.

In parallel, we were laying the groundwork for automated database migrations with tools such as Liquibase and Gradle. Management of database schema changes is a source of difficulty for many organizations, and including it in our “push-button” deployment process has provided significant savings of time and effort.  Recently we shared the database side of our automated deployment story at the 2015 Gradle Summit in Santa Clara. The slides and video recording are available.

Now we have full-stack automated deployments and are reaping the expected benefits:

  • Empowerment of individual product development teams via self-service deployments
  • Significant reduction in DEV-to-TEST time delay
  • Reduced workload for IT Operations team
  • More reliable and frequent software releases
  • Time to invest in additional high-value initiatives

Dan Stine

CCC Platform Engineering