Challenge: Shrink Time To Innovate
Choose Digital offers a white label media store solution (think iTunes) for enterprises that want to reward brand loyalty with opportunities to use miles, points, or cash to buy digital products. As a competitive media company, Choose Digital was eager to test and adopt innovations to its software platform as fast as its developers could produce them. The media firm was ready for a model that lifts the burden of maintaining tools in-house.
“We were looking for a way to move from a straight compute environment to a DevOps approach that would enable us to push lots of code and new builds out daily while quickly iterating a lot of new ideas for improvements to our digital marketplace,” says Mario Cruz, Co-Founder & CTO, Choose Digital. A managed service could also relieve the headaches of supporting all the development applications internally. Choose Digital chose CloudBees’ Jenkins , a Java-based pipeline and orchestration tool for continuous deployment, which was also available as a hosted service, to meet those needs.
Once Choose Digital made its decision, CloudBees made it simple to get up and running. “We opened our account with CloudBees and were productive with our Dev and Stage environments in two days using a fully functional Jenkins trial implementation,” says Cruz. Choose Digital moved production into the cloud 30-days later.
Jenkins enabled Choose Digital to find and fix bugs and try new things fairly quickly, without waiting for monolithic releases. “Jenkins is how we innovate, test our code, and enable the coder to immediately fix what he breaks,” says Cruz. Jenkins provides continuous integration services for software development and enables Cruz’s team to run build tests and functional tests.
“Jenkins gives us a quick snapshot so we can find broken code right away, not five weeks from now,” says Cruz. Enterprises that are still using older approaches don’t typically have time to fix small bugs, and certainly can’t fix them right away.
Choose Digital uses Jenkins in the cloud (DEV@cloud), which CloudBees fully manages and hosts on AWS EC2 http://aws.amazon.com/ec2/. Cruz doesn’t worry about maintaining the environment or whether his media platform has enough space or capacity. “CloudBees manages all the updates and issues with Jenkins CI. They support all the plugins for Jenkins, even if it is not their own plugin,” says Cruz.
As a managed service, Jenkins simply works from machine to machine. “My developers can focus on the product. They don’t have to worry about whether they have the right software build, the right apps on their machines, or the right versions of those apps,” says Cruz.
“As a result, development is up to 5 times faster in our continuous deployment environment than it would be if we had set up our own hardware or used an IaaS solution. Things that could take months or years we can now do in days,” says Cruz.
A Bump In The Road
As Cruz and his team moved to Jenkins, the biggest challenge was communication. “The toolset is not the challenge, it’s having everyone thinking with and getting used to the new DevOps mindset,” says Cruz; “while we were fully functional in two days, it took two weeks to get used to the new mindset.”
Today, Cruz’s software team communicates across stakeholders and team members in a DevOps approach that leverages Slack https://slack.com/ (IRC) and HipChat https://www.hipchat.com/ plugins for Jenkins. “DevOps is more a culture than it is tools; DevOps is all about communication. We communicate to our team, to the QA department, and to product managers,” says Cruz.
Current State: Everyone Knows, So We Can Fix Everything
Jenkins brings transparency so that what only some could see—such as what a developer has broken—becomes everyone’s knowledge. “Things get flushed out pretty quickly. By using Jenkins CI, you see the hidden things that no one knows about quickly,” says Cruz.
Cruz has some realistic advice for his peers: The sooner you get to an environment and mindset like Choose Digital uses, says Cruz, the sooner you will see the benefits and flush out bigger problems. “It’s not perfect the first time around but it gets better and better on every build. You get rid of the technical debt you didn’t know you had,” says Cruz.