🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fa.caml
Article #14

Re: Problems to get larger user base ... (Re: [Caml-list] OCaml's variables)

#14
From: Francois Berenger
Date: Thu, 30 May 2013 05:12
87 lines
6636 bytes
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.
>
>


-- 
Caml-list mailing list.  Subscription management and archives:
https://sympa.inria.fr/sympa/arc/caml-list
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs
Technical Details
Message-ID: <fa.MJ4tVB/4MMzPkdJADdZAxwwViUM@ifi.uio.no>
Path: arc1-ca.pugleaf.net!fw11ni15056wic.0!nntp.google.com!goblin3!goblin1!goblin.stu.neva.ru!uio.no!nntp.uio.no!.POSTED!not-for-mail
References: <fa.ygUreM916SCi2HRnlvgczHSDQLY@ifi.uio.no> <fa.r2XClcgBKcljkqbd4Zm2XARLoWs@ifi.uio.no> <fa.7WBi5ppDnLEffRTywR0VksKH4TA@ifi.uio.no> <fa.dWQhXC5IgbjFHmCE0KHRlxx4o+4@ifi.uio.no>

Show Full Headers
Complete Article Headers
X-Google-Thread: ff861,943792163446c61a
X-Google-NewGroupId: yes
X-Google-Attributes: gidc0fe4b917e,domainid0,public,usenet
X-Google-Language: ENGLISH,ASCII-7-bit
X-Received: by 10.180.75.133 with SMTP id c5mr1962446wiw.2.1369890721005;
        Wed, 29 May 2013 22:12:01 -0700 (PDT)
Path: arc1-ca.pugleaf.net!fw11ni15056wic.0!nntp.google.com!goblin3!goblin1!goblin.stu.neva.ru!uio.no!nntp.uio.no!.POSTED!not-for-mail
From: Francois Berenger <berenger@riken.jp>
Newsgroups: fa.caml
Subject: Re: Problems to get larger user base ... (Re: [Caml-list] OCaml's
 variables)
Date: Thu, 30 May 2013 05:12:00 UTC
Organization: Internet mailing list
Lines: 87
Sender: caml-list-request@inria.fr
Message-ID: <fa.MJ4tVB/4MMzPkdJADdZAxwwViUM@ifi.uio.no>
References: <fa.ygUreM916SCi2HRnlvgczHSDQLY@ifi.uio.no> <fa.r2XClcgBKcljkqbd4Zm2XARLoWs@ifi.uio.no> <fa.7WBi5ppDnLEffRTywR0VksKH4TA@ifi.uio.no> <fa.dWQhXC5IgbjFHmCE0KHRlxx4o+4@ifi.uio.no>
NNTP-Posting-Host: mail-jess.uio.no
Mime-Version: 1.0
X-Trace: readme.uio.no 1369890720 12109 129.240.7.9 (30 May 2013 05:12:00 GMT)
X-Complaints-To: abuse@uio.no
NNTP-Posting-Date: Thu, 30 May 2013 05:12:00 +0000 (UTC)
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130510 Thunderbird/17.0.6
To: caml-list@inria.fr
X-IronPort-AV: E=Sophos;i="4.87,768,1363129200"; 
   d="scan'208";a="19552547"
X-Original-To: caml-list@sympa.inria.fr
Delivered-To: caml-list@sympa.inria.fr
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AuEAAMveplGGoCGwfGdsb2JhbABZgzq/HIJqgRkOAQEJGAU+giMBAQQBOEAGCwsYCRYPCQMCAQIBRRMIAQGIAwa6Go1ugSyDVwOJHY4ehh6OQIFb
X-IPAS-Result: AuEAAMveplGGoCGwfGdsb2JhbABZgzq/HIJqgRkOAQEJGAU+giMBAQQBOEAGCwsYCRYPCQMCAQIBRRMIAQGIAwa6Go1ugSyDVwOJHY4ehh6OQIFb
X-IronPort-AV: E=Sophos;i="4.87,768,1363129200"; 
   d="scan'208";a="16143923"
In-Reply-To: <1804446.xtBoISCFl2@groupon>
X-PMX-Version: 6.0.0.2142326, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2013.5.30.50321
X-Sequence: 6837
X-no-archive: yes
List-Id: <caml-list.inria.fr>
List-Archive: <http://sympa.inria.fr/sympa/arc/caml-list>
List-Help: <mailto:sympa_inria@inria.fr?subject=help>
List-Owner: <mailto:caml-list-request@inria.fr>
List-Post: <mailto:caml-list@inria.fr>
List-Subscribe: <mailto:sympa_inria@inria.fr?subject=subscribe%20caml-list>
List-Unsubscribe: <mailto:sympa_inria@inria.fr?subject=unsubscribe%20caml-list>
Original-Date: Thu, 30 May 2013 14:11:51 +0900
Original-Message-Id: <51A6DF97.5010602@riken.jp>
Original-References: <20130523235355.GI6510@siouxsie> <1629005.lH05byJ9SH@groupon> <CAKziXDVp3yPosqe5bwm7uXRxsahvapPOxyfRVnHCceD9RrgS2w@mail.gmail.com> <1804446.xtBoISCFl2@groupon>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit