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.
Course info
Rating
(62)
Level
Intermediate
Updated
Dec 28, 2017
Duration
3h 42m
Table of contents
Course Overview
Packaging ASP.NET Apps for Docker
Running SQL Server Databases in Containers
Scaling Performance with the NATS Message Queue
Adding Self-service Analytics with Elasticsearch and Kibana
Providing Self-service Content Management with Umbraco
Managing and Monitoring Multi-container Solutions
Understanding the Path to Production
Description
Course info
Rating
(62)
Level
Intermediate
Updated
Dec 28, 2017
Duration
3h 42m
Description

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.

About the author
About the author

Elton is an independent consultant specializing in systems integration with the Microsoft stack. He is a Microsoft MVP, blogger, and practicing Technical Architect.

More from the author
More courses by Elton Stoneman
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hey, how are you doing? My name is Elton and this is Modernizing. NET Framework Apps with Docker. I work for Docker, but before I joined the team, I was a. NET consultant, architecting and delivering big. NET solutions. The great thing about the Docker platform is it works really well with those big monolithic. NET apps and it can help you transform them so they stay relevant. In this course I'll show you how to run full. NET framework apps in Docker containers on Windows, how to modernize the application architecture by making use of the Docker platform and how to deploy your newly Dockerized app to the cloud in a production grade, highly available cluster. By the end of the course, you'll be ready to bring your own. NET apps into the modern world using Docker.

Packaging ASP.NET Apps for Docker
Hey, how are you doing? My name is Elton and this is Modernizing. NET Framework Apps with Docker. This course is all about how you can take existing. NET applications, apps that may be 6 months old or 10 years old, package them to run in containers on Windows, and then use the Docker platform to modernize the application. There's no. NET core or Linux or Nano Server in this course. Docker works great with those technologies, but here the focus is firmly on modernizing existing. NET applications on Windows. Now modernizing means different things to different people. In this course we'll cover many aspects of modernization, but the main one is modernizing the architecture of a monolithic app without doing a full rewrite. I'll start by showing you how to take that monolith and run it in Docker without any code changes, then I'll start breaking features out of the monolith, running them in separate containers and using Docker to plumb everything together. By the end of this first module, I'll have an ASP. NET web forms app running in a Docker container on Windows. By the end of the course I'll have a distributed application running across multiple containers with a single way of building, distributing, deploying, managing and monitoring every part of the app. Along the way I'll be using all the major parts of the Docker platform, Docker files, images, containers, registries, and swarms. If you're not familiar with Docker, you will be by the end of the course. But my focus is on modernizing. NET apps and I'll show you the principles of the approach, as well as the practical application. Here are the guiding principles for this course.

Providing Self-service Content Management with Umbraco
Hey, how are you doing? My name is Elton and this is the next module of Modernizing. NET Framework Apps with Docker where I'll show you how to break up the UI of your application and add self-service content. The example in this module replaces the home page of the existing application with a content management system, so business users can publish their own changes to the home page. I'll do that without changing the original ASP. NET application by running a web proxy in a container. The proxy will be the public entry point to the application and it will root home pages requests to the CMS container and all other application requests to the original web-app container. This adds a huge amount of flexibility to the solution. Any UI component can be extracted into a separate container and integrated into the solution just by changing the rooting rules in the proxy. You could use the same approach with a REST API and start breaking your solution down into microservices. The proxy, technically is a reverse proxy, is a central place where you can control behaviors that apply to all the web components. None of the upstream services will be publically available. Every request gets rooted through the proxy. That means you can configure client and server caching in the proxy, do GZip compression, and you can set up your SSL here too. In this module, I'll keep it simple, just adding the CMS container for the home page and rooting between the CMS and the app container in the proxy. I'll use Umbraco, which is a great content management system based on ASP. NET, and nginx, which is a hugely popular web server and proxy. They're both open source components, and I'll show you how to run them in Docker containers on Windows.