Contributed by Manager, Build, Tools and Infrastructure, A Leading Provider of Networking and Security Solutions
There's no room for error in enterprise IT. If your services or your network goes dark, a minute of downtime can lead to millions of dollars in losses. That's why you need robust, redundant infrastructure that can weather any crisis.
I work for a networking and security solutions company that makes the routers and switches that power some of the world's biggest companies' networks. You won't find our products at your neighborhood Best Buy, but you might spot our hardware in the data centers of Fortune 500 companies. We also make enterprise network security software and have started offering cloud-based solutions to our customers.
A Great Place to Work
We are also a great place to work. My company consistently ranks among the world's top employers. We expect a lot of our engineers, but we reward them well. We also provide optimal working conditions and the best tools so they can thrive and create world-class solutions.
I manage the build, tools and infrastructure team. We provide a stable CI/CD environment and pipeline to the developers working on our network operating system that powers all our physical and virtual networking and security products.
We also work on our network operating system for the Cloud, a standalone version of this operating system delivered in a Docker container that runs on Linux. These two products allow our customers to automate network operations, orchestrate frameworks, collect telemetry data and integrate with third-party applications to deploy and manage optimized enterprise networks.
Maintaining Motivation and Momentum
One of the best ways to speed the development process is CI/CD pipeline automation. Although we'd already automated builds, the process wasn't distributed. Each new build ran on a developer's local machine and would take seven or eight hours to compile. Imagine working at lightning speed to add new features or remediate issues and then having to wait a day for your code to compile. Sure, you can work on other projects while you're waiting, but it takes the wind out of your sails. There’s a massive switching cost associated with changing between projects.
Motivation and momentum go hand in hand. If you frustrate your developers by continually forcing them to stop what they're doing, you stifle their creativity, and your company doesn't work as fast as it should. Fortunately, this wasn't the first time I'd encountered a roadblock in the build process, and I knew where to look for a solution. I'd used Electric Cloud Accelerator in the past to distribute builds across multiple computers, and I knew it was time to revisit the product in its current hybrid-cloud incarnation as CloudBees Build Acceleration.
CloudBees Build Acceleration reduces cycle times and allows us to iterate faster by intelligently distributing builds and tests across clusters of physical and cloud-based CPUs. It manages dependencies, corrects conflicts and eliminates redundant work. We can do more in less time and reduce the disruptions in our continuous delivery workflows by reducing the wait times for our builds.
One of the biggest obstacles to distributing our build process was our make command. Our pipeline uses bmake to compile binaries, but CloudBees Build Acceleration relies on its bespoke eMake utility. We had to build a translator that timed and converted scripts into eMake configuration files that used eMake- specific flags, command-line options and environment variables. Once we had this converter in place, we were able to start distributing and accelerating our build processes.
Accelerated Builds and Jenkins Integration
Adding CloudBees Build Acceleration to the mix streamlined our CI/CD pipeline and transformed the developer experience. We reduced build times from roughly eight hours to 90 minutes or less. Instead of waiting an entire day, our developers can go back to their code in a couple of hours, which is excellent for keeping them focused on their work.
CloudBees Build Acceleration fully integrates with Jenkins. Once the build is complete, developers can look at the Jenkins log files and see if their code failed any tests. If they find any issues, they can go back and rewrite their code. And they never have to worry about faulty code corrupting the main repository. If Jenkins finds any errors, it automatically rolls back the commit.
You can imagine the impact on our CI/CD pipeline. We're talking about an 80% reduction in build time and radically accelerated release cycles that keep our developers and customers happy. It's part of the way we do business here. We hire the best and the brightest minds in the industry, give them the tools to succeed and eliminate obstacles to innovation so they can put all their energy into coding.
It Never Hurts to Try Something New
At this networking and security solutions company, we are single-minded in our efforts to create a friction-free work environment. If there's a tool that frees our developers from repetitive, time-consuming tasks that add no value to our products or our bottom line, we'll give it a try. I am constantly scanning the horizon for new technologies and learning from the best practices of the Jenkins and open source communities.
It never hurts to try something new. If you think CloudBees Build Acceleration can help your organization move faster and make your developers happier, you owe it to yourself to request a demo. You'll get a cutting-edge tool that streamlines builds and integrates with time-tested open-source technologies, including Jenkins.
Outstanding Customer Support
You'll also get CloudBees' outstanding customer support. The best thing about open source projects like Jenkins is leveraging the wisdom of the worldwide developer community. But sometimes you want the peace of mind that comes from using a commercial product like CloudBees Build Acceleration. CloudBees provides comprehensive customer support and a lightning-fast ticketing system.
When we encounter an issue with CloudBees Build Acceleration, hundreds of developers are affected, so we open a high-priority ticket. CloudBees typically issues a bug fix or a patch in no time. Often, CloudBees will release a new revision right away and can push it out to all our clusters immediately. You can't beat that level of service, and it's reassuring to know that we'll never stall because our build acceleration tool is at fault.
We always have new projects and products in the pipeline. We strive to move fast and keep our focus on innovation. The fewer distractions we have, the better. CloudBees Build Acceleration has sped up our release cycles. It helps us maintain our developers' momentum and motivation so they can better focus on building the products that will power tomorrow's IT enterprise solutions.