> Markdown version of [/videos/967-this-is-not-your-father-s-net](https://www.wearedevelopers.com/videos/967-this-is-not-your-father-s-net). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # This Is Not Your Father's .NET Still think .NET is stuck on legacy Windows servers? Discover how modern .NET powers cross-platform containers, letting developers migrate legacy monolithic applications without painful rewrites. - **Speakers:** [Don Schenck](https://www.wearedevelopers.com/@don-schenck) - **Event:** World Congress 2024 - **Published:** August 20, 2024 - **Duration:** 27:55 - **URL:** https://www.wearedevelopers.com/videos/967-this-is-not-your-father-s-net ## Summary The .NET ecosystem has fundamentally transformed since open-sourcing in 2016, evolving from a Windows-bound legacy framework into a highly performant, cross-platform, first-class citizen in the container world. Modern .NET bridges the gap between traditional enterprise software and cloud-native architecture, providing developers with rapid execution, broad device compatibility, and simplified containerization workflows. Instead of relying solely on Dockerfiles, teams can leverage native tools like the dotnet publish command to build and push container images directly. Transitioning legacy applications to modern infrastructure can be achieved seamlessly using a combination of Podman Desktop and Red Hat OpenShift. Rather than forcing immediate rewrites, developers can run legacy .NET Framework binaries inside Windows containers directly on OpenShift. This paves the way for the strangler fig architecture pattern, allowing teams to systematically extract specific functions—like substituting monolithic database queries with modern distributed microservices—without disrupting core operations. For codebases entirely resistant to containerization, OpenShift Virtualization offers the flexibility to run full Windows Server virtual machines hosting IIS and older ASP.NET applications side-by-side with modern container workloads. Building out distributed web architectures introduces complex configuration and networking challenges that must be addressed effectively. For front-end webassembly tools like Blazor served via NGINX, developers can overcome client-side environment variable limitations by injecting runtime variables using initialization bash scripts, enabling dynamic configuration without recompilation. Additionally, managing the complexity of distributed systems requires robust fault tolerance; integrating mature libraries like Polly equips developers with essential resiliency logic, including automated retries, circuit breakers, and fallbacks to ensure high availability across modernized application ecosystems. **Keywords:** dot net core containerization, legacy framework migration, red hat openshift deployment, podman desktop local runtime, windows containers on openshift, strangler fig architecture pattern, openshift virtualization integration, iis legacy hosting environments, blazor environment variables injection, nginx client-side configuration, polly resiliency framework, circuit breaker distributed architecture, dotnet publish container build, webassembly container deployment, microservices application transition ## Chapters 1. **Reasons for adopting modern .NET in containerized environments** (00:01) — How .NET's speed, cross-platform capabilities, and large talent pool make it an ideal choice for container deployments. 1. **Options for deploying .NET applications onto OpenShift clusters** (03:28) — Running Linux containers, Windows containers, and legacy IIS workloads in an OpenShift environment simplifies transitioning legacy code. 1. **Building .NET containers natively using the publish command** (04:35) — Utilizing the dotnet publish command locally allows developers to build containers directly without managing Docker files. 1. **Deploying applications directly to OpenShift using the shift tool** (08:08) — The dotnet shift command-line tool automates the process of building and deploying applications directly into OpenShift namespaces. 1. **Building and running Windows containers locally on Windows servers** (11:26) — Utilizing the open-source Docker engine enables the compilation and execution of Windows binaries within Windows containers locally. 1. **Implementing the strangler pattern for legacy code migration** (15:34) — Running a legacy Windows application alongside modern Linux microservices demonstrates how to incrementally modernize older components. 1. **Running legacy IIS applications in OpenShift using virtual machines** (19:14) — OpenShift virtualization allows complete Windows virtual machines hosting legacy IIS applications to operate within the cluster network. 1. **Injecting environment variables into client-side applications at runtime** (22:33) — A container startup script dynamically replaces placeholders in client-side code with server environment variables before execution. 1. **Enhancing distributed application resilience using the Polly project** (25:54) — Implementing concepts like retries, circuit breakers, and timeouts with the Polly library improves the stability of distributed microservices. ## Related Moments - [Migrating storage applications to dot net core](https://www.wearedevelopers.com/videos/47-functions-triggers-using-azure-event-grids-in-azure-blob-storage) (from "Functions Triggers using Azure Event Grids in Azure Blob Storage") - [Answering audience questions on container functionality and local workflows](https://www.wearedevelopers.com/videos/166-local-development-techniques-with-kubernetes) (from "Local Development Techniques with Kubernetes") - [Combining traditional containers and alternative binaries appropriately](https://www.wearedevelopers.com/videos/886-webassembly-the-next-frontier-of-cloud-computing) (from "WebAssembly: The Next Frontier of Cloud Computing") - [Transitioning from monolith architectures to microservices and Kubernetes](https://www.wearedevelopers.com/videos/108-get-ready-for-operations-by-pull-requests) (from "Get ready for operations by pull requests") - [Addressing local development challenges with Podman Desktop](https://www.wearedevelopers.com/videos/1133-containers-and-kubernetes-made-easy-deep-dive-into-podman-desktop-and-new-ai-capabilities) (from "Containers and Kubernetes made easy: Deep dive into Podman Desktop and new AI capabilities") - [Comparing a legacy e-commerce application with modernized architecture](https://www.wearedevelopers.com/videos/120-application-modernization-and-rabbits) (from "Application Modernization and Rabbits") ## Related Articles - [Building AI Solutions with Rust and Docker](https://www.wearedevelopers.com/magazine/494-building-ai-solutions-with-rust-and-docker) - [Dev Digest 103 - Superb Owl Trafficking](https://www.wearedevelopers.com/magazine/388-dev-digest-103-superb-owl-trafficking) - [Dev Digest 209: Code Is Cheap, How OpenClaw Works & In-Browser Win 3.11](https://www.wearedevelopers.com/magazine/703-dev-digest-209-code-is-cheap-how-openclaw-works-in-browser-win-3-11) - [Dev Digest 131 - AI'm not sure about OSS](https://www.wearedevelopers.com/magazine/472-dev-digest-131-ai-m-not-sure-about-oss) ## Related Jobs - [Senior Cloud Native Solution Architect (all genders welcome) - Kubernetes, CNCF, MlOps](https://www.wearedevelopers.com/jobs/ext/101488-senior-cloud-native-solution-architect-all-genders-welcome-kubernetes-cncf-mlops) at **Rosenxt Group** - [Cloud Foundations Team](https://www.wearedevelopers.com/jobs/ext/1483289-cloud-foundations-team) at **GitHub** - [Senior Cloud Native Solution Architect (all genders welcome) - Kubernetes, CNCF, MlOps](https://www.wearedevelopers.com/jobs/ext/66342-senior-cloud-native-solution-architect-all-genders-welcome-kubernetes-cncf-mlops) at **Rosenxt Group** - [Cloud-Native Architect (all genders welcome) - Kubernetes, CNCF, MLOps](https://www.wearedevelopers.com/jobs/ext/101479-cloud-native-architect-all-genders-welcome-kubernetes-cncf-mlops) at **Rosenxt Group** - [Senior Cloud Software Architect (all genders welcome) for our Intelligent Service Operations Hub](https://www.wearedevelopers.com/jobs/ext/1693682-senior-cloud-software-architect-all-genders-welcome-for-our-intelligent-service-operations-hub) at **Rosenxt Group** - [Platform Engineer (DevOps)](https://www.wearedevelopers.com/jobs/48264-platform-engineer-devops) at **WDW Consulting GmbH**