Overview of .NET Core

Gökhan GÖKALP

08.09.2017

Trendyol Tech Talk

Agenda

  • .NET Core General Info
  • When to Use It? When Not?
  • Containerizing
  • Techempower Plaintext Benchmarks
  • Demonstration
  • References
  • Contacts

.NET Core General Info

  • Announced in 2014 and released in 2016 with 1.0 version.
  • Modular and smaller implementation of .NET

.NET Core General Info

  • Open-source and community-focused (GitHub)
  • Cross platform!
    • Windows, Linux, OS X / macOS
  • Runs on CoreCLR runtime

.NET Core General Info

  • Easy to learn
  • Easy frameworks to create Apps (MVC, RESTful APIs, SPA, Console Apps etc...)
  • Command-line tools

.NET Core General Info

  • Microsoft aim to continuously deliver updates to the .NET Core Runtime and Tools.
  • Goals:
    • There are high-quality ports for Linux, macOS and Windows.
    • There are high-quality ports for X64, X86, ARM32, and ARM64.
    • .NET Core ships stable releases multiple times a year.

When to Use It?

  • Cross-platform needs
  • Microservices
  • Best performant and scalable systems
  • Command line style development for Mac, Linux or Windows

When Not?

  • Current .NET Framework applications in production / Migrations
  • Need full capabilities of higher level frameworks like EF 6.x, WCF, WWF
  • Need sub-frameworks not supported by .NET Core

Containerizing

  • The modularity and lightweight nature of .NET Core makes it perfect for containers.
  • Optimized images for development and production
FROM microsoft/dotnet:runtime
WORKDIR /dotnetapp
COPY out .
ENTRYPOINT ["dotnet", "dotnetapp.dll"]

Dockerfile

dotnet restore
dotnet publish -c Release -o out

Restore packages and publish

docker build -t dotnetapp .
docker run -it --rm dotnetapp

Build and run the Docker image

Techempower Plaintext
Benchmarks

References

Contacts

Made with Slides.com