17
.NET Core and Docker Microservices Overview and Demo .net core hris Myers – Consultant, Neudesic Bloggedbychris.com Docker Partner (DTSP, DSP) github.com/jixer @myerscj github.com/jixer/ oct2016dcc

Micro Services in .NET Core and Docker

  • Upload
    cjmyers

  • View
    1.112

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Micro Services in .NET Core and Docker

.NET Core and DockerMicroservices Overview and Demo

.net coreChris Myers – Consultant, NeudesicBloggedbychris.comDocker Partner (DTSP, DSP)github.com/jixer@myerscj

github.com/jixer/oct2016dcc

Page 2: Micro Services in .NET Core and Docker

Contents• Why Docker?• Why Microservices?• Why .NET Core & Microsoft? • Demonstrations• Q&A

Page 3: Micro Services in .NET Core and Docker

In the first four months since Docker launched• >50,000 pulls• >4,000 github stars• >100 significant contributors• >150 projects built on top of docker

• UIs, mini-PaaS, Remote Desktop….• 1000’s of Dockerized applications

• Memcached, Redis, Node.js…• Integration in Jenkins, Travis, Chef,

Puppet, Vagrant and OpenStack• Meetups arranged around the world…

with organizations like Ebay, Uber, Mozilla, Cloudflare, and Rackspace presenting on their use of Docker

Page 4: Micro Services in .NET Core and Docker

Why Docker?

Page 5: Micro Services in .NET Core and Docker

Why Kim Kardashian?

Page 6: Micro Services in .NET Core and Docker

Contents• Why Docker?• Why Microservices?• Why .NET Core & Microsoft? • Demonstrations• Q&A

Page 7: Micro Services in .NET Core and Docker

Microservices

Page 8: Micro Services in .NET Core and Docker
Page 9: Micro Services in .NET Core and Docker

Contents• Why Docker?• Why Microservices?• Why .NET Core & Microsoft? • Demonstrations• Q&A

Page 10: Micro Services in .NET Core and Docker

Why .NET Core?• C#• Easy to use language• Regular updates

• Visual Studio IDE• OSS, but still supported by MS• .NET Standard is targeting multi-plat• “a formal specification of .NET APIs that are intended to be available

on all .NET runtimes”• But wait Chris! We’re building microservices now… Shouldn’t

platform selection be the choice of autonomous teams of developers?• Lift and Shift to avoid lock-in

Page 11: Micro Services in .NET Core and Docker

Docker and .NET: Past, Present, Future• Past: Mono can run on Linux and host .NET code• Past: OWIN Can run on Mono• Past: Community creates Mono Docker Image

• https://hub.docker.com/_/mono/ • 2015: Mono containers leverage OWIN Web API’s

• http://www.bloggedbychris.com/2015/09/28/running-asp-net-web-api-docker/ • 2016: .NET Core Released• 2016: .NET Core Containers

• https://hub.docker.com/r/microsoft/dotnet/• 2016: Docker for Windows and OSX• 2016: Windows Containers• Future: More features integrated into .NET Core• Future: More Windows containers will be created

Page 12: Micro Services in .NET Core and Docker

Contents• What is Docker?• Microservices• Microsoft and Docker• Demonstrations• Q & A

Page 13: Micro Services in .NET Core and Docker

Microservices Patterns• Database per service• Services must be loosely coupled so that they can be

developed, deployed and scaled independently• Different services have different data storage requirements

• Pattern: Single Service Instance per Host• Services are written using a variety of languages, frameworks,

and framework versions• You want deployment to be reliable• Service instances need to be isolated from one another

Page 14: Micro Services in .NET Core and Docker

Pre-Requisites for Demos• Docker:• Docker for Windows • Docker for OSX• Docker Toolbox

• Visual Studio Code• .NET Core• NPM

Page 16: Micro Services in .NET Core and Docker

Demos• Demo 1: First Dockerized .NET Core App• Demo 2: Yeoman Generators FTW• Demo 3: Creating the KeyValue Service• Optional Demos: • Unit Testing• Automation

Page 17: Micro Services in .NET Core and Docker

Questions?