13 ms·
An Open Letter from the CEO of Puppet: Puppet and Perforce
- bee_rider 4y agoThey seem to have given their blog post a pretty weird title. An open letter is usually a complaint, with an invitation for the general public to join in. This seems to be more of an announcement that they were acquired. The whole time I was reading it, I was expecting a "but this acquisition is actually bad because <reasons that indicate something generally toxic about the industry>." https://www.merriam-webster.com/dictionary/open%20letter https://www.merriam-webster.com/dictionary/open%20letter
- jeffbee 4y agoAn open letter just means that it was addressed to some audience but distributed to the public. In this case, it seems that the letter may have been from the CEO to the company?
- lupire 4y agoBut it's clearly addressed to the public. The only call to action is "please keep using Puppet".
- eatonphil 4y agoYep I was confused reading through it. Only at the end in the FAQ was it clear what they were saying. It would have been clearer to have the title say this is about their acquisition by Perforce. :)
- shellac 4y agoI think your source is overstating it. OED says "a letter addressed to a particular person or persons but intended for a more public readership, as by deliberate publication in a newspaper or journal.", which sounds about right to me. This, however, is not obviously addressing a particular person or persons. It's just a blog post.
- bee_rider 4y agoIt might just be that my summary was off, Merriam seems pretty close to yours: "a published letter of protest or appeal usually addressed to an individual but intended for the general public." I guess I added the implication that the public is "invited to join in."
- deleted 4y ago[deleted]
- deleted 4y ago[deleted]
- shamiln 4y agoUgh Perforce...
- eej71 4y agoPoor Perforce. Once upon a time it was a very useful and interesting product. For those of you who have only known a world of git, there was a time where a product like perforce was just awesome. Fast, functional, reasonably priced, and supported a variety of platforms (VMS!). But that was a long time ago. Once git arrived, they didn't have the same place in the world and now its... a very different company.
- pluc 4y agoThe only advantage Perforce has, and the reason why giants such as Ubisoft have committed to it, is that "it handles large files better". That's it.
- hyperpl 4y agoIt also offers granular ACLs where git doesn't.
- lupire 4y agoAlso has partial checkouts, important for huge repos.
- erinnh 4y agoIve done partial checkouts in Git before as well. Its called a "sparse checkout". https://www.git-scm.com/docs/git-sparse-checkout https://www.git-scm.com/docs/git-sparse-checkout
- lupire 4y agoYes, but (sorry for yelling, that's in the source) > THIS COMMAND IS EXPERIMENTAL. ITS BEHAVIOR, AND THE BEHAVIOR OF OTHER COMMANDS IN THE PRESENCE OF SPARSE-CHECKOUTS, WILL LIKELY CHANGE IN THE FUTURE.
- nukemaster 4y agoPuppet has to be one of the worst peices of software I've ever used. The language is full of terrible ideas (lets get rid of loops since those confuse sysadmins and make the only replacement require combinators via the goofy custom functions) and the documentation is full of broken links. Hira data always leaves you guessing at what a value actually is. It's like JS, you can make it work but it requires a ton of discipline and effort and is just ridiculous. If you need to write unit tests for your deployment automation then you might be over complicating it.
- dapak 4y agoAs someone that has built and maintained several Puppet based infrastructure environments, I can get the frustration of Puppet when it is not configured correctly or left to its own devices. You absolutely need to keep Puppet up to date in your environment or it will steamroll you over time with pain/upgrades. However, I do need to correct you that Puppet does support loops and various other ways to munge data for quite a few years/versions now. In addition, _Hiera_ is not that bad once you understand the overall hierarchy of your infrastructure and it gets easier if you shift the default data store to something like HashiCorp Vault for storing secret data. We get away with not writing tests (we do heavy linting/checks though) in our Puppet infrastructure currently because everything has been documented for our development teams on best practices, trainings, and just communicating expectations well. There are some things that can sneak thru sure, but overall we've had #greatsuccess with just being open about we expect in our repos and being approachable to new committers for onboarding reasons. Puppet can be a beast to keep up to date I will say, but if you have a good plan in place it's really a wonderful tool for everyone involved.
- jerf 4y agoOne of the worst classes of software is the software whose architecture starts out with "Turing completeness is bad and hard and we'll just ban it", but it turns out the problem space needs it, whether you like it or not, and it ends up creeping back in one step at a time anyhow. Terraform kinda took a similar path, although the reigning champion of this style of software has to be HTML templating solutions. "Templates shouldn't have code in them! Ever! Any! Totally broken bad bad bad, and that's why I started this new template language that has no code constructs in it at all! Although, uh, we do kinda need to be able to loop through things like table rows from databases... and, well, we need if statements to highlight a particular result... and, well, we need full arithmetic support so we can use the modulo operator on those rows... and we need functions to factor out reusable functionality at the template layer... and oh crap that's all you need for Turing Completeness, isn't it? Well... uhh..." "Hi, I'm another developer and I'm starting a new template language because that previous one is broken and busted and written by dum dums because it has Turing completeness in it! Templates shouldn't have any code in them, ever! Although, uh, I do kinda need for loops for table rows from databases..."
- throwaway787544 4y agoPuppet is one of those tools I refuse to use unless there's absolutely no other way to get something done. Mutable state is an anti pattern. Immutable versioned artifacts are the way.
- pluc 4y agoIn that spirit, Perforce is a great match. Nobody willingly uses Perforce for version control.
- bayindirh 4y agoHaving immutable ideas is considered harmful, though. Versioned immutable artifacts help reducing incidents and increase traceability, but they're not silver bullets, and many teams were working well before these are popularized. Taking this immutability extreme creates a lot of headaches and problems, too.
- acatton 4y agoIn theory yes. In practice, no. While immutable assets (I imagine you mean container or VM images) are easy to audit, they don't solve all problems. How do you spin up a database and add database-users over time? Do you just just rebuild your container-VM from scratch and loose your data? With Ansible, I can just enforce a new database user as I run a new service against this database. Also, how do you spin up the host which runs your static VM and container images? There are tons of problems which can't be solved by immutable artifacts. Yes, immutable containers/VMs for application code. But it doesn't work well when dealing with databases, caching systems and object storages. People deploying Postgres, Redis and/or Minio on k8s or openshift are facing a totally different set of problems which are already solved by mutable state.
- cnity 4y agoIn every environment I've worked in, the content of a DB is not considered a build artifact. The container that actually runs e.g. PostgreSQL is, but it will use volume mounts. I think what OP is referring to is the fact that the container itself is stateless. If you (to continue the PostgreSQL example) needed to upgrade the version of a dependency in the container, you'd publish a new artifact and use the same volume mount, performing a data migration as you go. Rather than performing upgrades to an already running instance. ("containers are cattle, not pets").
- ksec 4y agoGod this is just awful. If your Open letter needs a FAQ at the end, you might as well start with the FAQ. I am now reading this letter the third time. I dont hold anything against Puppet or Perforce. But this letter, there is something about this letter, and dare I say whether it was the PR or its CEO who wrote it, really irritates me.
- samhw 4y ago> there is something about this letter It's the self-importance of a company which I only just realised isn't just a GitHub repo somehow thinking they need to write a letter longer than Kurt Cobain's suicide note to tell me that they got acquired by some other bland-as-fuck open-core company. All we needed to hear was: > Hi, I'm the CEO of Puppet. Yeah, that thing you use to do stuff in Chrome with code. Yeah, yeah, we're a company, yup, somehow. Anyway: we're getting acquired by this other company. They're called Perforce. No, you don't know them either. Yeah, they also have some indecipherable enterprise website with some Gartner Quadrant bollocks on it. No, you don't really need to know any of this. Edit: Fuck, that's Puppeteer. OK, I just have no idea what this company does. Oh well.
- lupire 4y agoI don't think Perforce is open core. It's open plugin, aka Embrace Extend, Extinguish. Anyway, emotions aside, it's an important company with a product used by important companies.
- Jason_Gibson 4y agoCould you give an example of where it has Embraced->Extinguished?
- acatton 4y agoWhile I agree with you, Perforce is not open-core at all, in fact, they're are fully closed-source[1] [1] https://en.wikipedia.org/wiki/Perforce#Helix_Core https://en.wikipedia.org/wiki/Perforce#Helix_Core
- UmYeahNo 4y agoWhat does it mean that it took 4 paragraphs and 400 words before it got to the point? Seems really weird.
- picodguyo 4y agoTextbook burying of the lede here.
- hashtag-til 4y agoTL; DR: Puppet acquired by Perforce (yes, the version control software).
- twic 4y ago> (yes, the version control software) Oh, didn't you see? > What is Perforce? > Perforce solutions power the technology that drives the digital economy. The company’s comprehensive DevOps portfolio and deep domain expertise drives quality, security, compliance, collaboration, and speed – across the technology lifecycle. > Perforce has a 25 year-plus history of developing and supporting developer productivity tools. So Perforce is actually, er, whatever that word salad means. It seems version control is not one of the things Perforce want associated with their name - which is also how i would feel if i'd developed Perforce.
- bbu 4y agoPuppet was great about 10-12 years ago. It made the management of hundreds of VMs a breeze. Thank you Puppet Labs! But the time of VMs has passed for most companies and by now there are better solutions available, so it makes sense to sell this off as long as it's worth something. Not sure why this announcement was called an Open Letter?
- polynomial 4y agoAs noted elsewhere it was likely called and Open Letter because the acquisition is probably understood internally to be not what they wanted to happen, but they were out of options.
- no_wizard 4y agoI think VMs are going to start coming back in vogue when companies now that are highly dependent on cloud services start to realize the cost swing back to owning bare metal machines at scale is actually cheaper once your general work loads stabilize. I think Puppet and Ansible still have a future, its just a "down time" for their popularity right now.
- heleninboodler 4y agoEven if it's more cost effective to own the host machines (whether it be bare metal or VM), I'd guess you still save yourself considerable management headaches if you continue to put containers on them. There is still some stuff to manage with something like puppet and ansible, but I think if most of your configuration is in containers, it gets a lot simpler and these tools become less critical/complicated.
- xydinesh 4y agoAgree! I felt like puppet missed an opportunity to be an IaaC for cloud providers/provisioning, especially with containers. From my experience, developers switch to other tools (terraform, ansible, etc) to fill the gap.
- pjmlp 4y agoIf that was the case we wouldn't have KataContainers or isolated Windows containers. Apparently there are some benefits to VMs.
- gwbas1c 4y ago"Perforce" is not mentioned until the fifth paragraph. When writing a document like this, open with your most important statement. For example: Title: "Perforce Acquires Puppet." Then, "We are announcing that Perforce acquired Puppet. When I started at Puppet three years ago..." There. Was that too hard?
- macksd 4y agoOr just lead with "Perforce powers the technology that drives the digital economy", and that way I know there's no substance to the rest of it and can stop reading right away.
- CPLX 4y agoI mean I’m pretty sure “An open letter from the CEO” accomplishes the same thing.
- toyg 4y agoNo, no, you don't understand. Announcing an acquisition from the perspective of the acquired, is typically considered Bad News. So the exec rulebook imposes that you will try to soften the blow by talking up how great things are anyway and how marvellously his tenure has been. That is the most important bit, from his perspective. His target is to get you to read paragraph after paragraph of spin, so that when the Bad News comes, you'll be (if not persuaded) at least willing to consider it might not be too bad after all. It's like supermarkets placing daily essentials (bread, milk, meat) at the far end of the shop, so that you'll be forced to wander through and likely buy other stuff.
- whyleyc 4y ago*Her
- polynomial 4y agoThis right here is the salient point, which explains among other things why she called it an open letter. It's not good news, and the implication is the letter is addressing Puppet employees, cc general public. Although she's desperately spinning it as positive, the fact that the announcement came from the acquiree's side, not the acquirer implies this was an end of the line option for them, maybe even a fire sale. And the CEO's writing style here does little to dissuade one from drawing the conclusion Puppet has been suffering through a lack of anything resembling leadership from her for the past 3 years.
- nerdjon 4y agoGiven this announcement I feel like I kinda have my answer. But I have to wonder how popular Puppet is now? I used it extensively... 6 years ago? somewhere in that range. I don't remember for sure. I went to training and though it worked pretty well. I remember there being a lot of excitement around Puppet. But since then I have moved more into AWS, with docker and serverless. Now I know as much as AWS and Docker love to claim otherwise... there is a large portion of companies that have not moved to this type of infrastructure. So I am legitimately curious where they stand. Now I have to imagine if I was ever in a situation where I needed to build a machine/image I would use Packer or EC2 Image Builder (I think that's the name).
- xorcist 4y agoIt doesn't matter if it's AWS or an application.conf, you still want to manage the state of your infrastructure. That management might be Terraform and Helm, but it could easily be argued that a module for Puppet or Ansible would have several advantages. Unfortunately, instead of nourishing their open source roots they went corporate and began making enterprise products instead. It is an easy way to profitability but at the same time will make yourself less relevant for your user base. Compare with Docker Inc. and Elastic NV. They had the misfortune of doing this at the same time as Python was edging out Ruby's mindshare, also visible in the slow shift from Rails to Django over the decade, thereby doubling down on the road to slow irrelevancy. This is all pretty unfortunate since the sysadmin tooling in the cloud native era leaves a lot to be desired, but it is what it is.
- heleninboodler 4y agoPlaces that run tens or hundreds of thousands of machines generally really need something managing the mutable space between the base image and the container to make sure things get updated more or less continuously for security patches, user access, etc. This space gets a lot thinner with containers, but doesn't disappear completely, in my experience. This is where something like Puppet comes in. I know there's the immutable infra movement, but I don't know how practical it really is to shoot every single server in the head and recycle it when a critical vulnerability comes out. Maybe others have seen this, but I haven't.
- rilindo 4y agoThis leaves CFEngine as the last OG independent configuration management vendor: Saltstack - acquired by VMWare Ansible - acquired by Red Hat Chef - acquired by Progress software
- debarshri 4y agoRundeck was acquired by Pagerduty
- majkinetor 4y agoWhich is when it became a thing of the past...
- skoskie 4y agoWhat does that say about CFEngine? That’s an honest question for all. Is it considered a good or bad thing?
- akvadrako 4y agoI haven't used CFEngine for about 5 years, but I don't think anybody would want to buy it or pick it for a new project. It feels like an unfinished experiment in the style of the 1990's.
- zeruch 4y agoIt felt very rough around the edges a decade ago, and I have yet to see any real change since.
- bayindirh 4y ago> That’s an honest question for all. Is it considered a good or bad thing? When we last experimented with CFEngine, we've concluded that "Friends don't let friends use CFEngine". It's a state-forcing engine by default, and is very heavy handed at that. Then I found SaltStack, and loving it to be honest.
- schoolornot 4y agoAre any notable companies still using Puppet? Does Google still use it to manage their Macs?
- lupire 4y agoGoogle migrated off Perforce years ago, but now they are Perforce customers again, lol.
- deleted 4y ago[deleted]
- lupire 4y agoSo, the founder is ashamed of the acquisition and wrote this corpspeak BS to... assuage their feelings?
- lapser 4y agoThis is a weird "open letter" but okay. I feel like Puppet, for whatever reason, has lost out on things and Ansible won, which is quite unfortunate as Ansible is just not as good as Puppet. I wonder if Preforce will be able to revive the interest in Puppet. Anyway, if someone plans to move away from Puppet (I imagine someone will, because someone always disagrees with a buyout), I've recently found mgmt[0] which has Puppet-lang compatibility. A big plus (to me anyway) is that it's not Ruby based, and is instead written in Go. [0] https://github.com/purpleidea/mgmt https://github.com/purpleidea/mgmt
- zukzuk 4y agoWhy would it not being Ruby-based be a plus? Go is a big improvement over Ruby in some use cases, like where performance or concurrency is important, but this is not one of those cases.
- lapser 4y agoPersonal opinion, I'm sure many will disagree, but I've never been a fan of Ruby. It tends to be slow and, at least last time I used Puppet, there was a lot of dependency issues (from downloading them, to ensuring you run the right version of Ruby among other things). Whereas with Go downloading a single binary takes a whole lot of headaches away. Sure concurrency/performance won't matter much in the case of Puppet like software but depending on a single binary vs lots of dependency is a huge bonus.
- brightball 4y agoRails is often slow. Ruby's plenty fast though. Puppet was trying to do a lot with the way that it was designed and I think it's probably a side effect. Ansible can be plenty slow at time too.
- lapser 4y ago> Ansible can be plenty slow at time too. Yep, I've never been a fan of Ansible. Beyond that slowness of it, the fact that it's duct tape of YAML and shell with randomness and a sprinkle of YAML craziness make it really hard for me to like it.
- nkotov 4y agotl;dr: Perforce Acquires Puppet
- travisgriggs 4y agoI’m not a cloudy/devops guy. I work on the realms that are mostly not cloudy. I figured puppet was some sort of enterprisey thing, but just know it “as one of those names.” Anyway, I read through the first 3 paragraphs and still had no clue what puppet actually does/provides. But I knew that they had a leader, and that leader could use lots of big businessy words. Curious why this is uptrending on HN. Do lots of people here use this? Usually ally this crowd goes more for the tech talk stuff.
- ghaff 4y agoPuppet was a pretty important company in the configuration management and DevOps (the two things being only somewhat related) space at one point. But configuration management moved on to a large degree from mutable server instances/VMs so automation tools have either shifted their focus or they've become less relevant.
- deleted 4y ago[deleted]
- datalopers 4y agoReading this was almost as unnecessarily complex as using Puppet for DevOps.
- nuker 4y agoWas it a CEO’s resume or bio piece? Anyone found what this was about?
- toyg 4y agoConsidering the company is being acquired, it might index double up as resumé for the CEO - since she will need it.
- kitplummer 4y agoSo long Puppet, have some fond memories. Good luck with the OSS thing at Perforce.
- Jason_Gibson 4y agoCould you give an example of where Perforce is not OSS-friendly? Sure, the product core is not OSS, but parts of the periphery are, and there's at least one section of the company whose entire business model is supporting OSS: https://www.openlogic.com/ https://www.openlogic.com/ https://www.openlogic.com/about-openlogic-perforce https://www.openlogic.com/about-openlogic-perforce
- didip 4y agoThis blogpost is as unnecessarily complicated as Puppet codebase. I hate working on Puppet codebase, it is so fragile and too easy to write spaghetti.
- avrionov 4y agoPerforce is owned by two private equity companies. The ownership is split 50-50 between Clearlake Capital and Francisco Partners. It looks like PEs invest in Perforce and use them to acquire smaller companies in the dev tools area. Perforce owns Selenium and RogueWave Software. I wouldn't be surprised if they become a public company at some point so the PE can cash on their investment.
- dugmartin 4y agoIf they use the standard private equity playbook all the good engineering staff will be gone in a year and all new feature development will stop while at the same time the sales/legal staff will grow to exploit the maintenance needs of enterprise Puppet users.
- wejick 4y agoI thought it was only who didn't understand this letter. As an open letter it's confusing, as an announcement it doesn't look like so, well it's just not well written.
- deleted 4y ago[deleted]