> On 11 Apr 2016, at 17:45, Eric Shamow <eric.sha...@gmail.com> wrote:
> 
>> On April 11, 2016 at 4:08:51 AM, R.I.Pienaar (r...@devco.net) wrote:
>> 
>> 
>> ----- Original Message ----- 
>> > From: "Thomas Gelf" <tho...@gelf.net> 
>> > To: "puppet-dev" <puppet-dev@googlegroups.com> 
>> > Sent: Monday, 11 April, 2016 03:30:58 
>> > Subject: [Puppet-dev] Re: The Future of Puppet [Was: Deprecation logs] 
>> 
>> > Am 11.04.2016 um 03:01 schrieb Rob Nelson: 
>> >> Of course there's lock in. You can't click a button and go from Puppet 
>> >> OSS to Chef OSS; [...] 
>> >> Is their concern about being able to contribute to it or even fork? I 
>> >> suspect that's what most lock in concerns are really based on. 
>> > 
>> > It's about going from Puppet OSS to PE, forth and and back. No problem 
>> > with loosing the GUI or special add-ons. But the core functionality of 
>> > your CM tool, that's what they want to be free software. 
>> > 
>> 
>> Eric asked so here it is, this is my feedback with a open source user hat 
>> on. Echoing much what was said. I hope others send in their story. 
>> 
>> Thanks for the replies, the level of detail and obvious care and emotion 
>> that 
>> goes into these mails have been good to see and I am sure valuable to 
>> everyone. 
>> I hoped my mail would spark a wider conversation hopefully involving some 
>> Puppet people as well as some of the community - even those who don’t often 
>> engage and it looks like we’re off to a good start. 
>> 
>> While my earlier mail was most certainly squarely to the one side of the 
>> coin 
>> as pointed out there is another. My earlier mail shows how a company in 
>> Puppets position might think, I do not know if I am wrong or not as I have 
>> no 
>> insights into the internal convos but my gut feel is I am not far off. But I 
>> specifically wanted to state that side first because it’s important to 
>> understand as it frames expectations one should hold. 
>> 
>> The other side of the coin for me is that of a open source user and I think 
>> the 
>> outlook is particularly dire. Excuse the following wall of text but we have 
>> to 
>> talk about how we feel and what the current reality means to us as a class 
>> of 
>> user. 
>> 
>> Open Source users often see the existence of some open source tool as a 
>> implied 
>> contract that it will always be so, and their adoption of it is based on 
>> that 
>> perception. This is encoded in the very licences we hold deer and when that 
>> inevitably turns out not to be realistic business model the companies 
>> involved 
>> will do what they can to survive. Inevitably this ends up breaking the 
>> ‘implied contract’ the open source user rightly or wrongly felt they had - 
>> cue 
>> much anguish and resentment. 
>> 
>> The company will then go on to explain themselves and make commitments - we 
>> will keep the core product open but innovate on paid for enterprise features 
>> like RBAC and very featurefull GUIs. We will not work to exclude other 
>> makers 
>> of tools and your home grown tooling, we will make the extension points open 
>> and APIs open for others to innovate on. 
>> 
>> I don’t have the actual quote to hand as I am sat on a plane but this seems 
>> to 
>> me more or less the story we were told when PE became a thing and that 
>> seemed 
>> good and a model worth supporting. After all what would be open source is 
>> not 
>> unlike most other open source and we are not averse to applying some duct 
>> tape 
>> and glue to make things work. 
>> 
>> Fast forward to now and the situation is not like this at all. Today we have 
>> the puppetserver product touted as the only way forward and not only does it 
>> have PE only APIs its core operability features are PE only too. Performance 
>> metrics and atomic deploys. No longer is it a matter of if you put in the 
>> effort and build the tooling you can use the Open Source product but we will 
>> sell world class tooling. We’re now in a world where the ability to monitor 
>> the product and gain the insight you need to scale it requires you to adopt 
>> a 
>> per node based payment model. Being able to monitor a service only when you 
>> pay for it. I am not sure I've seen a worse model for the 'free' users. 
>> 
>> Now tools like Foreman cannot compete because they cannot monitor the master 
>> and they cannot have atomic deploys. Who knows whats future PE only APIs 
>> will 
>> come? I'd bet things around file serving, catalog life cycle management etc. 
>> 
>> Now similarly open source users cannot compete because they cannot gain the 
>> insights they need to scale this java blackbox, even if they invest the time 
>> to 
>> learn the JVM, the software in the JVM is actively resisting their efforts 
>> of 
>> gaining operational insight. Their own tooling cannot compete against PE 
>> because some APIs are PE only. 
>> 
>> Personally as a open source user I use ‘apply’ - I decided during my P4 
>> migration to look again at using a master - puppetserver - and was all set 
>> to 
>> move machines onto it that weekend when the metrics blog post came out. The 
>> puppetserver VM got immediately deleted. This is not a future direction that 
>> is cooperative or long term tenable for me. 
>> 
>> If you’re a open source user you need to look very carefully at the 
>> messaging 
>> and feature set and you can really only come to one conclusion and that is 
>> that 
>> to Puppet you’re just not a priority. Less than a priority you’re 
>> effectively 
>> being locked out and worked against and lack the ability to make a well 
>> monitored CM system if you adopt open source puppet. 
>> 
>> I hope the metrics situation will change - there has been other PE-first 
>> features and they came to Open Source so its not unprecedented but in this 
>> case 
>> it will pay to wait and see since if these features are not coming to Open 
>> Source then the whole is unusable. 
>> 
>> It’s a pendulum that swings, whats the right answer and right balance is not 
>> black and white. It’s a fiendishly difficult business problem and you have 
>> to 
>> commend Puppet for even bothering with Open source at all this point so I 
>> try 
>> and see the good intentions towards the open source user base. And while I 
>> am 
>> quite negative in this mail I do not think they are maliciously working 
>> towards 
>> excluding us. Hopefully Puppet realise in these cases the pendulum swung too 
>> far and will correct the course. 
>> 
>> Either way, the signal to Open Source users is that you need to really 
>> deeply 
>> consider your options post Puppet 3. It’s undeniably a high risk situation. 
>> It 
>> might well be the most significant decision you make in the next 5 years of 
>> your infrastructure and of your career. 
>> 
>> On the points of migrating to P4 from earlier Puppet. Its a major problem. 
>> Not only did the entire system change - in every respect, every component 
>> has 
>> had a major rework and rethink from 2.6 days but the language have also in 
>> effect become a new language. Not surprising for a 10 year old product. 
>> 
>> Yes there is some semblance of backward compatibility on the language level. 
>> But there is no doubt that New Puppet is exactly that. It’s a entirely new 
>> product with a backwards translation layer. Ask yourself does just updating 
>> to 
>> P4 and running your existing code achieve much? No it doesn’t it means 
>> you’re 
>> still running an outdated code. 
>> 
>> But getting to the point where you’ve updated Puppet to 4 and are now on a 
>> new 
>> set of software but still not rewrote your code to New Puppet is a colossal 
>> task since the world we live in is so resistant to upfront testing and 
>> rollback. And then you’ve still achieved more or less nothing because now 
>> you 
>> also have to consider basically rewriting your code to take advantage of the 
>> new features. 
>> 
>> Worse before you can even begin to look at refactoring your code you need to 
>> learn an entire new Puppet language and set of technologies and their 
>> environments like the JVM, new deployment locations, new packaging models 
>> new 
>> everything - worse ones that resist introspection. All while there is scant 
>> information on new patterns, no new style guides, the supporting system like 
>> rspec-puppet doesn’t support P4. Documentation is lacking or embryonic and 
>> so 
>> forth. rspec-puppet especially is a bad situation since many who have 
>> invested 
>> in a tested infra will loose the value. Ditto for puppet strings etc. 
>> 
>> I hope my blog posts and upcoming talks at conferences help those who do 
>> want 
>> to take on this task, but it’s a task much larger than that. Meanwhile other 
>> tools like mcollective are effectively abandonware with no viable 
>> alternative. 
>> 
>> Feedback I’ve had on some of the modern Puppet code I’ve put out is that it 
>> does not look like Puppet at all. It’s a new thing, literally your 
>> foundations 
>> of your 10 story building needs replacing if you wish to move forward. In 
>> the 
>> world IT admins live in you’re asking to replace the foundations while 
>> keeping 
>> the building standing, a tall order at best. (see 
>> https://github.com/ripienaar/puppet-classifier for modern puppet code) 
>> 
>> It’s truly a perfect storm of a fuckup when looked at from a Ops perspective 
>> as 
>> an open source user. 
>> 
>> So while I made a point of calling out the ‘resistant to change’ user, there 
>> are several version of these. 
>> 
>> You have your people who just won’t change - I have no sympathy for them as 
>> was 
>> clear. 
>> 
>> But you also have those who wish to change and who look critically at the P4 
>> vs < P4 and come to the correct conclusion that this is a high risk multi 
>> month 
>> if not multi year project. They correctly deduce that Puppet is now so big 
>> that you need a dedicated team managing the manager. Something many of us 
>> just 
>> can’t afford or indeed who wants to spend their days doing nothing but 
>> manage 
>> Puppet? 
>> 
>> For many just getting Puppet in has been a massive politically charged 
>> internal 
>> struggle. It’s a constant battle between forward thinking admins, old style 
>> admins, developers and management who want to instead see features delivered 
>> and not management tools managed. 
>> 
>> Having just won the battle, one that was in many cases a battle fought out 
>> of 
>> having a deep respect and affinity for the company, its founder and 
>> products, 
>> now they find they’re squarely screwed and have to again invest possibly 
>> years 
>> and again have the fight with everyone the exact same battles and again have 
>> to 
>> budget for years of disruption. While it’s clear the Puppet won’t slow down 
>> its 
>> change curve. 
>> 
>> They correctly conclude that they WANT to change but cannot afford to. They 
>> also correctly conclude that the task is so big and Puppet moving so fast 
>> that 
>> P5 will be around long before they are on P4. And so the cycle will just 
>> start 
>> again. Its realistic to think the opportunity cost of continuing with Puppet 
>> is simply to high a price to pay for what it brings when you’re on <P4 
>> today. 
>> 
>> Staying is no option as it will be unsupported and we have to consider 
>> security 
>> updates and such. Change they have to change, rock and a hard place. 
>> 
>> There is not much more frustrating and insulting than a company who puts you 
>> in 
>> that position and needless to say if the effort has to be put in anyway they 
>> will look elsewhere. I suspect the paying customer base will approach the 
>> transition similarly. I have no data on this but would be interesting to 
>> know 
>> how many old PE users are transitioning to P4 based PE once the older 
>> support 
>> cycle ends. 
>> 
>> I am deeply sympathetic to these people and it’s sad to say but where we are 
>> today is that they are simply SOL and there is no light at the end of the 
>> tunnel when you can’t even have a hope of gaining deep insight into New 
>> Puppet 
>> without paying. 
>> 
>> So given a choice to rewrite all my code to P4 I instead came to a hybrid 
>> approach: 
>> 
>> * Move my actual things I run into containers - web sites, bind, smtp 
>> servers, etc all in containers. Not puppet managed. 
>> * As machines move to CentOS 7, make them P4. 
>> * When on P4 only manage with Puppet the low hanging fruit like resolvers, 
>> sudo, users, sensu and bacula. Most from the Forge. 
>> 
>> Why do it this way? Well my environment is a R&D environment so I enjoy 
>> looking 
>> towards new tech and this is the world I want to innovate in but more than 
>> that 
>> where my P4 is now it’s doing very little. So little that any competitor in 
>> the CM market can step up and replace P4 for me really quickly as it appears 
>> more and more likely this is an important consideration. 
>> 
>> I felt I had no choice but to approach it this way because as a Open Source 
>> user the future is not bright at all - as per my previous mail I am just not 
>> a 
>> priority - and I can’t really blame the company for feeling this way. 
>> 
>> I’d use PE as I have nothing against it but as this is a R&D network the 
>> $3000 
>> licence for my node count I’d need does not seem like a good way to spend my 
>> own 
>> pocket money. 
>> 
>> I myself am bout 50/50 through my P4 migration and it’s been a daunting task 
>> to 
>> say the least - though I am under no time pressures and am taking the time 
>> to 
>> gain a deep insight into what P4 is, what motivates its existence and to 
>> regain 
>> the deep understanding I had of < P4 and so forth. 
>> 
>> I am though a consultant in this space and Puppet is creating a massive 
>> customer base for what I do so it’s not like its wasted effort for me, as 
>> was 
>> pointed out, I am not typical though. Given the amount of money out there 
>> for 
>> consultants in a world Puppet literally create from nothing - wearing my 
>> consultant hat I’d say keep going as you were. And Puppet does really good 
>> things to support the consultants in their space via partner programs and 
>> such. 
>> 
>> P4 on it’s own is a brilliant tool brilliantly engineered and the language 
>> innovations are really good. The engineering rigour is orders of magnitude 
>> better than we had before and it really shows in the end result. I have 
>> nothing 
>> but positive things to say for P4 and the team that created it. 
> 
> Hi Arri, it’s been a while :)
> 
> I agree with most of your rant until here. While I think the engineering 
> quality of what Puppet is producing is indeed miles ahead of where it was, 
> the product design itself (including language innovations) are core of the 
> problem to me. They aren’t, as best as I can tell, designed with a particular 
> customer in mind - I certainly can’t find the sweet spot customer for whom PE 
> is the right product. For every quality innovation, there are 2-3 seriously 
> breaking changes that not only indicate a lack of understanding of how Puppet 
> is currently managed in the field (what the ecosystem is doing, what typical 
> deployments look like, etc), but also that are likely to lead the new, 
> inexperienced, middle-of-the-road customers PE used to be targeted at down 
> entirely incorrect paths.
> 
> The current state of the Classifier and Code Manager are examples of this.
> 

