This week, Microsoft announced the availability of .NET 7 and for the first time, .NET includes support for Linux on Power (ppc64le)! This milestone was a collaboration between IBM and Red Hat, Microsoft, and the .NET open source community. .NET 7 is targeted for the Red Hat Enterprise Linux (RHEL) distribution.
The older .NET Framework is limited to the Windows operating systems and despite it not being under active development (version 4.8 will be the final version), there are still many business-critical applications that use it today. However, starting in 2016, Microsoft decided to go open-source and cross-platform with their next implementation of .NET, called .NET Core. The latest release of .NET Core is .NET 7.
Why is this exciting for developers?
This is exciting for Linux on Power developers because with the release of .NET 7, Power is fully enabled in all .NET Core components. .NET Core is where new investments in .NET are happening so, to take advantage of the new features in .NET, developers should consider moving their new applications to .NET 7.
The top five programming languages for microservices application development are now supported on ppc64le.
Figure 2. .NET, Golang, Python, Node.js, and Java are all supported on ppc64le
In addition, .NET developers can now:
Figure 3. Microservices architecture diagram
Build applications in a heterogeneous data center, where the underlying infrastructure is capable of running .NET applications without having to rely solely on a Windows server.
Here are some interesting statistics from the 2021 Stack Overflow Developer Survey:
The .NET Framework combined with .NET Core make up a lion’s share of the frameworks and libraries used by professional developers as shown in figure 4. As more developers move to the more modern, open source .NET Core, these numbers may flip.
Figure 4. Most popular frameworks and libraries among professional developers (Source: 2021 Stack Overflow Developer Survey)
Both ASP.Net Core and ASP.Net are popular web frameworks with ASP.NET Core the open source, cross-platform, cloud optimized, modular gaining traction in 2021 over the older ASP.NET as shown in figure 5.
Figure 5. Most popular web frameworks among professional developers (Source: 2021 Stack Overflow Developer Survey)
C#, one of the programming languages used for .NET applications, is more popular than C++ and C as shown in figure 6.
Figure 6. Most popular programming, scripting, and markup languages among professional developers (Source: 2021 Stack Overflow Developer Survey)
To learn more about using .NET, read Ajay Kappor’s article Top 9 .NET Trends to Dominate in 2022.
What can you expect in this release of .NET 7 for Linux on Power?
Join the Power Developer eXchange community to help us extend the .NET ecosystem for Linux on Power including, the Entity Framework Core, IDE’s, debuggers, other popular packages, and .NET CoreCLR engine.
Why is this exciting for customers?
With the ability to run natively on Linux on Power, developers can begin to port and test applications to .NET 7. As 25,000 plus IBM Power customers are modernizing their applications. they will have the ability to consolidate their existing Windows (x86_64) .NET apps to run on the same Power platform as their IBM i and IBM AIX business apps and databases. Applications can now be moved closer to the data on their Power servers, as shown in figure 7.
Figure 7. Applications can now be moved closer to the data
Where can you get .NET 7 for Linux on Power?
As an open source project, all changes are included upstream here: https://github.com/dotnet. We welcome contributions from the developer community to continue extending support for Linux on Power in .NET.
Fully supported RPM packages and container images built from those sources for ppc64le are provided by Red Hat. Learn more here: https://developers.redhat.com/articles/2022/10/26/net-7-now-available-rhel-and-openshift
For use on RHEL 8.7 and RHEL 9.1:
.NET 7 is supported on both RHEL and Red Hat OpenShift Container Platform.
.NET 7 is available as the RPM, dotnet-sdk-7.0. in the AppStream repositories for RHEL 8.7 and RHEL 9.1 The AppStream repositories are enabled by default on RHEL 8 systems.
You can use the ubi8/dotnet-70-runtime image to run a pre-compiled application inside a Linux container. A no-cost Red Hat Enterprise Linux Developer Subscription is available that includes a full suite of tools for container development.
- .NET 7 images are added to OpenShift by importing imagestream definitions from s2i-dotnetcore.
- See the RHEL .NET 7 Documentation “Getting Started with .NET 7” , “.NET 7 RPM Release Notes” and “.NET 7 Container Release Notes” for more information.
Read Microsoft’s release announcement to learn more about .NET 7, and then give it a try yourself with the classic Hello World tutorial! If you need access to Power hardware, this blog, Accelerate your open source development with access to IBM Power resources lists several free and low-cost options.
We invite you to join the Power Developer eXchange community and drop your questions and comments below.