Upload
cjmyers
View
1.113
Download
2
Embed Size (px)
Citation preview
.NET Core and DockerMicroservices Overview and Demo
.net coreChris Myers – Consultant, NeudesicBloggedbychris.comDocker Partner (DTSP, DSP)github.com/jixer@myerscj
github.com/jixer/oct2016dcc
Contents• Why Docker?• Why Microservices?• Why .NET Core & Microsoft? • Demonstrations• Q&A
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
Why Docker?
Why Kim Kardashian?
Contents• Why Docker?• Why Microservices?• Why .NET Core & Microsoft? • Demonstrations• Q&A
Microservices
Contents• Why Docker?• Why Microservices?• Why .NET Core & Microsoft? • Demonstrations• Q&A
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
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
Contents• What is Docker?• Microservices• Microsoft and Docker• Demonstrations• Q & A
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
Pre-Requisites for Demos• Docker:• Docker for Windows • Docker for OSX• Docker Toolbox
• Visual Studio Code• .NET Core• NPM
GitHub
github.com/jixer/oct2016dcc
Demos• Demo 1: First Dockerized .NET Core App• Demo 2: Yeoman Generators FTW• Demo 3: Creating the KeyValue Service• Optional Demos: • Unit Testing• Automation
Questions?