Celix at Merge 2013: How Perforce Streams and Puppet Can Scale DevOps
A new mantra is emerging in the Agile world: Configuration as code. Tools such as Puppet make it easy to automate IT, and have become stars of the DevOps movement. But where do you put your “configuration as code?” As founder and CEO of Celix, an Austrian company specializing in process and configuration management, I’ve considered the alternatives. Many of our clients have tried using distributed version control (DVCS) systems like Git. But Perforce won over our Git enthusiasts when they began facing codelines with increasing complexity — five customer-specific versions of the same JIRA plug-in, for example.
I have been a fan of Perforce since I heard a large Perforce customer answer the question "What version of Perforce do you use?" with "I don't know, it just works." In my Merge 2013 talk, “Scaling DevOps with Puppet and Perforce: Moving Towards End-to-End Agility,” I’ll share our tips for using Perforce Streams for feature branches, continuous integration, continuous delivery, DevOps and more.
The quality and ease of use that Perforce provides in our use case compared to a DVCS (Git) is impressive, while recent innovations such as Git Fusion and Commons show that Perforce has a vision to support collaboration across the modern business. Perforce Streams are extremely flexible in supporting modules (share, isolate, import, exclude) compared to Git submodules. I’ll share how to integrate multiple open-source repositories into your Puppet module codelines in Perforce, and how to manage Puppet environments with Perforce Streams and a continuous integration server. Because it’s not enough to delivery continuously if you can’t scale your DevOps to a large number of IT services.