Excellent question! Hopefully my answer will be of the same quality.
The decision requires a lot of data, and a good bit of thought. Is this an existing client with an established base of Perl software and skill? Are we installing our own node to do the work, or will the client install and support on their nodes? Do they have a relatively homogeneous environment or will the code need to run on different operating systems and CPU architectures? Do they have the ability (internet access, compilers) and skill to install from CPAN or do we need to package the dependencies with our application? If we package, how many OS/Arch combinations do we support, and do we have access to those combinations to build and test on? Is this complex enough to require compiling Perl and bundling that as well?
I would probably do a Proof of Concept on an isolated VM, with compiled Perl and included CPAN modules. When we present to the boss, and the client, we discuss what support is needed, how upgrades are done, and who owns what responsibilities. If the resource consumption for maintenance via CPAN and compiled Perl is higher than the boss or the client want to commit to then alternatives can be discussed. Maybe we provide a VM for upgrades, or we use an older Perl that their OS vendor provides. Or we look at the subset of critical activities and evaluate how difficult they would be to replicate in-house or to contract out for.
Chronicler: The Domici War (domiciwar.net)
General Ne'er-do-well (github.com/LeamHall)
| [reply] |