CFEngine is an open source configuration management solution that automates the configuration and long-term maintenance of complex IT systems, from servers to mobile phones and tablets. CFEngine CEO Thomas Ryd recently shared his thoughts on the major disruptions in IT, and explained how the current generation of configuration management solutions is ready to meet these changing requirements.
LOCATION: Oslo, Norway / Palo Alto, CA
We help companies that are launching IT services and applications to get out into the market as quickly as possible, and once they’re out in the market, to make sure that they run as promised so they don’t experience instability or outages.
We believe the world is going to be software-ified, meaning everything will run on software, and CFEngine is going to manage all kinds of devices, not only servers. We are location agnostic, so we run on-premise and we run in the cloud or hybrid cloud, regardless of scale and complexity.
What CFEngine is all about is ensuring the correct division of labor between the machine and the human being. Human beings are very good at logical thinking and decision-making. So the human being will say “Why? Why do I want to do this? What is the intension of my operations?” On the flipside, the machine is very good at doing repetitive tasks, and doing what they are told. So having this correct division of labor between man and machine is very important.
Our mission has been to be the link between human and machine. We have a solution that understands the language of the machine, and we also have a solution that can go right inside the machine. And using his knowledge the man can make better decisions about how he wants to define the system, to make sure it operates as efficiently as possible.
CFEngine originated back in 1993 with Mark Burgess, who is the CTO of CFEngine and the grandfather of CFEngine. Mark has a Ph.D. in physics. In the early ’90s he was spending more time in the server room fixing the servers to do physics calculations than actually doing physics. So he wrote this program to make sure that the servers were always up and running. He made this program open source it was called CFEngine, and it turned out he was not the only guy who had this problem. So CFEngine became very popular very quickly. Because of that, he moved away from physics into IT, and he became the first professor of network administration. He has been researching how to automate the administration of the server ever since.
Mark made this product back in 1993, and around 2003 he decided he wanted to offer the current model of CFEngine, which was CFEngine second generation. He saw it was not going to meet the requirements of tomorrow, so from 2003 until 2009 he basically took over these parts of the second generation of CFEngine and created a new model around what would become CFEngine 3, third generation of CFEngine.
His vision for this third generation of configuration management was a CFEngine with the ability to cope with the complexity and agility requirements of tomorrow. It all sounded very appealing, and that was how he managed to get me involved and also the other very competent employees we have today.
CFEngine is all about making sure our customers get their services out very quickly and making sure that they are up and running at all times. This is quite easy if you have a few machines or if your environment is very homogenous. But once your environment scales and you get more complexity in the picture, then you need a solution like CFEngine. We have a model that is extremely flexible. It’s probably one of the most powerful tools you can use in order to automate operations regardless of scale and complexity.
So people and companies who are our best customers are big. The bigger the better. And also the more heterogeneous or the more complex they are the better. Our customers also tend to be companies who view IT operations as critical to their business. In other words, when the CIO reports to the CEO it’s much better than the CIO reporting to the CFO.
CFEngine is a very knowledge-oriented product. There is extensive research behind everything we do. So we tend to focus on trying to solve the most complex problems first. So now we are working with the biggest companies with the third generation of CFEngine, trying to help them get services out quickly and make sure that they’re always running.
We believe by first solving these bigger problems that involve tens of thousands of machines in very heterogeneous environments, we can then go down and make CFEngine useable for everyone else. It’s much more difficult to go the other way around, where you start focusing on the easy problems. But I think CFEngine is highly appreciated among super users who know they will save some complexity down the road and will save from scalability issues.
I think in general, there’s a big disruption going on in the industry these days. You have traditional IT organizations that are facing a lot of new challenges that were not there a few years ago.
You have two big trends. One is this bring-your-own-device trend, which is basically that employees do whatever they like. They go to Dropbox to store files. They bring their iPad to work. So the internal IT organization is losing control. Now they have to adapt. They have to make the best of it in order to keep security up. But at the same time do that without taking away too much freedom from the end user. That’s caused some big changes in the IT organization, and also the way IT organizations use tools like CFEngine.
The next big thing is of course the cloud. The cloud has redefined scale costs and transparency. So the public cloud vendors, especially Amazon, have shown that it is possible to fire up a hundred machines very quickly, and it’s very transparent. You can see how much it costs to get these machines and how much it costs to operate them. An IT organization, they’re now facing fierce competition from these cloud vendors because the CIO sees it is possible to get all these machines up very quickly, and sees the cost upfront.
I think that calls for a big change in the IT organization. So the trends going in there will be that some organizations will be able to adapt, and that’s probably why private cloud services like OpenStack are very popular, because they see the way they are going to become as agile as the public cloud vendors to try to take on some of the concepts that they’re taking on.
The leader today is Amazon. I just recently read a dissertation where it said they put one change into their production environment every 11 seconds. If you have a change window every few weeks or every four weeks, like some of them have, it’s clear to see that they can’t be very competitive with such a big difference. Also, when it comes to outages, still today applications save hours of downtime every month. On average it’s basically down to minutes. I think there is a lot of exciting stuff going on.
At the end of the day I think IT organizations will be much more efficient because we will go to the area where everything will be mission critical. The days when you host your own file server or email server or any of these things that are not mission critical are over. You will only host and provide stuff that can make a difference for the business. And what that means is the providers of the email and other non-mission critical services need to be really professional in order to press down time-to-market and make sure they increase uptime.
I think one of the most exciting things is that it is extremely powerful what you can achieve with automation. We have customers that have a ratio of one sys-admin per 10,000 machines, doing some very basic management of these servers. The average is one person per 50 to 100 machines. And being able to prove that we can have one guy managing 10,000 machines is very powerful. Not only will it allow you to save a lot of labor costs, but it also it reduces outages because most outages are due to misconfigurations and manual miscalculations. One of the really cool things is that automation is going to change the way people operate their IT services.
CFEngine is also focusing on embedded devices and devices that run software, and these need to be managed. Because of its architecture CFEngine is in a very nice position to not only manage servers, but we can manage mobile phones, we can manage all kinds of industrial embedded devices, network equipment, etc.
There are big changes going on in the industry that may even be disruptions to the IT organization. They need to change the way they have operated, they need to become much more agile, do even more at the level of costs. The traditional IT organizations need to be able to spin up machines and provide services and value to the business. The cloud people have proven that it is possible to be much more efficient. So anyhow I think the very interesting companies are the ones that drive these two trends and are trying to merge these two worlds.
On the public side of course is Amazon, who is by far the leader. They are proving how it’s possible to improve IT operations by an order of magnitude. They are lowering the costs, introducing new services. And every day businesses have new reasons for moving their IT services out into the cloud. I think that is very exciting.
Then on the private side we have OpenStack, which is one of I think the most popular private cloud solutions out there today. Their goal is to help the traditional IT organization become more efficient and reduce the time to get new services out to market and make sure that they are always ready.
So I think those are two very interesting technologies that support this megatrend of the industry being in big change. And then when it comes more specifically to the configuration management industry, there have been three different groups of tools or generations. The first generation is the scripting guys, which typically is engineers that in order to solve problems write undocumented script. It solves some repetitive problems, but doesn’t scale. That’s one group.
The other group is these push back systems, typically represented by the big companies like BMC and HP. They have a centralized way of pushing out scripts on individual machines.
And then you have the third category of companies where in order to meet agility requirements and scale requirements, you need to take a lot of the decision making locally, as opposed to centrally. We believe this is the next generation of tools, the ones that can be able to scale. For instance one of the companies that we work with uses a centralized solution, and just to update four thousand machines takes them hours. Because of that they can only add 50 machines twice a week. With CFEngine, it takes a few minutes to do the same thing.
We see all the reasons why this third group is going to be the dominant player in this industry. And in this third group, there are basically three companies the way I see it. You have Chef and Puppet and CFEngine.
I think the CIO in an organization to a large extent defines the value of IT services, and if the IT service is a cost center versus a business enabler that’s two very different things. Unfortunately for a lot of companies, it’s still a cost center.
Last month the Royal Bank of Scotland revealed that they have to pay 1.35 million pounds in penalties to their customers because of a software glitch, as they called it. They had a failure, and it affected 700,000 customers who were unable to access their balances or make transactions. I think that being able to look at some IT services as a business enabler as opposed to a cost center is an important step in the right direction.
If they do, they will then be able to see all the great benefits, for instance to manage 10,000 machines as opposed to 100 machines. So after putting new changes into production every 11 seconds versus every month, those will make big differences on your competitiveness.
Looking to compare CFEngine and other IT management platforms to find the best fit for your business? Check out our variety of IT management software comparison reports, or browse all of our handy materials on IT management by taking a trip to the IT management resource center.