[Info-vax] MONO (.NET) for VMS
Stephen Hoffman
seaohveh at hoffmanlabs.invalid
Thu Jan 29 10:58:20 EST 2015
On 2015-01-29 13:34:03 +0000, John E. Malmberg said:
> On 1/27/2015 4:38 PM, Richard Maher wrote:
>> Has anyone tried or heard of anyone trying to port MONO to VMS?
>
> The last time I looked, it needed a whole load of support libraries
> ported just to get started.
>
> Now that GNV has been improved, it may be more practical to start
> porting those.
>
> I have not looked in a while, but you probably need a current ncurses,
> and all the components for a current GTK+, which has been the biggest
> blocker to porting major open source programs to VMS with the needed
> functionality to be used. Not lack of fork(), not OS features, just
> get current versions of those libraries, and a ton of useful
> applications will almost just compile and go.
I'd probably add cmake to that list, but yes.
>
>> Two changes in Windows IIS application deployment I see happening at
>> the moment is: -
>>
>> 1) Shared servers are back in vogue with web-farms and web-gardens. But
>> a shared/single system-disk would really help here!!!
Out of curiosity, how would having a single, shared system disk help sell VMS?
That's not intended snark. I do have some slight understanding of
clustering, and of how deployments are done on some other platforms.
With the ability to do client thin imaging or alternatives such as
loading and booting a VM image, and with deployment tools including
Munki, ARD, Puppet or Chef, and with the ability to share settings via
easily-installed profiles and particularly using distributed services
such as LDAP, with servers such as CalDAV, and particularly with
integration with Exchange Server or alternatives such as Kerio, and
integration with SharePoint or alternatives such as Igloo Software,
rapid, end-user-customized deployment is very easy.
With InfoServer, folks have been using imaging with VMS for most of
twenty years. Really great for testing purposes, among other uses.
Easy to reset to a clean install, and easy to load whatever common base
version or configuration is necessary.
In short, getting the OS bits loaded is pretty easy, and the sort of
sharing that clustering has available is — as far as I can tell —
available using different means.
Now as for issues, VMS is not particularly adept at what profiles can
be used for; the ability to acquire and load — for instance — the host
name and the host address into the disk image, and the ability to
capture the MAC address or serial number, configuration, errors, and
other tracking data. VMS also lacks tools to easily load applications
and layered products and compilers — as wasteful as application bundles
can be, we're not in the same disk storage world as we were decades
ago. This means that shared system disks are useful for VMS, but — if
you can easily and quickly load that stuff, via drag-and-drop or by
deployment script or otherwise — the advantages of installing stuff
once and sharing it just isn't as great as it once was.
Put another way, sharing a disk is certainly nice and can be useful —
and common in a VMS context — but doesn't look like a huge advantage
given some of the available alternative approaches. Single system
image also means that one corrupted disk volume or some sort of
infestation will take out multiple boxes, and it means that folks will
either need specialized links and hardware, or will be slinging
operating system tools and data over Ethernet.
Then there's the whole idea of trying to compete anywhere near head-on
with Microsoft and Windows, even with how much smaller the Microsoft
marketshare of client devices is. Are there going to be enough new C#
and .Net/Mono deployments on VMS to matter, and to be worth the
investment? But then, I've posted a few hair-brained gonzo suggestions
here, certainly. So... Sell me on how having C# and Mono and shared
system disks would help me? Or, how would this help VSI move more VMS
licenses?
>> 2) People seem to be deprecating (nay completely ignoring) the GAC. Now
>> every application has to ship a copy of everything it needs bar the
>> core OS.
These are what are sometimes called bundles on other platforms. Why
try to resolve the prerequisites, when you can create a package that
contains and isolates all the dependencies for an application? Yes,
and the OS is just a dependency for the application, too.
Sharing dependencies was very important when disk space was tiny and
expensive, or when memory was short, or when the dependencies are huge,
but disk space and memories and cores are rather less of a constraint
nowadays. There's been the VMS DLL hell involving OpenSSL in recent
years, and other open source projects will encounter the same, as their
APIs evolve.
Years ago, many folks — including myself — were grumbling about how
applications written in higher-level tools and frameworks were using
more and more memory, and more and more processor, and more disk.
Remember the discussions around how much larger Alpha images were, than
VAX, and how much larger Itanium images were than Alpha? Or for the
old folks here, the grumbling over the use of high-level languages,
rather than using a proper assembler, or the wastefulness of 4GLs
rather than 3GLs? Well, we now have a whole lot more memory, and a
whole lot more cores, and a whole lot more disk space — and we still
don't like paying for it, of course.
In comparison with the Good Old Days, my phone now has more storage and
more memory and more cores and faster graphics than many of the early
Alpha systems, and more than most of the VAX systems.
Are there still cases where disk or memory or cores are short, or when
scaling means managing a whole lot of systems and guests, many of which
are running less than fully configured? Sure. Solve those cases and
those problems, and you'll a product that might interest some folks.
But then, I don't think you're going to get there with single system
image, nor with app stacking as it's currently done — there are too
many unresolved dependencies and collisions lurking.
Getting back to my question, solving current problems is interesting.
How does single system image and sharing a disk help, given how easy it
is to blast in a new disk image? The firmware in the computers I'm
using can perform the equivalent of a MOP bootstrap and a software
install over an Internet link, after all.
>> VMS certainly looks well placed to solve (1)?
>
> Shared hosting for a partitioned linux host (simulated VM) is about $1
> U.S./month. This looks like a real server to most applications, but is
> actually isolated using security features....
Mr Maher is likely referring to the resource and data sharing of
clustering, here. Not to shared hosting.
> For VMS to get its foot in the door for that market, the provider may
> need to be able to meet those entry price points.
While intended to refer to shared hosting and not clustering, his
comment definitely applies to anybody that's trying to chase Windows.
Even if VMS comes free with the x86-64 box, folks are going to want
some prerequisite applications, and will want their own applications.
Having Mono isn't nearly enough to get even a toe-hold.
--
Pure Personal Opinion | HoffmanLabs LLC
More information about the Info-vax
mailing list