To be clear when I say P4 I do mean puppet and not all the rest of PE :)

> From my own experience, customers are losing confidence that Puppet 
> understands their world. I certainly am no longer certain that it does. Both 
> from the rapid iteration of change in order to add functionality that doesn’t 
> visibly improve their work but mandates frequent refactoring to moves like 
> launching products without support for operating behind proxies, the 
> perception that Puppet is a tool by admins for admins is waning pretty 
> seriously. And most new users, as you note, are embracing the wrong kind of 
> configuration tools specifically to get around it.
> 
> -Eric
> 
> 
> 
> 
> 
>> 
>> 
>> It’s unfortunate P4 is combined with a supporting eco system that while 
>> innovative, powerful and potentially game changing is making it irrelevant 
>> to 
>> me as a class of user since they are more and more approaching things in a 
>> way 
>> that locks me out of the future I - and many like me - helped create. 
>> 
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Puppet Developers" group. 
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to puppet-dev+unsubscr...@googlegroups.com. 
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/puppet-dev/371534503.181383.1460372927683.JavaMail.zimbra%40devco.net.
>>  
>> For more options, visit https://groups.google.com/d/optout. 

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-dev/167F3655-0AC7-4429-BCA3-BBDC66842A1E%40devco.net.
For more options, visit https://groups.google.com/d/optout.

Reply via email to