Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

Re: What are all the possible ways to deploy Perl code on multiple servers?

by chrestomanci (Priest)
on Jul 19, 2011 at 20:26 UTC ( #915537=note: print w/replies, xml ) Need Help??

in reply to What are all the possible ways to deploy Perl code on multiple servers?

You will find that there are a lot of different solutions out there, because the problem space can be sub divided a lot of ways.

For starters, how many servers do you have and how homogenous (or otherwise) are they? At one place I worked, all the servers ran the same version of Ubuntu, so it was fairly simple to use CPAN to install all the required packages on one development server, and then create a huge debian package of everying to install on the others (Using the .packlist files that CPAN helpfully writes when it installs anything). When ever we did a release of the main perl program that ran on the servers, we would install any new dependencies on the test server, and re-create the debian package.

If your servers are not homogenous, could they still run the same perl code if they each had access via a shared folder or a checkout from the version control system? This should be possible if they are all running the same major version number of perl, and if any of the libaries contain XS compiled code then all the servers have the same processor archetecture and OS family.

  • Comment on Re: What are all the possible ways to deploy Perl code on multiple servers?

Replies are listed 'Best First'.
Re^2: What are all the possible ways to deploy Perl code on multiple servers?
by jozef (Sexton) on Jul 19, 2011 at 20:51 UTC
    We have all kinds of distributions in the company, but the new installations should be homogeneous - Ubuntu. It's an interesting solution converting the ".packlist" to deb. Do you know of any open source code to do this task?

      I don't know of any open source products to automate the conversion, though there may be somthing on CPAN.

      As I recall I had a shell script of about 30 lines long that ran a find to get all the .packlist files, then used xargs etc to feed the list of filenames into tar in order to create a big tarball of all the perl files needed. The tarball was then unpacked into skeleton debian package directory (With a pre-prepared DEBIAN/control file). and the necessary debian specific command was run to turn the whole thing into a debian package that would unpack everything into the same locations on another server. I have probably foggotten a few details, and the process probably breaks the debian packaging policy in lots of ways, but it was a quick and dirty solution so who cares.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://915537]
[jedikaiti]: 'ello Monks
[Cosmic37]: and monkeys too...
[Cosmic37]: is anyone doing machine learning with Perl?
[Cosmic37]: I was using gneural code in C and it was interesting but did not have back propagation for neural networks
[corenth]: Cosmic, poking at it, but not really.
[Cosmic37]: I read that its possible to use the FANN library with Perl so I might try that now...
[corenth]: i have a question. I used map{ blah();blah(); blah();}@stuff; and it used up a ton of memory vs. the for(@stuff){} equivalent. What gives? (if anyone knows)
[Cosmic37]: FANN also has LGPL license which I like and its supposed to be quite a capable library from what I read
[corenth]: Cosmic, that sounds interesting. What is FANN (I could search it if I weren't so lazy about it)?
[Cosmic37]: how big was @stuff corenth?

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (7)
As of 2018-02-20 18:15 GMT
Find Nodes?
    Voting Booth?
    When it is dark outside I am happiest to see ...

    Results (274 votes). Check out past polls.