George Neuner wrote on 01/17/2015 04:58 PM:

On 1/17/2015 1:26 AM, Neil Van Dyke wrote:
Finally, cross your fingers, and test it on target VM.

It's the "cross you fingers" part that worries me. I'd be happier if I knew others already had done it successfully. I've never worked with CentOS and it's been a long while since Redhat. I work with Ubuntu and occasionally with SUSE. Very different admin environments.


Two more important things I forgot to mention last night:

* Being CentOS, your target VM might require SELinux labeling. If so, you *might* want to figure that out on your build machine rather than on the target VM.

* You might need make sure Linux address space layout randomization is not enabled, or face bizarre intermittent failures of your app. (This is a general OS issue for some GC'd language runtimes, and might still be with Racket, regardless of how Racket is built and packaged.)

Other than those two, if it's done the way I said, and the initial test on the target VM is good, that's a reasonable approach, and you're probably golden. (The alternative to copying install tree from a mimicing system would be to make a good CentOS package, including getting the version dependencies proper in face of future automatic security updates and such, but that alternative might be significantly more learning and work. You don't want a poorly-done CentOS package, regardless of whether you or someone else made it. But if this is a small intranet app or similar, client might not want to invest in making sure they have a good CentOS package, rather than just having a solid way of copying over a normal install tree from mimic system.)

RHEL (CentOS) is the most solid enterprise server distro, so no worries there. It's just (last time I looked) more intimidating than other popular distros, if you just want to do a naive, one-off install.

My problem is the client's provider: they will give me any Linux I want but they only provide management services for CentOS.

(Just noting this in general for the email list...) Since client has people who maintain the CentOS VMs, depending on how much control they exercise, and how much they want to know or be responsible for, it might be a courtesy/obligation to touch bases with sys-admins on what you're doing. They also might be able to help you out (e.g., they make sure that the CentOS library packages you need are installed, make sure that things like address space randomization won't get turned on later, inform you of any VM provisioning considerations, etc.), and they might have requests (e.g., provide SELinux labeling, don't copy libraries into standard directories, put Racket somewhere other than /usr/local/, don't store your persistent data on a particular filesystem, etc.). Sys-admin is often misunderstood and under-appreciated, but the quality of its decisions and practices can have a huge impact on the success of your project/organization, similar to the quality of the software developers. (Also, touching base might tell you whether the sys-admin is actually more a reactive-only type, which info might affect how you advise client on how to manage an important app's hosting.)

Neil V.

____________________
 Racket Users list:
 http://lists.racket-lang.org/users

Reply via email to