- From: Sean OMeara <
>
- To: "
" <
>
- Subject: [chef] Re: Re: Re: Re: Re: Re: Re: An deep topic
- Date: Tue, 8 Jul 2014 22:14:23 -0400
I am now officially going to write my next cookbook using nothing but
bash code blocks in your honor.
On Tue, Jul 8, 2014 at 10:02 PM, Joseph Bowman
<
>
wrote:
>
Hi guys,
>
>
This has been an interesting thread to read. I'd like to chime in on
>
the side of it's hard to have a canonical or recommended way of doing
>
things. It's actually the flexibility that chef provides in being able
>
to do things different ways that's allowed me to introduce it to my
>
team.
>
>
It probably makes sense to just explain the make up of my team, our
>
environment and how we're using chef.
>
>
I don't work for a tech company. I work for one of the larger
>
environmental non-profits. I'm part of an 8 person enterprise team of
>
admins and engineers that support a mix of Widows, Redhat Linux and a
>
couple HPUX unix servers. Currently chef is our configuration
>
management tool we're rolling out on Redhat Linux. In the future we
>
plan to use chef to manage a nagios agent on our Windows hosts since
>
the server is built with chef. All other configuration for Windows is
>
done via GPO.
>
>
No one on our team uses ruby. Me and one other guy are the primary
>
Linux scripters, I prefer python and my other guy uses perl. We have a
>
couple other engineers that can kick around with both perl and python.
>
99% of our chef recipes are currently bash. Why? Because that's the
>
one "language" we all feel comfortable backing each other up on.
>
Recently I've for the most part gotten away from templates, just using
>
files to push stuff out. It was easier for the rest of the team to
>
follow along with rather than trying to learn the template language.
>
>
My team is constantly slammed. We all are heavily involved in project
>
work while also being responsible for all KLO. To get things like chef
>
inside our environment I had to do it in the scope of a project where
>
I padded some time in order to get the chef implementation in. My team
>
doesn't have the time to learn ruby and whole new way of doing things.
>
We also have some very opinionated people about how exactly everything
>
should be done... oh yea, we're sysadmins.
>
>
I imagine a lot of other people have environments similar to ours, not
>
in the tech sense but in the "have to get things done and get it done
>
now" lifestyle of the job. Otherwise, you wouldn't need a
>
configuration management system in the first place, you'd have time to
>
manage it yourself. Now, I can't imagine there's ever going to be a
>
chef guide that says write all yours recipes with code blocks of bash.
>
However, I can tell you it's the best possible implementation for my
>
team.
>
>
Operations environments are different every where. Especially with
>
older organizations. It's one thing to build ground up with a tool
>
like chef, but introducing it to an existing ecosystem of scripts,
>
policies and procedures is something that there's not going to be a
>
catch all solution for. The answer "there's a lot of ways to do it" is
>
exactly the answer that makes Chef work for us.
>
>
>
On Tue, Jul 8, 2014 at 9:37 PM, Julian C. Dunn
>
<
>
>
wrote:
>
> On Tue, Jul 8, 2014 at 4:38 PM, Dylan Northrup
>
> <
>
>
> wrote:
>
>
>
>> Just to be explicit, please preface all of this with "In my opinion" and
>
>> "In
>
>> my experience" as appropriate.
>
>
>
> Of course, I think that goes without saying (even for everything I'm
>
> saying in this thread).
>
>
>
>> On Tue, Jul 8, 2014 at 1:53 PM, Julian C. Dunn
>
>> <
>
>
>> wrote:
>
>
>
>>> > Every time I've talked to an Opscode/Chef employee, there's been this
>
>>> > tremendous reluctance to say "This is a way that should be successful
>
>>> > to
>
>>> > you". Every time, and I do mean EVERY TIME EVEN WHEN PRESSED, there's
>
>>> > never
>
>>> > been someone who will say anything other than "There's lots of ways to
>
>>> > do
>
>>> > it. Whatever's good for your environment should work" or something to
>
>>> > that
>
>>> > effect.
>
>>>
>
>>> It depends in what context you are asking, though.
>
>>>
>
>>> * If you ask us, as part of a paying services engagement for *your*
>
>>> company, the answer should be along the lines of the "better answer"
>
>>> you outlined above.
>
>>> * If you ask us generally in a public forum, where there are many
>
>>> readers, the answer we'll give is probably along the lines of "there's
>
>>> more than one way to do it".
>
>>
>
>> I'll say that multiple times, even in a paying service engagement, the
>
>> better answer has not happened. I'll also say that in a public forum, the
>
>
>
> If that's the case then I'm sorry - it would be my expectation that it is.
>
>
>
>> "TMTOWTDI" answer should be followed by "and here's some suggested ways
>
>> for
>
>> typical use cases". And those answers, scrubbed of incriminating details,
>
>> should be informed by the solutions provided to enterprise customers.
>
>> This
>
>> helps guide everyone in a similar direction so that the community as a
>
>> whole
>
>> will tend to move in the same directions.
>
>
>
> Interesting. I'm not saying you're wrong here, it's a matter of
>
> opinion, but my experience is that enterprise customers prefer the
>
> information flow to go in the other direction: that they expect
>
> ChefCo's consultants to show up armed with a filtered list of what OSS
>
> people are doing, and what tends to work & what tends not to.
>
>
>
> My experience has also been that people who participate in open source
>
> have a high tolerance for the messiness, wide variety of different
>
> workflows/technologies, and the sometimes wrong turns that open source
>
> software takes. That's what I find orthogonal to "enterprise
>
> readiness" and what the value proposition (excuse me for using
>
> business jargon) is in paying ChefCo consultants money.
>
>
>
> We've therefore been reluctant to clamp down on the OSS creativity --
>
> some may call it chaos -- because the chaos leads to, and has led to,
>
> interesting ideas, tools, and approaches. Perhaps I'm incorrect and
>
> this community's expectations are different? I just think ChefCo has
>
> explicitly NOT done that in the OSS space and we're unlikely to.
>
>
>
> I'll give you an example: Jeremy Bingham has written a fully-fledged
>
> Chef server in Go. Should ChefCo nip that in the bud because our
>
> recommended Chef server is erchef? No, because it's an interesting
>
> project and who knows, someone may find it useful, and anything that
>
> contributes to the Chef ecosystem ultimately makes Chef stronger.
>
>
>
>> As an ops guy with a programming background, I want a map of the green
>
>> field
>
>> so I know where the sink holes are so I can avoid them and where the paths
>
>> are that others have used successfully (but which I may not be able to
>
>> easily see).
>
>>
>
>> And as a Chef user, I want ChefCo, who has the most visibility into
>
>> implementations across a wide variety of locations, to be able to distill
>
>> that down and provide advice to the larger user base to help guide us as a
>
>> community so we can all move in roughly the same direction (at least with
>
>> regards to the larger trends).
>
>
>
> I guess what I'm arguing is that if you participate in the OSS
>
> ecosystem, you're likely to get better information about the state of
>
> that ecosystem by asking on this mailing list & other OSS Chef fora
>
> than by asking ChefCo employees directly about that. Then make up your
>
> own mind.
>
>
>
>> That being said, not having an omnibus client installer was a gaping hole
>
>> in
>
>> the Opscode/ChefCo offering for quite a while. Not having a
>
>> straightforward, platform independent method for installing knife has
>
>> been a
>
>> huge hurdle for getting folks up to speed on chef.
>
>
>
> It's a mea culpa on our part, especially putting platforms like
>
> "Windows 2008R2" on the download page just so you could get Knife on
>
> your Windows 7 workstation (wat?)
>
>
>
>>> They *should* be exemplars of good code. But often they are not. Would
>
>>> we like them to be? Of course, but you can't erase 5 years of tech
>
>>> debt overnight, and many of them date back to the days of HJK
>
>>> Solutions, when we managed customer infrastructure with them. (I'm
>
>>> assuming you mean the cookbooks under "opscode-cookbooks" when you say
>
>>> "Chef site")
>
>>>
>
>>> Also, many of those cookbooks were written before today's cookbook
>
>>> authoring practices & TDD were extant. It's a little unfair to measure
>
>>> old work products against today's yardstick.
>
>>
>
>> In deference to paying down technical debt immediately (which, I agree, is
>
>> not a reasonable expectation), I'd suggest having specific exemplars out
>
>> there for cookbooks, LWRPs, etc. that can be pointed to as "shining
>
>> cookbooks on a hill" on the site. These could be used by others as
>
>> guideposts in their own endeavors while old, creaky code is hand-waved
>
>> away
>
>> saying "Ignore that, we did that before we knew better". Not all code
>
>> needs
>
>> to be good, but there do need to be examples folks can use to point the
>
>> way.
>
>
>
> I think we are discovering a number of things as the ecosystem evolves:
>
>
>
> * The distribution of LWRPs (custom types) as part of cookbooks is not
>
> optimal and maybe we should consider ingesting more of them into core
>
> or distributing them as some other artifact type (this also addresses
>
> some of the 'Ansible is easier to get started with' criticism that we
>
> get)
>
> * There are ways to write Chef cookbooks without them devolving into
>
> total spaghetti recipe code by putting more things in LWRPs, HWRPs and
>
> libraries to abstract them from recipe context.
>
>
>
> To give you a sense of what a cookbook like that looks like, check out
>
> the 'jenkins' or 'mysql' cookbooks. But we've also traded off the
>
> reality that the code in there is not easily digestible by beginners.
>
>
>
>>> > Opscode/ChefCo is the Source of Authority for implementations and,
>
>>> > while
>
>>> > it's awesome to have y'all be so open to suggestions from the
>
>>> > community,
>
>>> > that does not absolve you of the inherent responsibility.
>
>>>
>
>>> I'd like to know more about what you feel ChefCo's "responsibility"
>
>>> should be. As I mentioned above, I'd also strongly suggest that the
>
>>> "duty of care" is different for a commercial relationship versus the
>
>>> open source ecosystem.
>
>>
>
>> I'd think one feeds into the other. The needs of commercial clients
>
>> provides use cases and solution spaces to test ideas, cookbooks,
>
>> workflows,
>
>> etc. Once those practices have been fired in the crucible of actual
>
>> day-to-day use, the survivors are used as suggestions to the greater
>
>> community (either directly, or via the "shining code on a hill" method).
>
>>
>
>> I am, in no way, intending to impart a legal obligation to ChefCo to make
>
>> Joe McOpensource's website work if Joe didn't pay anything to ChefCo.
>
>> But,
>
>> as members of the greater community, I'd expect ChefCo to provide guidance
>
>> in much the same way Linus does with Linux, that Tom Christiansen and
>
>> Randal
>
>> Schwartz have done for Perl, that Maxim Dounin does for nginx. Suggest
>
>> good
>
>> ways of doing things and warn away from bad ways. Point out de facto
>
>> standards, and even help craft them. Point in the right direction instead
>
>> of saying "Whatever works for you" or something to that effect. That's
>
>> what
>
>> I'd say is the "responsibility". Not a legal obligation, but a social
>
>> one.
>
>
>
> I've certainly been trying to do that with some of my blog posts on
>
> the Chef blog in the last 6-9 months, but I think that our blog isn't
>
> as visible as it should be. Nor do I really think that is the right
>
> place for "right direction" articles. But I hear what you are saying:
>
> that we should use our substantial platform (as the creators of Chef)
>
> more broadly, and I totally agree with that.
>
>
>
> - Julian
>
>
>
> --
>
> [ Julian C. Dunn
>
> <
>
>
> * Sorry, I'm ]
>
> [ WWW: http://www.aquezada.com/staff/julian * only Web 1.0 ]
>
> [ gopher://sdf.org/1/users/keymaker/ * compliant! ]
>
> [ PGP: 91B3 7A9D 683C 7C16 715F 442C 6065 D533 FDC2 05B9 ]
[chef] Re: An deep topic, Lamont Granquist, 07/08/2014
Archive powered by MHonArc 2.6.16.