During PuppetConf they provided information of upcoming changes:
What will the Puppet server side be like?
- continue usage of feature flags (like future parser)
- deprecation warnings are now a sign of upcoming maturity
Upcoming changes cover Puppet Language, Environments and Components
Changes to Language:
- data validation built into parameterized classes
http://puppet-on-the-edge.blogspot.com/2014/06/optionally-typed-parameters.htmldefine sinatra(String $regrets, Integer $amount) { notice "$regrets, I had $amount, I did it my way. Do bi do bi doo..." } sinatra{ frank: $regrets => regrets, $amount => 2 # e.g. 'a few' }
The sinatra define will validate that $regrets is a string and amount is an integer
Changes to Environments:
- we will have directory based environments.
- we will see environments to be similar to modules
Changes to Components
Puppet will break into more components (micro services).
This allows you better separation and scaling.
Of course one can run all components bundled on one single system.
The puppet server side will be running on JVM with jruby.
We will no longer cope with Apache/Passenger tweaking.
This also leads to better Environment separation. And allow per environment pluginsync.
What will the Puppet Agent side be like?
Facter
Facter will be a native C++ application (cfacter).
Old custom facts will still be possible by a Ruby-C++-API.
Support for other languages (Perl, Python) is possible, but not yet implemented.
Puppet Agent
Comes next. Plans are to got for C++, too.
Puppet developers are eager to learn from community regarding masterless puppet.
Summary
Puppet Master is moving to JVM (https://github.com/puppetlabs/puppet-server)Facter is moving to C++.
Agent is most likely to become also C++.
Most stuff is now moving away fro Ruby.
Puppet promized that Ruby is still the core and will be around for "a very long time" (Andy Parker @PuppetConf 2014).
No comments:
Post a Comment