A Preview of 'Project Constellation': The Network of Stars

December 6, 2011

***Eystein Måløy Stenberg ****provides a sneak-peek into “Project Constellation”, new CFEngine Nova technology under development that will expand the universe of configuration management by integrating network, server and mobile management, as well as support both geographic diversity and massive scale.

*

The Single Star

CFEngine 3 supports a wide variety of network architectures today, in environments with both reliable infrastructure and unreliable or mobile connectivity. The most common architecture is the “Star Network”, where you have one central hub responsible for sharing policies and collecting reports from all other hosts. This is the default network architecture adopted by CFEngine 3 Nova.

tl_files/cfengine/img_new/blog/starnetwork.png

The star network is popular because it is simple and ensures that a policy is consistent and easy-to-update across the hosts. This architecture can support thousands of hosts per hub, with a five-minute update interval.

However, as an organization’s infrastructure grows and becomes more complex, the star network set-up needs to scale as well. As we add clients, the hub will inevitably become a bottleneck for updates and collecting report information. If hosts are located in widely geographically distributed areas (e.g. different datacenters), network latency may become an issue. Organizations are often divided into departments that desire autonomy and independence from the rest of the organization to best manage their resources - yet there are probably common business goals that they need to coordinate and share.

The United Federation

To improve upon the star network, we can create multiple stars. Each star acts as an autonomous entity within the organization. Federation and autonomy are key concepts supported by Promise Theory, developed by CFEngine founder Mark Burgess.

tl_files/cfengine/img_new/blog/multistarnetwork.png

However, with potentially large amounts of isolated islands of management, how can we ensure consistency across them and get a global overview?

First, we realize that consistency does not have to mean homogeneity. CFEngine does not require everything to be the same – that is old “2nd Wave” sysadmin thinking! Individual star networks might choose to subscribe to a few common parts of policy, but decide most of their needs themselves.

The interesting question is … How do we get an overview of what is going on in these potentially diverse environments?

** Moving to a Network of Star Networks**

CFEngine 3 Nova enables detailed reporting in star networks. Can we simply dump information from each star hub into a “superhub”? There are a couple of issues that prevent us from doing this. The technical issue we encounter is scale. The amount of data that has to travel over the network and end up in a central database (detailed information about the entire enterprise!) will become overwhelming.

Administrators of legacy configuration management solutions frequently experience the need to manually manage the size and complexity of their “CMDB” databases and constantly add hardware as they swallow terabytes of space - creating an environment that is out of control. CFEngine 3’s approach is to use intelligent summaries to pre-compress raw data into meaningful amounts.

Privacy is another issue. We cannot assume that the managers of the star networks will allow detailed information about their environments to get transferred outside their control.

We are developing technology to solve these difficult issues, by summarizing information, but leaving clues of where you can find more details. This has the effect of both heavily compressing and anonymizing it.

With Project Constellation, we are working on advancing our Nova technology to enable federation and aggregation of star networks. A Constellation ‘Mission Observatory’ would give a global overview of the entire enterprise, at a level where the information is summarized and meaningful. Smart data-mining algorithms are key to achieving this – an important aspect of CFEngine’s focus on knowledge management.

Mining for information

In the Third Wave of IT, agile administrators don’t want tons of meaningless data poured over them – they want quick access to customized views that might change from week-to-week, or person-to-person. In the future, Constellation technology would enable users to subscribe to the information they need, i.e. adapt on demand to business goals, without massive overhead.

Virtual views would allow users to subscribe to reports about just the promises that they are interested in. For instance, Web teams may only be interested in the configuration and running of the Web service and its content – something which might be distributed all over the organization.

We are also developing a new smart diagnostic engine to be a part of the CFEngine Knowledge Map, to help experienced and novice users navigate and learn new aspects about the system.

Want to be a part of this New Frontier?

We want to work closely with users to test and improve this coming technology. If you work with a large, distributed IT infrastructure and would like to learn more, please let us know at https://cfengine.com/contact.

We believe Project Constellation will further Nova’s position as the most advanced configuration management solution available – something to invest in for the decade, not just the next year. Keep your telescopes trained on CFEngine for more news!