Learn more about how Office Depot is adopting DevOps to speed time-to-market for new applications
Summary: Office Depot adopts DevOps to speed time-to-market for new applications that enable its strategic transformation from an office products retailer to a business services and technology provider.
Challenge: Increase automation and reduce administrative overhead so teams can focus more on innovation and less on managing tools
Solution: Leverage DevOps and CloudBees CI running on Kubernetes as the foundation for its business transformation
Anticipated business value savings of $7K+ per developer per year; 704 days gained annually
Jenkins controller set-up times cut from about one week to minutes
Repetitive tasks automated
Hours-long, multiperson release process simplified to button clicks
Administrative burden reduced by 50%
Product: CloudBees CI
Office Depot is in the midst of a strategic transformation, pivoting from a traditional office products retailer to a broader business services and technology platform provider for small- and medium-sized businesses.
Office Depot is one of the first companies to provide a nationwide, comprehensive network of enterprise-level technology services and products in a market that’s estimated at $25 billion. Based on its own research, Office Depot found that nearly one-third of SMBs do not have a website, while over half aren’t tapping into the power of social marketing*. Furthermore, many are struggling with the administrative and logistical demands needed to operate and grow.
The company’s transformation is enabled in part by a DevOps strategy that is making it possible for teams to continuously innovate and deliver new software products and features faster.
As part of this strategy, Office Depot development teams are breaking down monolithic software systems into microservices, a move that is making it easier to rapidly respond to new demands and integrate new services and technologies from recent acquisitions. As they adopt DevOps practices, teams are using a new continuous integration (CI) and continuous delivery (CD) platform based on CloudBees CI to increase automation, reduce administrative overhead and accelerate software releases.
The company’s e-commerce division has already used this CI/CD platform to deliver the software for Workonomy, a new service platform for both SMB and enterprise customers, allowing them to create personalized support based on their business needs.
"Whether it’s our development (eCommerce, retail, etc.) or operational teams across the enterprise, the more we share technology, the better we are as an organization,” says Nick Sbordone, director of IT and digital platform engineering at Office Depot. "CloudBees CI enables us to align on a single platform so that the way we build and deploy code is the same across all of our teams.”
Don Kallman, lead systems engineer at Office Depot adds, "It’s all about innovation and time-to-market so that we can focus more of our time on developing new products and features and less time on managing the tools we use to build and deploy them. If you don’t automate, you’re irrelevant."
To provide a reliable foundation for its DevOps transformation, Office Depot wanted a way to vet Jenkins plugins, rapidly spin up new controllers, run Jenkins on Kubernetes and eliminate downtime stemming from inadequate support. With this strong foundation Sbordone and Kallman knew their teams would be able to focus more on innovation and time to market.
Based on a collaborative analysis conducted by CloudBees, Office Depot anticipates significant benefits associated with its DevOps strategy and adoption of CloudBees CI, including $7,042 in business value of time saved per developer per year, the equivalent of 704 total days gained for innovation annually.
"With CloudBees CI, we made a conscious decision to bring in a platform that was enterprise-ready, geared toward both developers and operations teams alike. That platform is making it possible for us to simplify the landscape, so our teams can bring innovative capabilities to market faster."Nick SbordoneDirector of IT and Digital Platform Engineering
Increase Innovation, Automation and Velocity, While Minimizing Time Spent on Tools
In the past, Office Depot development teams had set up their own Jenkins instances when and as needed. This setup was not centrally planned or managed. As the reliance on Jenkins increased, the maintenance burden and the risk of extended downtime rose, too.
Office Depot found that bringing in new tools created increased support demands that hindered the team’s ability to meet increased business demands. "We would bring in a new product, and then work hard to support that product rather than leveraging it to accomplish our business objectives,” says Sbordone. "We were spending too much time trying to manage the tools rather than creating new functionality for our business.”
Using an unsupported version of Jenkins introduced limitations that prevented faster velocity and broader scale. "I wanted to get Office Depot out of the business of supporting tools and instead increase our focus on automation throughout the enterprise,” says Sbordone.
Kallman experienced the drawbacks of unmanaged Jenkins controllers firsthand. At one point, various development teams were using different versions of the cloud native plugin. As a result of a CLI change, an update of the plugin was released, setting off a series of problems for Office Depot.
"The new plugin version changed the way credentials were stored and passed, which unhooked the way the old version was configured in our systems,” recalls Kallman. "While working on this problem, we realized that our Jenkins back-up strategy was inadequate, and builds were stopped for an entire day.”
Sbordone says that even though the teams knew how to use Jenkins, supporting the environment enterprise-wide quickly and consistently blocked progress. "It took the team’s focus off innovation because managing the tools was a barrier,” says Sbordone. "And, as we came to rely more heavily on the tools – two engineers were doing the work of nine with the help of automation. It became clear that we could not afford to rely on an unsupported version of Jenkins. The stakes were too high.”
Drive a DevOps Transformation Using CloudBees CI
Office Depot chose and deployed CloudBees CI to address the challenges it was experiencing with unmanaged Jenkins controllers and with supporting a DevOps transformation enterprise-wide, throughout its e-commerce business unit.
Among the first projects to be set up on CloudBees CI was for the company’s strategic Workonomy platform. Because Workonomy was mostly greenfield development with few dependencies, Kallman and the digital platform engineering team were able to set it up from scratch and establish it as a deployment model for other projects to follow.
"The Workonomy pipeline was the first I had ever written, and I wrote it on the airplane on my way to Jenkins World,” says Kallman. "Now, it’s our main deployment workflow currently running live on CloudBees CI.”
The team is in the process of converting existing freestyle jobs to pipelines using the Jenkins Pipeline plugin. Once that is complete, Office Depot will start bringing more development teams onto CloudBees CI controllers, which run on Kubernetes in the cloud as part of a strategy set by the Office Depot architecture team.
Kallman adds, "Running on Kubernetes gives us automatic failover and the ability to silo our applications. For example, CloudBees CI runs essentially on its own cluster and its own Virtual Private Cloud (VPC). The pod stands alone, with its own namespace, ingress and egress – and that keeps teams separate.”
To minimize problems with plugin incompatibility, the team uses the Beekeeper Upgrade Assistant to monitor Jenkins plugins and identify those that are not verified or trusted.
"Beekeeper would have prevented the day-long stoppage we experienced when we previously updated our cloud native plugin,” says Kallman. "Now, if I give a user escalated privileges and they install an unsupported plugin, Beekeeper will downgrade it automatically on a restart. I can then work with the user to find a solution that has been tested to ensure compatibility.”
If a problem does arise, Kallman can quickly roll back to a stable setup and resume working. "The backup and restore features of CloudBees CI are a valuable addition for us because we lacked reliable backups previously. Now all our backups are done the same way and are centrally located, so it’s easy to roll back an update if and when we need to.”
All new Jenkins controllers at Office Depot are now centrally managed via CloudBees Jenkins Operations Center, which has simplified and streamlined many previously manual administration tasks. "When I recently upgraded the plugins on all of our controllers, it was a single button click. Spinning up a new controller and setting up role-based access control is also point and click,” says Kallman.
The ability to quickly set up a new controller with CloudBees CI has also helped increase stability. "We have many teams with jobs that should be kept separate so that one team doesn’t affect another team’s production flow,” explains Kallman.
Support from CloudBees engineers has played a vital role in reducing the burden on the digital platform engineering team for resolving issues. "We now have a dedicated CloudBees support team and no longer have to go onto forums to find out why a plugin doesn’t work on our version of Jenkins. Likewise, when our team leads have an issue, they can get support directly from CloudBees any time of the day or night,” says Kallman.
CloudBees professional services has also helped advance Office Depot’s objectives. "CloudBees has helped us learn best practices for converting our freestyle projects as pipelines and gave us guidance on how to do it cleanly. They also spent a few days with us making sure our Kubernetes deployment was correct and set up properly.”
Along with the roll-out of CloudBees CI, Office Depot has been fostering cultural changes needed for a successful DevOps transformation and breaking down monolithic applications into microservices. After starting with just three jobs a few months ago, there are now more than 100 jobs running on CloudBees CI with many more to be added in the coming months as they complete the migration.
"I can say that as we move forward with CloudBees CI, the release cycle will become easier, developers will be able to push code more efficiently, their productivity will increase, and they’ll be able to deliver new features more quickly, which will go hand-in-hand with our drive toward more microservices,” says Kallman.
For Office Depot, its business transformation is being fueled by the rapid pace at which it can deliver new, innovative software features to its customers. A DevOps approach and CloudBees CI are central to helping its SMB and enterprise customers with business platform services that enable them to grow and succeed; helping Office Depot to strengthen its market position and brand.
Jenkins Controller set-up times cut from more than one week to minutes.
"In the past, it would take at least a week to spin up a controller. Instead we almost always added new teams to an existing controller, which caused its own issues,” says Kallman. "With CloudBees CI, I push a button to spin up a new controller with our required plugins already installed.”
Repetitive tasks automated.
"You can’t hire people to do repetitive tasks and expect them to be happy -- and if they’re not happy, their productivity falls and they’ll eventually find someplace else to work,” says Kallman. "CloudBees CI takes repeated tasks and puts them into a platform that can perform those tasks consistently and automatically. That’s what gets me excited about coming to work every day: finding ways to make somebody’s life better.”
Hours-long, multi-person release process simplified to button clicks.
"In the past, we’d spend all day Friday staging and preparing for the monthly release of our full stack. Then we’d have a whole team of up to eight people come in at 4 a.m. on Saturday, and each one would be responsible for deploying one application,” says Kallman. "Now, on Saturday morning, one person can hit eight buttons and deploy eight applications. They can check the logs, and if they need to roll it back, they can do so with a button click.”
Administrative burden reduced by 50%.
"I used to spend more than half my time doing things that CloudBees Jenkins Operations Center now automates for me, from upgrading plugins to spinning up controllers and monitoring them,” says Kallman. "I have visibility that I lacked before; and everything is in one centralized location.”