Tendril empowers engineers with Jenkins and CloudBees Jenkins Platform to establish a DevOps culture and take their ideas from conception to production
Simplify a complex development environment and increase development efciency
Use the CloudBees Jenkins Platorm™ to consolidate build infrastructure, te together disparate technologies and lay a foundaton for future growth
» Disparate technologies integrated to speed development
» Expert, same-day support received
» Scalable, lastng foundaton for CI, CD and DevOps established
» CloudBees Jenkins Platform™
Tendril provides cloud software solutions that enable utilities and other energy providers to acquire new customers, engage existing ones and orchestrate home energy experiences.
Orchestrated Energy, the company’s cloud-based residential Continuous Demand Management (CDM) solution, analyzes weather patterns, consumer behaviors and the thermal characteristics of individual residences to improve energy efficiency and better manage peak demand. Maximizing efficiency is the unifying principle for Tendril engineers, both for the software solutions they deliver and for the processes they use to build that software.
“Efficiency is fundamental to what we do; we are passionate about it. That is reflected in the solutions that we create and in how we work,” says David Arnold, manager of site reliability engineering at Tendril. “We use continuous integration and continuous delivery to empower our engineers with the right tools and Processes to take their ideas from conception to production. We are leveraging the substantial power of Jenkins and our partnership with CloudBees to build around best practices, pull together disparate technologies and establish a DevOps culture at Tendril.”
CHALLENGE: SIMPLIFY A COMPLEX DEVELOPMENT AND DEPLOYMENT ENVIRONMENT
Tendril engineers had been using continuous integration (CI) tools, including Hudson and later Jenkins, for several years. Over time, the development environment sprawled to encompass collection of five different build servers running disparate versions of Jenkins and expanded to include a wide variety of technologies, including Mesos, Docker, Spark, Hadoop and Amazon Web Services (AWS). “Our complex environment – with different versions of Jenkins and different configurations – was slowing us down and the administrate overhead was a real challenge,” recalls Arnold.
Arnold and his group began looking for a solution to address these challenges while supporting the company’s adoption of continuous delivery (CD) and DevOps practices, its continued growth and its backing of open source initatves. “We are contributors to open source solutions, and we like to work with companies that give back to the community,” says Arnold. At the same tme, the group recognized a need for access to expert support when needed. “Community support can be great at times, but at others it is sorely lacking,” says Arnold.
SOLUTION: USE CLOUDBEES WITH MESOS, DOCKER AND AWS TO MAXIMIZE EFFICIENCY AND MINIMIZE DEVELOPMENT ROADBLOCKS
Tendril used the CloudBees Jenkins Platform to strengthen its existing CI and emerging CD practices while laying a foundation for a DevOps transformation as the company expanded.
Arnold and his group began with a proof-of-concept project to verify that the CloudBees Jenkins Platform would work well in their environment with Mesos and Docker. “The Mesos platform enables us to use resources efficiently and maintain an agile environment in which we rapidly develop new products and techniques,” Arnold notes. “Virtually all of our builds use Mesos and the Mesos Jenkins plugin.” This plugin enables Tendril to automatically spin up Jenkins nodes on Mesos when the build queue grows.
After successful completion of this proof-of-concept project, Tendril moved their existing jobs from Jenkins to the CloudBees Jenkins Platform. Tendril engineers also started managing complex sequences of jobs using the Pipeline plugin. “The Pipeline plugin provides a great way for us to manage the complexity inherent in our jobs,” says Arnold.
Arnold and his group set up the Role-based Access Control (RBAC) plugin, the Folders Plus plugin and the CloudBees Credentials plugin to control access to Jenkins jobs without impeding developers. “The RBAC and Folders Plus plugins make it easy to create and assign roles for specific projects in a way that does not put up obstacles for our teams,” says Arnold.
When Tendril engineers commit code to a GitHub repository, Jenkins kicks of build and test jobs. They use the Promoted Builds plugin to identify and promote good builds that have successfully passed a wide range of automated tests, including front-end Selenium tests among others. Throughout the workflow, the team uses Docker to maintain a consistent, portable environment for the applications being developed. “Our engineers typically follow a pattern in which they use the Promoted Builds plugin to move their Docker-ized application from local development through a series of environments to our Amazon Web Services environment,” Arnold explains.
With CloudBees and the Mesos plugin, Tendril consolidated their build environment, ultimately reducing five Jenkins instances to a single CloudBees Jenkins Platform instance. “Reducing the complexity of our environment was a big win for us,” says Arnold.
This past year Tendril expanded into two more continents, and as the development team grows worldwide, the company has plans in place to use CloudBees Jenkins Operations Center to manage additional Jenkins masters. “Later this year, we will have geographically distributed Jenkins masters. Being able to have one interface for multiple instances with CloudBees Jenkins Operations Center is going to help us grow – and grow intelligently.”
Disparate technologies integrated to speed development.
“One of the beautiful things about the CloudBees Jenkins Platform is the vast plugin infrastructure and ecosystem that enables us to pull together a disparate set of technologies – microservices, Docker, Mesos, AWS and more – to increase velocity on the path to production,” says Arnold.
Expert, same-day support received.
“We don’t need support frequently, but when we do, the responsiveness of CloudBees is outstanding. It’s great to have somebody jump up, ready to swing the bat the same day and go in-depth when you need it,” Arnold says. “CloudBees support always takes ownership of the issue, and all of our experiences with them have been positive.”
Scalable, lasting foundation for CI, CD and DevOps established.
“Tendril is growing, and as we expand we know we have a trusted partner in CloudBees for CI and our push to improve efficiency and quality with CD and DevOps,” says Arnold. “Looking forward to Jenkins 2, I sleep better at night knowing that we’ll have CloudBees with us when we make that move.”