Subscribe / Unsubscribe Enewsletters | Login | Register

Pencil Banner

Promise theory

Scott Hogg | July 2, 2014
Can you really trust the network to keep promises?

Mark Burgess:

Mark Burgess started out as a physicist and received a PhD in Theoretical Physics in 1990.  His interest shifted to computers, networks, and system administration.  He started working on his promise theory research when he was professor of Network and System Administration at Oslo University College from 1994 to 2011.  Promise theory was first proposed by Mark Burgess in 2004. 

Mark's has written many papers and books on computer systems, networking, and system administration.  His book titled "In Search of Certainty: The science of our information infrastructure" was published in 2013.  His most recent book, Promise Theory: Principles and Applications, by Mark Burgess and Jan A Bergstra was published just a few months ago (2014).  Mark was coauthor of the recently-published paper titled "A Promise Theory Perspective on Data Networks" (May 2014).  As you can see, Mark Burgess is a very busy man.

If you are curious to learn more and would prefer to not read academic papers, there is a set of three easy to understand YouTube videos of Mark Burgess describing "Promise Theory: The Future of Config Mgmt" (video 1, video 2, video 3).

Promise theory has evolved since Mark's original research on the topic and it is now being used in many different computing and networking administration systems.


Mark Burgess wrote an open source configuration management software package called CFEngine in the 1993 to 1994 timeframe.  He actually wrote CFEngine before he formally developed the concept of promise theory.  The CFEngine version 3.X now incorporates the concepts of promise theory.  Now, Mark Burgess is the CTO and Founder of the CFEngine company.  CFEngine is under very active development and the latest CFEngine Enterprise version 3.6.0 was released just a few weeks ago.

The CFengine software allows the IT administrator to define configuration promises that help form the state of a complex IT environment.  CFEngine uses a declarative language to create the desired configuration state.  The promises contain several pieces of information that are vital for the agent to fully understand the promise (type of promise, when and where does this apply, what is the affected element, why is this request being made, how will the promise be upheld).  Promises can be combined to form structures and groups for entire configuration requirements.

CFEngine is similar to many popular configuration management utilities (Puppet, Chef, Ansible, and Salt) that are being used by organizations deploying cloud infrastructures.  CFEngine is really targeted at configuring large-scale computer systems, servers, end-nodes, and some embedded network devices.  However, its sweet spot is not configuration of physical or logical network devices.


Previous Page  1  2  3  Next Page 

Sign up for CIO Asia eNewsletters.