Is there any official communication on this? It seems like its going to be a huge effort for us to modify all our code to be compatible with Linux, which isn’t something that I have ever been aware of is something we need to worry about. What is the time frame for this?
Pretty sure I raised an Idea about this nearly a year ago. How much less hassle would it be to just have a container for development purposes.
Actually here it is
Development environment container availability
There was also an expired idea related to docker
There were a number of questions left unaddressed. What I can say is that official guidance will be coming from product management at a later date.
As far as I know, on-prem will remain on Windows.
I’m happy to answer technical questions here but for everything else, please wait for PM.
Technically, once Epicor releases a version that does run on linux on their SaaS servers, there is nothing stopping you from installing dotnet on a linux server and running it yourself. Assuming there isn’t any “magic” configuration that needs to be done that isn’t documented anywhere. But of course you would not get any support if something didn’t work right.
You’re not really getting anything tangible from moving to a linux app server for on-premise anyways, the benefits are mostly if you need to run a whole bunch of servers on the same physical host. It’s slightly more efficient on resources and the linux scheduler is better at throughput, but for a single server I don’t think you would be able to really measure a meaningful difference in performance or efficiency. Plus then you would need to hire a linux-competent system administrator, and trust me they make way more money than a Windows one…
Windows licensing for one and generally cheaper compute. It’s about long-term cost.
Need is such a strong word. Linux isn’t magic, it’s open source.
I just want to know how much custom code will need to be updated when our SaaS moves to Linux.
Thanks Eric!
I hope there’s an option for those who self host (on-prem, in Azure AKS, or in Azure Arc AKS on prem) to use the Linux version. This would be a great reliability feature to be able to move in/out of Azure making the system more resilient
DOTNET is DOTNET and it will run on Linux just fine. If you’re making calls to the Windows subsystem, well, that’s on developer. SaaS users aren’t using Active Directory today, so I can’t think of anything that someone is doing that wouldn’t work if one has stayed within the framework.
So . . . why all the compiler warnings then?
Sorry for the diversion of your original intent for the thread. Opened a can of worms here, as the information around why this warning is happening is new to some or most of us. As Mark stated, it will be very little to none for most users. If you use a Windows specific API, you probably know about it, and the code probably isn’t in Epicor.
When compiling the user code, it is accessing code marked as platform specific like TransactionScope.Complete, but the user code isn’t platform specific and can be reached by any platform. It’s a heads up to say you’ve probably forgotten something or misconfigured - and they have.
If you were in a true cross-platform scenario where the user code being compiled and run is on Linux, and the example TransactionScope.Complete is a Windows-only function (it’s not), then it will cause an exception when called.