caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Francois Berenger <berenger@riken.jp>
To: caml-list@inria.fr
Subject: Re: Problems to get larger user base ... (Re: [Caml-list] OCaml's variables)
Date: Thu, 30 May 2013 14:11:51 +0900	[thread overview]
Message-ID: <51A6DF97.5010602@riken.jp> (raw)
In-Reply-To: <1804446.xtBoISCFl2@groupon>

On 05/30/2013 02:05 PM, Chet Murthy wrote:
>
> I'm glad we're having this discussion.
>
> On Thursday, May 30, 2013 06:52:25 AM Malcolm Matalka wrote:
>> I think out would be wrong for opam to try to solve this problem.  There
>> are already many tools available for deploying (Ansible, Puppet, Chef,
>> Fabric, Capistrano).  Such a later can be build on top of opam of need be.
>
> I think this is incorrect.  Let me explain.
>
> (1) when we look at deploying complex collections of code/libs/data
> onto multiple machines, usually we assume that the code has already
> been built.
>
> (2) but let's first dispatch the case where the code has -not- been
> built.  In such a case, I presume you're proposing that the code be
> built on each machine, yes?
>
>    (a) this drastically increases the CPU required to perform upgrades
>    and deploys
>
>    (b) but far, far, far more importantly, it means that on each
>    machine, a nontrivially complex script runs that builds the actual
>    installed binaries.  If that script contains -any- nondeterminism or
>    environmental sensitivity, it could produce different results on
>    different machines.  The technical term is "version skew".

      (c) that's too damn slow

> In scale-out systems, this sort of "skew" is absolutely fatal, because
> it means that machines/nodes are not a priori interchangeable.  And
> all of fast-fail fault-tolerance depends on nodes being
> interchangeable.
>
> (3) But let's say that what you really mean is that we should use
> tools like puppet/chef/capistrano to copy collections of
> binaries/libs/data to target machines and install them.  These
> scripts/recipes are written by some person.  You could have equally
> well suggested that that person build Debian packages (or RPMs) of
> each OPAM package, writing out all the descriptions and manifests.
>
> And manually specifying all dependencies and requiremeents.
>
> Either way, that person is doing a job that OPAM already does a lot
> of, and does quite well.  Gosh, wouldn't it be nice if OPAM could
> generate those RPMs?  Well, it's a little more complicated than that,
> but really, not much more.  The complexity comes in that you -might-
> (I'm not saying I have this part figured out yet) want ways to
> -generalize- (say) the camlp5 package so that it could be installed on
> many different base OPAM installations.
>
> But setting aside that nice-to-have, imagine that OPAM knew how to
> generate RPMs from each package it installed, and from the ocaml+opam
> base itself.  You combine those, and you can:
>
>    (i) install ocaml, opam, and a bunch of packages
>
>    (ii) push a button, and out come a pile of RPMs, along with
>    dependencies amongst them (and hopefully on the relevant
>    environmental RPMs (e.g., libpcre-dev for pcre-ocaml, etc) so that
>    you can just stuff those RPMs into a YUM repo, go to a second box,
>    and say
>
>      "yum install opam ocaml pcre-ocaml"
>
>    and get everything slurped down and installed, just as if OPAM had
>    installed it all, package-by-package.
>
> --chet--
>
> P.S. And this doesn't even get into the unsuitability of chef/puppet
> for managing software package installation.  There's a reason that no
> distro uses such schemes to install the large and complex sets of
> packages needed to run amodern Linux box.  And why there is no Linux
> version of Microsorft's "DLL Hell".  Linux distros by and large (and
> esp Debian and Ubuntu) have worked hard to make package installation
> foolproof -- and chef/puppet etc are anything but.
>
>


  reply	other threads:[~2013-05-30  5:11 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-23 23:53 [Caml-list] OCaml's variables oliver
2013-05-24  9:01 ` Arnaud Spiwack
2013-05-24 23:30   ` oliver
2013-05-24 23:53     ` Siraaj Khandkar
2013-05-25  0:40       ` oliver
2013-05-25  5:14         ` Wojciech Meyer
2013-05-25 11:04           ` oliver
2013-05-25 11:49             ` Gabriel Scherer
2013-05-25 12:04               ` oliver
2013-05-25 12:30                 ` David Allsopp
2013-05-25 22:42                   ` oliver
2013-05-25 23:24                     ` Lukasz Stafiniak
2013-05-25 22:57               ` oliver
2013-05-25 16:53     ` Kristopher Micinski
2013-05-25 22:44       ` oliver
2013-05-26 15:00 ` oliver
2013-05-26 18:38   ` Malcolm Matalka
2013-05-26 21:49     ` Problems to get larger user base ... (Re: [Caml-list] OCaml's variables) Oliver Bandel
2013-05-27  7:40       ` Mr. Herr
2013-05-27  8:37         ` Fabrice Le Fessant
2013-05-27 20:21           ` Mr. Herr
2013-05-27 20:36             ` Török Edwin
2013-05-27 21:10               ` Mr. Herr
2013-05-28  1:15                 ` Francois Berenger
2013-05-28 18:32                   ` Mr. Herr
2013-05-28 18:39                     ` Malcolm Matalka
2013-05-28 18:50                     ` Anil Madhavapeddy
2013-05-28 19:24                       ` Mr. Herr
2013-05-28 22:00                     ` Paolo Donadeo
2013-05-28 22:17                       ` Mr. Herr
2013-05-28 22:43                         ` Paolo Donadeo
2013-05-29 20:48                           ` Mr. Herr
2013-05-29 21:11                             ` Malcolm Matalka
2013-05-29 22:02                               ` Mr. Herr
2013-05-29 22:10                                 ` Malcolm Matalka
2013-05-30  0:51                                 ` Francois Berenger
2013-05-30  0:45                               ` Francois Berenger
2013-05-30  0:57                                 ` Chet Murthy
2013-05-30  1:09                                   ` Francois Berenger
2013-05-30  4:52                                   ` Malcolm Matalka
2013-05-30  5:04                                     ` Francois Berenger
2013-05-30  5:05                                     ` Chet Murthy
2013-05-30  5:11                                       ` Francois Berenger [this message]
2013-05-30  6:02                                       ` Malcolm Matalka
2013-05-30  6:36                                         ` Francois Berenger
2013-05-30  6:47                                           ` Malcolm Matalka
2013-05-30 22:41                                         ` Chet Murthy
2013-05-31  5:27                                           ` Malcolm Matalka
2013-05-31 13:32                                         ` Mike Lin
2013-06-03  1:15                                           ` Francois Berenger
2013-05-30 13:49                                     ` oliver
     [not found]                                   ` <20130530.091844.2217058886454447597.Christophe.Troestler@umons.ac.be>
2013-05-30  7:23                                     ` [Caml-list] Re: Problems to get larger user base Mihamina Rakotomandimby
2013-05-30  7:51                                   ` OPAM binary packages (was Re: Problems to get larger user base ... (Re: [Caml-list] OCaml's variables)) Thomas Gazagnaire
2013-05-27  8:53         ` Problems to get larger user base ... (Re: [Caml-list] OCaml's variables) Erik de Castro Lopo
2013-05-27 12:38           ` Mr. Herr
2013-05-27 12:56             ` Paolo Donadeo
2013-05-27 20:35               ` Mr. Herr
2013-05-27 20:57                 ` Paolo Donadeo
2013-05-28  1:17             ` Francois Berenger
2013-05-28  2:44               ` oliver
2013-05-28  3:40                 ` Francois Berenger
2013-05-28  4:05                   ` Norman Hardy
2013-05-28 12:51                     ` oliver
2013-05-28  4:08                   ` Norman Hardy
2013-05-28 12:36                   ` oliver
2013-05-29  6:12                     ` Mihamina Rakotomandimby
2013-05-29  7:31                       ` Fabrice Le Fessant
2013-05-29  2:39                   ` Jeff Meister
2013-05-29  2:51                     ` Francois Berenger
2013-05-29  2:57                       ` Jeff Meister
2013-05-29  7:50                         ` Török Edwin
2013-05-29  3:06                     ` oliver
2013-05-28 18:51               ` Mr. Herr
2013-05-28 19:06                 ` Anthony Tavener
2013-05-28 19:47                   ` Mr. Herr
2013-05-29  2:25                 ` Francois Berenger
2013-05-28  4:20             ` Erik de Castro Lopo
2013-05-28 18:59               ` Mr. Herr
2013-05-29  3:08                 ` Erik de Castro Lopo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51A6DF97.5010602@riken.jp \
    --to=berenger@riken.jp \
    --cc=caml-list@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).