IMA on other platforms

Started by Carlo Didier, April 25, 2018, 04:33:13 PM

Previous topic - Next topic

Carlo Didier

I doubt that Mario would have time for this and it's not really something I need personally (actually, I don't need IMA at all), but:

Maybe it could be useful to have the possibility to run IMWS/IMA on something else than a PC. I'm thinking of all those NAS devices (like those from Synology or QNap).
The big advantage would be that those devices are usually running 24/24 anyway, so it wouldn't be necessary to have a PC running as a server. Big savings in energy and disk wear (on the PC).

Mario

#1
1. Rewriting the IMatch engine for Linux would be a massive project. Several man years of development time.
2. To "run it on NAS boxes" of different vendors would require individual customizations. They all run "a sort of Linux" but with customizations. E.g, Synology or QNap or have different plug-in concepts.
3. You can get very cheap, 'minimal power consumption if idle' Windows boxes these days. Stick PCs, Intel NUCs, media players, tablets (I use a 3 year old tablet to demo IMWS).
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Carlo Didier

Quote from: Mario on April 25, 2018, 05:51:11 PM
3. You can get very cheap, minimal power consumption if idle Windows boxes these tags. Stick PCs, Intel NUCs, media players, tablets (I use a 3 year old tablet to demo IMWS).

I'm talking "server" side, not client side. And if you already have a NAS (which becomes more and more common), it would avoid adding another device that's powered 24/24 ... hence my reasoning.

Fully understand your arguments to points 1 & 2.

Mario

#3
The NUC, tablet etc. is the server side.

I copy an IMatch database to my tablet and then it is immediately available for everybody in the same network via IMatch Anywhere. Works a treat.

Many IMA users run IMWS on a virtual Windows PC hosted on Linux, a container or in a cloud. You can rent a Windows PC from Microsoft Azure, Amazon AWS etc. for a few bucks per month, because you pay only for what you use, by the minute. If you don't need it for a week, it cost you nothing. And the hardware never fails, you are in full control of how much CPU power you need etc.

I run up to 8 Windows machines at times on Azure, for testing. I switch them on when I need them, else they are off. And when I start IMWS on one of them, I can use it from all devices, world-wide.

Quoteif you already have a NAS (which becomes more and more common),

Source?

I would argue that moving stuff into the cloud becomes at least as common as people investing money into NAS hardware. Depends on your Internet connection, of course.
NAS requires maintenance, hardware may fail, software problems, updates all the time etc.
Nothing unmanageable, although I think there are far more users who can service Windows than there are users who can service a Linux derivative running on their NAS box.

Modern NAS boxes have enough CPU power to run a Windows VM or a container, side-by-side to their original operating system. And IMWS does not need much power so this is a very workable solution.

If would be very time-consuming and expensive to develop a Linux version of the IMatch engine.
And before I do that, I would rather develop an IMatch engine which runs in the cloud and maybe on smart phones!
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Carlo Didier

All valid arguments, Mario. I'm just not the cloud is everything believer. And I don't need anything in the cloud, only at home in my internal network.
Mind you, I do have backups in the could (locally encrypted before sending the data into the cloud)., but that is my second tier backup for disaster recovery. I also have a fast local backup (and for paranoia, another on USB disks which I store at my work office).

For commercial use with clients, of course, your arguments are perfectly right and things like Azure offer lots of possibilities.

I must note that we are currently evaluating various cloud solutions at work and until now they don't offer us enough (if at all) cost savings compared to on-premises solutions. Especially problematic are the often complex calculations of costs by volume transferred, volume stored, free to backup but expensive to restore, costs for high speed connections (10Gbit upwards necessary), estimations of CPU loads, etc. It's very difficult to estimate the real costs in the could before you implement such a solution and bad surprises can happen.

Mario

#5
I agree that cost-calculation for cloud usage up-front is complex. A standard point of critique with all cloud vendors. Too complicated offers, no near-time full cost display etc. This is basically a science  :D

I get 50$ of Azure usage for free with my annual Microsoft Developer subscription (and all the tools an OS I need for development and testing).
So far I have never exceeded these 50 bucks, even when running up to 8 Windows PCs for several days a month.
I don't need 24/7 yet, this is only for testing purposes and I use resources for only a few hours at a time.

Migrating a corporate infrastructure is a different thing.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Jingo

The business where I work (medical software) is also moving to "cloud based" computing and storage... it has it's benefits.. but also some major cons (like when a node goes down - all 30 customers on that node go down .... at once!).  Its a brave new world... what's old is new again (Mainframes with dummy terminals anyone?!?!)

Mario

#7
If you access your IMatch database from your browser, you don't bother where the server is located or whether it is a real PC, a virtual PC in a cloud or even a Windows 10 system running in a container on Linux. It just does not matter.

If I have a "dumb terminal" (which today is probably rather a Notebook or a tablet) and I can run Windows software on that with the required performance I don't care if the software runs on that very device or somewhere on a virtual Windows PC in a cloud. Or whether the device runs Windows or Linux.

What I always refer to as "web technology" changes many things. Although about 50% of the new features added in IMatch 2018 are in the core of the system, written in C++ and classic Windows programming, 50% of the new features are already written in JavaScript, using technology provided by the IMWS embedded in IMatch. And for these apps/features it is irrelevant if IMWS runs on the same machine, on a physical machine somewhere in my network or on a virtual Windows PC in the cloud.

Web technologies improve my development workflow and reduce development time and bugs (very advanced testing tools available). And this technology stacks gives my users more options for using IMatch to manage or present their assets.


-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

monochrome

I would look into any of the tiny PCs that run Windows. A quick googling gave me: https://www.tinygreenpc.com/fanless-computers/micro-pcs/

Porting IMatch (and not to mention all the imaging plugins) to other platforms, especially one as diverse as Linux - is suicidal for such a small dev team.

Mario

#9
Quote from: monochrome on April 26, 2018, 04:31:58 PM
Porting IMatch (and not to mention all the imaging plugins) to other platforms, especially one as diverse as Linux - is suicidal for such a small dev team.
Especially if the "dev team" consists of one person  :D

On the other hand. I've just written my first portable application for Windows, Linux, Mac: The IMatch 2018 help app.
It runs great on Windows and I will compile it for Linux next. To test for the Mac I first need to buy a Mac because the tools run only on the Mac (as typical for Apple)....

I'c currently sitting and watching how things converge and what the application platform of the future will be.
Writing software for Windows / Linux / MacOS / Android / iOS is totally different for each platform. And impossible for one developer alone.

There are some interesting developments which use JavaScript for "native" apps on Windows / MacOS / Linux (Electron) and for Android / iOS (Titanium, Apache Cordova) but there are always compromises. Nothing for the "server/engine part of IMatch" but for the UI...
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook