Skip to main content
Redhat Developers  Logo
  • AI

    Get started with AI

    • Red Hat AI
      Accelerate the development and deployment of enterprise AI solutions.
    • AI learning hub
      Explore learning materials and tools, organized by task.
    • AI interactive demos
      Click through scenarios with Red Hat AI, including training LLMs and more.
    • AI/ML learning paths
      Expand your OpenShift AI knowledge using these learning resources.
    • AI quickstarts
      Focused AI use cases designed for fast deployment on Red Hat AI platforms.
    • No-cost AI training
      Foundational Red Hat AI training.

    Featured resources

    • OpenShift AI learning
    • Open source AI for developers
    • AI product application development
    • Open source-powered AI/ML for hybrid cloud
    • AI and Node.js cheat sheet

    Red Hat AI Factory with NVIDIA

    • Red Hat AI Factory with NVIDIA is a co-engineered, enterprise-grade AI solution for building, deploying, and managing AI at scale across hybrid cloud environments.
    • Explore the solution
  • Learn

    Self-guided

    • Documentation
      Find answers, get step-by-step guidance, and learn how to use Red Hat products.
    • Learning paths
      Explore curated walkthroughs for common development tasks.
    • Guided learning
      Receive custom learning paths powered by our AI assistant.
    • See all learning

    Hands-on

    • Developer Sandbox
      Spin up Red Hat's products and technologies without setup or configuration.
    • Interactive labs
      Learn by doing in these hands-on, browser-based experiences.
    • Interactive demos
      Click through product features in these guided tours.

    Browse by topic

    • AI/ML
    • Automation
    • Java
    • Kubernetes
    • Linux
    • See all topics

    Training & certifications

    • Courses and exams
    • Certifications
    • Skills assessments
    • Red Hat Academy
    • Learning subscription
    • Explore training
  • Build

    Get started

    • Red Hat build of Podman Desktop
      A downloadable, local development hub to experiment with our products and builds.
    • Developer Sandbox
      Spin up Red Hat's products and technologies without setup or configuration.

    Download products

    • Access product downloads to start building and testing right away.
    • Red Hat Enterprise Linux
    • Red Hat AI
    • Red Hat OpenShift
    • Red Hat Ansible Automation Platform
    • See all products

    Featured

    • Red Hat build of OpenJDK
    • Red Hat JBoss Enterprise Application Platform
    • Red Hat OpenShift Dev Spaces
    • Red Hat Developer Toolset

    References

    • E-books
    • Documentation
    • Cheat sheets
    • Architecture center
  • Community

    Get involved

    • Events
    • Live AI events
    • Red Hat Summit
    • Red Hat Accelerators
    • Community discussions

    Follow along

    • Articles & blogs
    • Developer newsletter
    • Videos
    • Github

    Get help

    • Customer service
    • Customer support
    • Regional contacts
    • Find a partner

    Join the Red Hat Developer program

    • Download Red Hat products and project builds, access support documentation, learning content, and more.
    • Explore the benefits

Red Hat Summit: Developing .NET Core Apps on Red Hat OpenShift

<p>&nbsp;</p> <quillbot-extension-portal></quillbot-extension-portal>

