In June of 2016, Microsoft announced the release of .NET Core, describing it as a “cross-platform, open source, and modular .NET platform for creating modern web apps, microservices, libraries and console applications”. This represents a significant new platform strategy for Microsoft. Unlike the Microsoft .NET Framework, which is closed-source, .NET Core is under a permissive open-source license and is available on GitHub. Also unlike Microsoft .NET Framework, which runs only on Windows, .NET Core supports Windows, Linux, and MacOS, and numerous third-parties are actively working to add support for mobile, “Internet of things” (IoT), and other devices.
To “foster open development and collaboration around the .NET ecosystem”, Microsoft founded an independent organisation, the .NET Foundation, with Google, Red Hat, and Samsung as members of its Technical Steering Group. As a further indication of its commitment to Linux and to open-source, Microsoft is now a Platinum member of the Linux Foundation.
What are the benefits of .NET Core to Quantifi Customers?
Quantifi believes that .NET Core offers several advantages to our customers:
- First, there are the well-known benefits of developing on a widely adopted, open-source platform (the various .NET Core projects represent some of the most active projects on GitHub in terms of number of contributors, pull requests, and forks). These benefits include: reduced cost, greater flexibility, increased transparency, and greater innovation.
- As it is cross-platform, .NET Core supports additional deployment options for customers. For example, customers can choose to deploy the Quantifi model library or our award-winning risk and reporting services on Linux or, if they prefer, develop on MacOS
- .NET Core is designed to make it easy to deploy in a container, and there are publicly available Docker images for both Linux and Windows. This is an important advantage, especially for deployment of Cloud-based applications.
- .NET Core provides the ability to deploy the required runtime components with the application. This eliminates the need for customers to have the correct .NET framework version pre-installed.
- Quantifi applications and services running on Linux will be able to leverage Big Data and Data Science technologies that target that operating system (OS). Many of these tools, such as Apache Spark, either only target Linux or Linux is the primary platform.
- The ASP.NET Core framework, for building web applications, has been completely re-engineered to provide up to 20x greater scalability than prior versions, providing an unparalleled combination of productivity and performance.
In addition, by offering first-class development and runtime environments for Linux and MacOS, we believe that .NET Core will encourage even greater adoption of C# (already one of the most popular programming languages) as well as F# and other .NET languages.
Does this mean I will need Linux in the future to run Quantifi software?
Not at all. Quantifi will continue to support Windows Server as we expect Windows will be the preferred platform for many of our customers. Those customers on Windows will however still be able to take advantage of the additional benefits of .NET Core i.e. scalability and flexibility in deployment.
Also, note that Linux will only be leveraged for Quantifi’s model library, enterprise risk services, and grid worker processes. Quantifi desktop applications will continue to run only on Windows and require the Microsoft .NET Framework. .NET Core does not provide support for Windows Presentation Foundation (WPF).
What is your timeline for supporting .NET Core?
Our timeline depends in part on the timeline for the next (2.0) release of .NET Core. This is due to the fact that we use several API’s that are not included in the current (1.1) version.
According to the .NET Core roadmap on GitHub, a preview version of .NET Core 2.0 will be released in Q2 of 2017, with the final version targeted for Q3. The current plan is for Quantifi to start work in Q2 using the preview version followed by full support in Q3, concurrent with or shortly after the final release of .NET Core 2.0.
What Linux distribution will you support?
Our current plan is to support Ubuntu and RHEL, however other distributions could be supported if required.
My company uses Quantifi SDK’s. Will I need to target .NET Core?
Probably, but you have some time. We will not be supporting .NET Core until Q3 and until then you should continue to target the appropriate .NET Framework version for your Quantifi release. Also, future versions of .NET Framework will be able to call libraries developed using .NET Core, and the next release of .NET Core will, in certain cases, provide the ability to call libraries developed using .NET Framework.
How does this fit into the overall Quantifi roadmap?
We expect that .NET Core will be the predominant platform targeted by .NET developers for web apps, microservices, and libraries in the future. It is therefore important for all customers that use Quantifi’s model library and enterprise services that we fully support .NET Core. It is especially important for customers who plan to deploy Quantifi in the Cloud as this is an integral part of our Cloud strategy.