Accelerated builds – critical to agile development

Accelerated builds for continuous integration

Accelerated builds have been a topic for OpenMake Software since Meister was first created. The October 2013 issue of SD times has an article called “The reconstruction of deployment” by Alex Handy.  He starts the article by talking about Builds.  “In days past, there was one sure fire, always working plan for building software: start the build, then go get some coffee.  Sometimes building even meant it was time to go home.”   The article talks about continuous delivery and continuous integration (CI) and gives credit to CI for improving the speed of the build and deploy process. However, you must ask yourself, “are my builds really faster?”  Builds, the process of compiling and linking code, has not changed at all.  Yes, we have Ant and Maven and not just Make, but in essence, CI does not change the build scripts themselves.  In Alex’s article, he alludes to a time in our past that builds would take hours to run.  Guess what, they still take hours to run when a script is driving them.  The same build script that was executed manually and took hours to run, is now just executed via Jenkins, and takes hours to run.  A build script executed by Jenkins runs no faster than a build script executed in any other way. In the article Brad Hurt, VP of Product Management at AccuRev confirms this.  He explains that you need to have control over the different levels of code maturity so in the case of an 8 Hour build you don’t have “random developer” code checked in that pollutes the build. In this reference to “build” Brad is talking about the compile and link process.  Some people refer to the build as a set of steps that are executed before the compile, the compile and after the compile.  But Brad’s reference is more accurate. He is talking about a compile process that can take hours to run. And for large projects this is not unusual. The goal is actually to never have an 8 hour build.   As we mature in DevOps, we are moving away from one-off scripts, particularly around Deploy.  OpenMake Meister moves away from scripts in both build and deploy. This allows intelligence in the build for building incrementally, with acceleration and parallelization decreasing build times substantially. For an incremental build, an 8 hour build can become a 10 minute build. This incremental processing is passed to the Deploy, so even deploys are incremental and not monolithic. So lets stop kidding ourselves.  A Jenkins build is no faster than the script it is calling. And if the script cannot support incremental changes (agile practice) or support parallelization for speeding up monolithic compiles, then you have a really cool CI process with a very slow back end.


TRagan

Ms. Ragan has had extensive experience in the development and implementation of DevOps for large organizations. She began her consulting career in 1989 on Wall Street specializing in build, testing and release management for the distributed platform. It was during her consulting experiences that Ms. Ragan recognized the lack of standardized development procedures on open systems that were common on the mainframe. In the years leading to the creation of OpenMake Software she worked with development teams in implementing a community driven standardized build and deploy process that enabled frequent builds and releases, automated around version control. Her knowledge and experience contributed to the creation of OpenMake Meister, the first commercial Build Automation solution. Ms. Ragan served on the Eclipse Foundation Board of Directors as an Add-in Provider Representative for 5 years. She has been published on numerous occasions and regularly speaks at conferences including CA World where she presented for 15 consecutive years. She holds a BS Degree in Business Administration, Computer Technology from California State University, Pomona.

0 thoughts on “Accelerated Builds – are they fact or fiction?”

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts

DevOps

Improve Release Management with Automation and Plugins for Non-stop Continuous Delivery

Continuous Delivery improved with Release Management Use release management automation and plugins in your Continuous Delivery Workflows You can easily improve your Continuous Delivery by automating software deployments with release management. Automating release management involves Read more...

DevOps

Release Engineer for ARA

OpenMake Software enters ARA DevOps Market OpenMake Software drives release management with Application Release Automation (ARA) Chicago, IL – June 25, 2014 – OpenMake Software today announced the July 15th , 2014 GA date of Read more...

DevOps

OpenMake in The Silicon Review

Silicon Review names OpenMake Software in top 20 OpenMake Software recognized in Silicon Review Check out an interview with Steve Taylor, CTO OpenMake Software in the Silicon Review, December 22nd, 2015 See Full Article. OpenMake Read more...