31.03.2020 Views

NET-Microservices-Architecture-for-Containerized-NET-Applications

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Important

Your development machines will run one Docker host, either Linux or Windows. Related microservices

that you want to run and test together in one solution will all need to run on the same container

platform.

Architecture / App Type Linux containers Windows Containers

Microservices on containers .NET Core .NET Core

Monolithic app .NET Core .NET Framework

.NET Core

Best-in-class performance and

scalability

.NET Core

.NET Core

Windows Server legacy app

(“brown-field”) migration to

containers

– .NET Framework

New container-based

development (“green-field”)

.NET Core

.NET Core

ASP.NET Core .NET Core .NET Core (recommended)

.NET Framework

ASP.NET 4 (MVC 5, Web API 2,

and Web Forms)

– .NET Framework

SignalR services .NET Core 2.1 or higher version .NET Framework

.NET Core 2.1 or higher version

WCF, WF, and other legacy

frameworks

Consumption of Azure services

WCF in .NET Core (client library

only)

.NET Core

(eventually most Azure

services will provide client

SDKs for .NET Core)

.NET Framework

WCF in .NET Core (client library

only)

.NET Framework

.NET Core

(eventually most Azure services

will provide client SDKs for .NET

Core)

What OS to target with .NET containers

Given the diversity of operating systems supported by Docker and the differences between .NET

Framework and .NET Core, you should target a specific OS and specific versions depending on the

framework you are using.

For Windows, you can use Windows Server Core or Windows Nano Server. These Windows versions

provide different characteristics (IIS in Windows Server Core versus a self-hosted web server like

Kestrel in Nano Server) that might be needed by .NET Framework or .NET Core, respectively.

For Linux, multiple distros are available and supported in official .NET Docker images (like Debian).

16 CHAPTER 3 | Choosing Between .NET Core and .NET Framework for Docker Containers

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!