Modernizing .NET Framework Apps with Docker
Docker can help you bring your existing applications into the modern world. This course teaches you how to run full .NET applications in Windows containers, modernize the architecture, and deploy to the cloud.
What you'll learn
Docker isn't just for greenfield microservices applications, you can take full .NET Framework applications and run them in containers with no code changes. That's a great starting point for modernizing the architecture and moving to the cloud. In this course, Modernizing .NET Framework Apps with Docker, you'll learn how to efficiently run .NET applications and create a more modern architecture utilizing Docker. First, you'll discover how to package and run .NET apps in Docker containers on Windows. Then, you'll explore how to evolve the application architecture by breaking features out into separate containers. Finally, you'll delve into taking your modernized app to production on Azure. By the end of the course, you'll understand how Docker works on Windows and what Docker can do for your existing .NET landscape. Software required: Docker.
Table of contents
- Introducing App Modernization with Docker on Windows 2m
- Principles of Modernizing .NET Framework Apps 2m
- How the Demo WebForms App Will Evolve in the Course 2m
- Packaging .NET Apps in Docker Using MSIs 3m
- Running ASP.NET Web Apps in Windows Containers 3m
- Limitations Using MSIs to Build Docker Images 2m
- Compiling .NET Apps from Source in Docker Containers 4m
- Packaging .NET Apps in Docker with Multi-stage Builds 3m
- Module Summary 3m
- Introducing SQL Server Containers on Windows 3m
- Packaging Database Schemas into Docker Images 2m
- Building SQL Server Data Tools Projects in Containers 3m
- Packaging SQL Server Dacpacs with Multi-stage Builds 2m
- Configuring Containers to Deploy New or Updated Databases 4m
- Running a Disposable Database in a Docker Container 3m
- Understanding Docker Volumes and Image Layers 2m
- Running a Persistent Database in a Docker Container 4m
- Automating Database Schema Updates with SqlPackage 2m
- Updating the Schema in a Database Container 3m
- Module Summary 2m
- Scaling Performance with Aysnchronous Messaging 2m
- Running a Message Queue in a Docker Container 3m
- Connecting the Web Application and Database Containers 3m
- Replacing Synchronous SQL Server Access with Event Publishing 2m
- Publishing Event Messages from the Web Application 4m
- Handling Event Messages in a Console Application 2m
- Understanding Asynchronous Messaging with Containers 3m
- Building the Web App and Message Handler as Docker Images 4m
- Running the Solution in Containers with the NATS Message Queue 3m
- Module Summary 3m
- Adding Self-service Analytics to the Solution 2m
- Running Elasticsearch and Kibana in Docker Containers 2m
- Packaging Elasticsearch as a Windows Docker Image 5m
- Packaging Kibana as a Windows Docker Image 4m
- Populating Elasticsearch with a .NET Message Handler 2m
- Building the Document Index Message Handler 3m
- Packaging the Index Message Handler as a Docker Image 3m
- Running the Analytics Components in Containers 2m
- End-to-end Testing with SpecFlow in a Container 4m
- Module Summary 3m
- Adding Self-service Content to the Solution 2m
- Running Umbraco and Nginx in Docker Containers 3m
- Packaging Umbraco as a Windows Docker Image 3m
- Setting up a New Homepage in Umbraco 3m
- Deploying and Configuring Umbraco in Docker 3m
- Updating the Web Application Deployment 3m
- Running Nginx as a Reverse Proxy for Umbraco and the Web App 4m
- Deploying and Configuring Nginx in Docker 2m
- Adding Proxy Features: Compression and Caching 7m
- Module Summary 4m
- Managing and Monitoring Applications in Containers 2m
- Defining and Managing Solutions with Docker Compose 2m
- Running the Webinar Application with Docker Compose 4m
- Building the Webinar Application with Docker Compose 3m
- Monitoring in Multi-container Solutions 3m
- Adding Prometheus Metrics to the Webinar Containers 4m
- Running Prometheus in a Windows Container 5m
- Monitoring with Prometheus and Grafana 3m
- Adding a Grafana Dashboard to the Solution 3m
- Module Summary 2m
- Production Containers with Docker Swarm 3m
- High Availability, Security and Management with Swarm 3m
- Creating a Docker Swarm from Azure Marketplace 4m
- Deploying the Webinar Application to the Swarm 8m
- Production Considerations for Dockerfiles and Compose Files 3m
- Integrating Docker Secrets with .NET Applications 3m
- Integrating Docker Containers with SQL Azure 4m
- Using Docker Secrets for .NET App Configuration 2m
- Managing Production Docker Applications 6m
- Course Summary 5m