Interview with CFEngine Founder and CTO Mark Burgess

In 1993, Mark Burgess wrote the first version of the open source IT automation software CFEngine, and in 2008 he released CFEngine 3 and founded CFEngine AS, an Oslo-based software and services company. Last year, the company completed a Series A investment round and opened its first US office in Palo Alto, California. In this interview, he looks back at a productive 2011, and plans ahead for CFEngine in 2012.

Rikki: Your business really took off in 2011. Tell me about how the year started and what your big accomplishments were for the year.

Mark: Our year started with a Series A investment from a Norwegian fund, Ferd Capital and Haavard Nord, former CEO of Trolltech, the creator of Qt. That led to an incredible year where we grew from just a handful of full-time employees to 30 people with offices in Oslo, Norway, and Palo Alto, California. Our team has some incredibly smart and experienced people who are all bent on pushing the limits of innovation. We won a few major customers, including some highly complex environments on Wall Street, where the levels of scale and complexity have proven to be too much for the other technologies out there.

We released an upgrade to CFEngine 3 Nova, the commercial version of our CFEngine 3 Open Source technology โ€” with a features like mission critical availability, virtualization management, and super lightweight performance.

In fact, to demonstrate the lightweight aspect, we brought demos with us to LISA '11 showing the regular, out-of-the-box CFEngine agent running on an Android phone, and on an ARM Embedded device, typical of the kind of processor board you find in storage units. This opens exciting possibilities for CFEngine, as it means users can use one agile framework to manage and maintain systems as small as a phone, but as large as a mainframe or a cloud.

R: What's new in 2012 with CFEngine? What are your goals for your business and for CFEngine?

M: As a company, we're a bit spoiled for choice. The list is long, but we have an interesting project around the cloud that's coming, and I feel as though I have a lot to do explaining to the industry why CFEngine's modern approach to configuration is really the way to invest for the decade, given the transformations in IT infrastructure that are just around the corner. Taking care of individuality needs should go without saying today, not just mass producing everything as identical clones as we did in the past.

There are many new things in CFEngine 3, both in the open source core and in the commercial product. In the core, we have a simplified interface to services, a bunch of new functions and of course lots of new standard library methods including STIG compliance packs and cloud service packs, etc.

On the commercial side of things, we've focused a lot on designing a simple user interaction with the CFEngine `dashboard,'which we call the Mission Portal. We've also been pushing the limits of scalability both in simple star-net architectures, and laying plans for more advanced self-healing architectures that can scale to hundreds of thousands of hosts. Project Constellation is a way of connecting star clusters into a unified global picture. We put a lot of effort into making scalable reporting and monitoring that will either stand alone, or tie into the usual ecosystem of system software.

We also think in terms of long-lasting solutions to scale and complexity, and our "focus for the decade" is Knowledge Management, which I believe is at the heart of managing infrastructure in the modern world.

R: At the end of the year, what do you hope to have accomplished?

M: I don't want to say too much about that, but we are working on the next-generation software that will set the industry on the right path for massive hybrid infrastructures, supporting any necessary level of complexity, without things getting out of control. We are so lucky to have some of the smartest minds working on our future plans (wink). Something exciting is coming.

Of course, now that we have a trans-Atlantic team, I hope to really make good on the promise of CFEngine. We want to help sys admins transform their traditional role from being reactive to agile and proactive โ€” to become valued infrastructure engineers!

R: Why is CFEngine the right choice for someone over other options, such as Puppet and Chef?

M: I think you choose CFEngine if you want a solution that will last you the decade, and will not hold you back once you've gone beyond the initial installation state. You have to be willing to invest a little in training yourself to use the tool. I think a good analogy might be that Chef and Puppet make it easy to get started for a certain segment of users in the cloud -- a bit like a microwave dinner. Just push the button and go. But the moment you want to do some great cooking, or scale up to a large meal, you need to be able to manipulate the raw ingredients beyond the level of packages. CFEngine allows users to mainpulate the raw ingredients with arbitrary precision. That will be the difference for businesses who need agile customization to remain competitive.

R: Which events will you be at this year? And what about training at events โ€” what will you offer?

M: I will personally be giving the introduction to our CFEngine 3 training course in the Bay Area at the end of January. We are also going to be at SCALE 10x in Los Angeles, OSDC in Germany, FOSDEM in Belgium, Velocity, and of course we always attend USENIX LISA.

We hope to attend a lot more local sysadmin user groups and meetups, too, and we'll be presenting a lot more webinars, training, and whitepapers on helping people to migrate from clunky CFEngine 2 to super-slick CFEngine 3.

R: What else should our esteemed readers know about CFEngine?

M: A lot of users aren't aware just how much of an upgrade from the old CFEngine 2 our new CFEngine 3 is. I spent five years researching how to really solve the issues of configuration management. It was a lot of work and planning to get the model just right, and I really believe it paid off.

There are other products based on CFEngine 3 now, too. Rudder is a nice front-end for CFEngine 3 made by Normation, a French company, which has taken the approach of making an elegant and easy wrapper to help people get started. Once you are started, you can grow and use the full power of either the open source or the commercial versions.

And the fact that we can run on just about anything makes management of systems very homogeneous without having to make the hosts themselves homogeneous.

Watch Mark's LISA '11 talk on YouTube: 3 Myths and 3 Challenges to Bring System Administration out of the Dark Ages

Also, be sure to stop by the USENIX booth at SCALE10x later this month!