May 8, 2018
Rob Terzi
Related topics:
.NETKubernetes
Related products:
Red Hat OpenShift Container Platform

    At Red Hat Summit 2018, Red Hat’s John Osborne and Microsoft’s Harold Wong gave a talk: Developing .NET Core Applications on Red Hat OpenShift.

    .NET Core 1.0 availability for Linux was announced two years ago, but many developers still have a number of questions about the differences between .NET Framework and .NET Core. The session started with an overview of the differences. In a nutshell, .NET Framework is the set of APIs and libraries that Windows developers have used to years, which is pretty heavily tied to Microsoft Windows and Windows GUI APIs. On the other hand, .NET Core is the cross-platform set of APIs that are available for building applications that can run on Linux, macOS, or mobile devices via Xamarin.  .Net Core 2.0 was released last August; see Don Schenck's article.

    One of the key questions is when to use one versus the other.  Here's the summary Harold Wong presented:

    .NET Framework:

    • is best for Windows desktops applications
    • covers
      • Windows Forms and Windows Presentation Framework applications
      • ASP.NET Web Forms
      • Windows Communication Foundation framework
      • Windows-specific APIs
    • has full support for VB.NET and F#
    • is installed system-wide, so there's only a single version per system
    • is lacking features in .NET Core:
      • including third-party NuGet packages
      • the APICompat library

    .NET Core:

    • is for applications intended to run cross-platform
    • is designed to address the needs of
      • containers
      • microservices
    • can be developed on Linux but target other platforms such as macOS
    • has the best performance at scale
    • can run multiple versions side by side
    • is ideal for CLI-centric environments

    .NET Core is the platform to use when you want to write an application or service to run in a container. While it’s possible to run .NET Framework apps in a Windows container, often this isn’t desirable especially on cloud platforms. The rough metric Harold gave is that a Linux container starts out at around 30 MB, and a Windows container currently starts out at around 480 MB. When adding in all the libraries of the .NET Framework and the app itself, you'd likely be adding another GB, so that'd be roughly a 1.5 GB container for a minimal app. A .NET Core app running in a Linux container can be much smaller and lighter weight, on the order of 100–200 MB.

    As the number of available APIs in .Net Core has increased, it is getting easier to port from .NET Famework to .NET Core. However, Harold raised the point that just because you can port something doesn’t mean you should.  In many cases, a refactoring that is coupled with a move from monolithic to microservices makes more sense for many applications.

    A particularly sweet spot for .NET is ASP.NET applications. ASP.NET is considered one of the fastest MVC frameworks. It is an easy environment in which to create RESTful web services. Even if an ASP.NET application was originally built using .NET Framework, it is usually very portable to .NET Core.  This makes a great path for Windows developers to scale ASP.NET applications by using .NET Core and deploying to the cloud on Red Hat OpenShift.

    For the demo portion of the talk, John Osborne demoed building and deploying .NET Core 2.0 applications on OpenShift. He described two models for development. One is a Container-as-a-Service (CaaS) approach where containers are built in the local development environment and then deployed to run on OpenShift/Kubernetes.  The other approach is the Platform-as-a-Service (PaaS) model, where the containers are built on OpenShift using Source-to-Image (S2I) builds that can be part of a CI/CD pipeline that is kicked off from git commits via GitHub's webhooks. The advantage of this is that builds can be automatically kicked off when any of the components of the stack change.

    If you choose to go the CaaS route, building containers locally, John recommended the use of metaparticle.io.  Metaparticle.io can take some of the hard work out of building distributed applications.

    For many organizations, the advantage of deploying on OpenShift is the ability to avoid creating application code that is tightly coupled to the APIs and services offered by a single cloud infrastructure platform.  Through the Kubernetes functionality in OpenShift, configuration information for service location and secure credentials storage can be factored out of the application to be picked up from the runtime environment. This allows the same containers to be used across environments, because they aren't tainted with environment-specific configuration details.

    In the demo, John showed an application being deployed that used an Microsoft SQL Server instance found via the Azure Service Broker that was exposed through OpenShift. The application got the database binding information through the Kubernetes config and secrets, which were created through the OpenShift web sonsole without having to create and edit YAML files.

    A few others points worth noting from the presentation:

    • .NET Core 3.0 was just announced a few days ago. Additional APIs are being added to .NET Core that will make it easier to move .NET Framework code over to .NET Core.
    • Microsoft's VS Code—which runs on Windows, macOS, and Linux—has become the preferred development environment for those who are building .NET Core applications.
    • .NET Core is key for building cross-platform applications that run from Windows to mobile to Linux containers, and it can be lightweight enough for comfortably deploying and—most importantly—scaling on cloud platforms.
    • OpenShift can use the Azure Service Broker to let you consume cloud services such as Microsoft SQL Server in the cloud as a service without having to package it and manage it yourself.
    • John Osborne is the co-author of a new book, OpenShift in Action. A limited number of advance copies will be available at Red Hat Summit.

     

    Last updated: June 6, 2023

    Recent Posts

    • Every layer counts: Defense in depth for AI agents with Red Hat AI

    • Fun in the RUN instruction: Why container builds with distroless images can surprise you

    • Trusted software factory: Building trust in the agentic AI era

    • Build a zero trust AI pipeline with OpenShift and RHEL CVMs

    • Red Hat Hardened Images: Top 5 benefits for software developers

    What’s up next?

     

    Red Hat Developers logo LinkedIn YouTube Twitter Facebook

    Platforms

    • Red Hat AI
    • Red Hat Enterprise Linux
    • Red Hat OpenShift
    • Red Hat Ansible Automation Platform
    • See all products

    Build

    • Developer Sandbox
    • Developer tools
    • Interactive tutorials
    • API catalog

    Quicklinks

    • Learning resources
    • E-books
    • Cheat sheets
    • Blog
    • Events
    • Newsletter

    Communicate

    • About us
    • Contact sales
    • Find a partner
    • Report a website issue
    • Site status dashboard
    • Report a security problem

    RED HAT DEVELOPER

    Build here. Go anywhere.

    We serve the builders. The problem solvers who create careers with code.

    Join us if you’re a developer, software engineer, web designer, front-end designer, UX designer, computer scientist, architect, tester, product manager, project manager or team lead.

    Sign me up

    Red Hat legal and privacy links

    • About Red Hat
    • Jobs
    • Events
    • Locations
    • Contact Red Hat
    • Red Hat Blog
    • Inclusion at Red Hat
    • Cool Stuff Store
    • Red Hat Summit
    © 2026 Red Hat

    Red Hat legal and privacy links

    • Privacy statement
    • Terms of use
    • All policies and guidelines
    • Digital accessibility

    Chat Support

    Please log in with your Red Hat account to access chat support.