On 5/9/2013 1:51 PM, Martin Langhoff wrote:
> On Thu, May 9, 2013 at 2:31 PM, Ramin K <
ramin...@badapple.net> wrote:
>> Hubris, today thy name is Martin. :-)
>
> Fair enough. I am happy about the tool I am writing (almost finished!)
> but, as the followup post makes clear, it isn't about the designe of
> ppg. It is about the design of git.
This is where I think we diverge. :-) As someone with a fair amount of
operational experience it's not about the design of git, it's about the
implementation created on top of git. Or Puppet.
>> I'd argue that people have stressed about DNS availability for just
>> under three decades and that we are currently enjoying the fruits of that
>> labor. Personally, I have yet to work at a company where DNS has not caused
>> a significant outage.
>
> I am really surprised at your statement. Of course mishaps can happen,
> or someone can mess up configuration DNS royally. But setting up a
> primary and secondary setup is trivial.
>
> SMTP and LDAP are also examples where resilience was baked into the
> design. With those two, the quality of implementation, and
> complications in setup make for a lot more breakage.
>
> Compare to HTTP, databases etc where there's a whole industry of tools
> to make things somewhat reliable.
>
> Maybe we are talking about different things.
Not different things, but perspectives.
I'd agree that your simple primary/secondary name server is easy to
setup and it'll probably work just fine. However it supports a very
limited number of use cases and traffic levels.
My experience with DNS and administrating it in various incarnations
since the bad old days of Bind 4 informs me that it can be incredibly
fragile. It is only the implementation of the current DNS system that is
reasonably resilient or at least able to localize failure. Certainly
some designs and technology are better than others, but implementation
always matters.
The same goes for just about system/protocol you'd care to name.
Masterless Puppet with git as a distribution method does have some
things going for it as a design. You are giving up things like collected
resources and standard reporting which may or may not matter you.
Additionally you're building a distribution system of some sort even if
it's just git and ssh where you'd need to decide how to deal with the
failure of the parts.
In any case I'd like to see more discussion on highly available Puppet
regardless of way it's implemented.
Ramin