I've repeatedly built "service container" or "corp kits" like the one
you're describing, as well as helped a number of orgs improve their
own versions of the thing in a consultant capacity. I think everyone
has the same reaction that you do: why are we duplicating all this
effort? But I can say with some breadth of experience that the
commonalities are fewer than they may appear. Once you take your e.g.
log shipper library, which is likely quite purpose-built not only for
your chosen MQ but the peculiarities of its runtime environment(s),
and provided switches and knobs to account for reasonable alternatives
to make it worth open-sourcing, you've rounded off a sufficient number
of corners to make it significantly less useful in your original
environment. The utility of these kits or containers is generally
proportional to how zero-conf they are: just use these pre-ordained
things, and you'll be good to go. Provide enough knobs to make them
generally useful, and the magic is replaced by config; new users,
faced with a sprawling YAML config and compiling in support for things
they'll never need, wonder why they can't eliminate all this cruft by
making a purpose-built jig for their specific conditions, and you're
back to square one. Advice from someone who's been down the path
enough times: accept as invariant that this code will never see the
light of open-source day, and hyper-specialize to your programming
environment, optimizing for ease-of-use. It's a better use of time and
energy.
> --
> You received this message because you are subscribed to the Google Groups "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to
golang-nuts...@googlegroups.com.
> For more options, visit
https://groups.google.com/d/optout.