Sponsors

 


TechWell



 

We have 535 guests and 5 members online

Home Articles CM Basics When is Open Source not Enough?

When is Open Source not Enough?

E-mail
Written by Anders Wallgren   
Tuesday, 30 June 2009 11:48
july09basicsopensourcebigAnswer these 7 questions to quickly assess if you should upgrade to an enterprise-class CI environment

Because of the fast evolution of Continuous Integration (CI), the first generation of enablement tools proliferated at lightning speed.  Open source CI tools became widely used due to the ease in which an engineer could install it and start tackling the initial CI challenges that he faced.  Once proven effective, these apps (particularly Cruise Control) spread like wildfire among other build engineers, and in most cases, development shops began ‘sewing' several instances together. 

While this works for a certain amount of time, eventually, the law of diminishing returns sets in - especially in cases where organizations grow along one or many dimensions (code base, target platforms, size of teams or locations).  My company receives weekly inquiries from build management professionals who say their CI environments have become too complex, and they're spending time and money on scripting or simply applying Band Aids to the system to keep it running.  I am often asked for advice on whether or not a development team or company should to upgrade their CI environment to a fully automated enterprise system.  To help them assess their needs, I always start by asking these seven questions:
  • Are you creating builds more than once a day?
  • Do you have multiple end products (targets, platforms) for your builds?
  • Is your current CI environment made up of multiple, standalone systems throughout the company?
  • Are your teams geographically dispersed?
  • Is it difficult to scale your build-test-deploy environment to the next level?
  • Are there barriers to sharing and reusing scripts?
  • Is it challenging to track builds over time and conduct cross-project reporting?
If the answer is yes to two or more of the above questions, it's usually a sign that the CI environment has become too complex for open source.  If true, the next step is to define CI environment requirements.  Below are the classic needs that large-scale software production environments address:
  • Scalability - to support multiple teams and projects with one system
  • Turnkey automation - so that anyone, anywhere can use the system and that builds can be performed without specialized knowledge
  • Rapid software build turnaround - with a highly complex code base, complete a large number of projects and builds on short timelines
  • Virtualization - to leverage and control virtual resources managed by VMWare or Microsoft, and to enable productivity gains and reduced IT resource costs
  • Auditing - addresses the need for end-to-end traceability of the entire software production process for Sarbanes Oxley compliance
  • Reporting - identify build management trends, monitor utilization of build resources, track historical problem areas
I have supervised or consulted on dozens of projects for development teams across the globe that made the leap from open source-driven to consolidated, enterprise-wide CI systems.  While it may sound like a painful transition, benefits include performance improvements (2-5x improvement in build times, the ability to manage 1,000s of CI builds across locations, etc.), quality improvements, and even team morale.  And given the economy, teams are finding it beneficial for development team members to spend less time babysitting CI scripts and more time enhancing the product and adding features.  The release team is no longer the bottleneck, but instead, seen as a strategic player in the company's software production.


Anders Wallgren is CTO of Electric Cloud, which automates, accelerates and analyzes software build/test/deploy processes to optimize both physical and virtual IT environments.  Anders is a regular contributor to the Electric Cloud blog, which provides “deep dives” on a variety of subjects on software production management.

Anders has 15 years of in-depth experience designing and building commercial software. Prior to joining Electric Cloud, Anders held executive positions at Aceva, Archistra, and Impresse. Anders also held management positions at Macromedia, Common Ground Software and Verity, where he played critical technical leadership roles in delivering award winning technologies such as Macromedia’s Director 7 and various Shockwave products.  Anders holds a B.SC from MIT.

Trackback(0)

Comments (0)add comment


Write comment

You must be logged in to post a comment. Please register if you do not have an account yet.

busy
Last Updated on Tuesday, 21 July 2009 14:46