Windows brings Docker Goodness - What does it mean for .NET developers?

33
Windows Brings Docker Goodness @NaeemSarfraz #DDDScot Edinburgh

Transcript of Windows brings Docker Goodness - What does it mean for .NET developers?

Page 1: Windows brings Docker Goodness - What does it mean for .NET developers?

Windows Brings Docker Goodness@NaeemSarfraz#DDDScot Edinburgh

Page 2: Windows brings Docker Goodness - What does it mean for .NET developers?

What can you expect?

▪ Learn all about what Containers are and why they exist▪ How they will work in Windows▪ The tools you’ll use (right now) to develop using them– Including Visual Studio

▪ Lots of demos running Containers using Docker + PowerShell

▪ Not covering the Orchestration of Containers▪ Disclaimer: No guarantee demos will work as we’re

using Beta\Technical Preview software

Page 3: Windows brings Docker Goodness - What does it mean for .NET developers?

Who am I?

Solutions Architect @ Barrett Steel10+ years .Net DeveloperLearn(new Things()).Like()Play(Archery).Add(Horseriding}.Like()

@NaeemSarfrazhttp://naeemsarfraz.net

Page 4: Windows brings Docker Goodness - What does it mean for .NET developers?
Page 5: Windows brings Docker Goodness - What does it mean for .NET developers?
Page 6: Windows brings Docker Goodness - What does it mean for .NET developers?
Page 7: Windows brings Docker Goodness - What does it mean for .NET developers?
Page 8: Windows brings Docker Goodness - What does it mean for .NET developers?

http://bit.ly/1Tas78c

Page 9: Windows brings Docker Goodness - What does it mean for .NET developers?

http://bit.ly/1rn0phS

Page 10: Windows brings Docker Goodness - What does it mean for .NET developers?

http://bit.ly/1mM76oc

Page 11: Windows brings Docker Goodness - What does it mean for .NET developers?

http://bit.ly/1rEropQ http://bit.ly/1VWxEG9

Page 12: Windows brings Docker Goodness - What does it mean for .NET developers?

http://bit.ly/1rn5DKH

Page 13: Windows brings Docker Goodness - What does it mean for .NET developers?
Page 14: Windows brings Docker Goodness - What does it mean for .NET developers?
Page 15: Windows brings Docker Goodness - What does it mean for .NET developers?
Page 16: Windows brings Docker Goodness - What does it mean for .NET developers?
Page 17: Windows brings Docker Goodness - What does it mean for .NET developers?
Page 18: Windows brings Docker Goodness - What does it mean for .NET developers?
Page 19: Windows brings Docker Goodness - What does it mean for .NET developers?

Enter Windows Server 2016

The Different Flavours

▪ Windows Server Core▪ Windows Server Nano

Windows Server Nano

▪ Optimised for the cloud▪ 20X smaller than WS Core▪ 80% fewer reboots▪ 92% fewer critical bulletins▪ Can be used as a:

– Container Host– File Server– DNS Server– IIS Server

Page 20: Windows brings Docker Goodness - What does it mean for .NET developers?
Page 21: Windows brings Docker Goodness - What does it mean for .NET developers?

Containers Support in Windows Server 2016

Windows Server Containers Hyper-V Containers

TRUSTED UNTRUSTED

Page 22: Windows brings Docker Goodness - What does it mean for .NET developers?

Demo: Let’s run a Container using Docker

Page 23: Windows brings Docker Goodness - What does it mean for .NET developers?

Demo: Let’s run a Container using Powershell

Page 24: Windows brings Docker Goodness - What does it mean for .NET developers?

Demo: Deploy an ASP.NET Core app

Page 25: Windows brings Docker Goodness - What does it mean for .NET developers?

Demo: Visual Studio Tooling

Page 26: Windows brings Docker Goodness - What does it mean for .NET developers?

Development Workflow

Deploy from

Registry

Push Docker

Image to Registry

Integration Tests

Build Code & Docker

Image

Write & Commit

Code

Page 27: Windows brings Docker Goodness - What does it mean for .NET developers?

Docker for Windows

Page 28: Windows brings Docker Goodness - What does it mean for .NET developers?

Docker Toolbox

Page 29: Windows brings Docker Goodness - What does it mean for .NET developers?

Docker Toolbox

▪ Docker Engine– CLI to manage your Containers

▪ Kitematic– GUI version of the Docker Engine

▪ Docker Registry– Collection of [non-]official Container images

▪ Docker Compose– Define multi-container application in one file

▪ Docker Machine– Helps to provision a host, and setup client tools

▪ Docker Swarm– Treat multiple hosts as a cluster

Page 30: Windows brings Docker Goodness - What does it mean for .NET developers?

Orchestration

▪ Docker Compose▪ Docker Swarm▪ Others– Helios from Spotify– Mesos from MesoSphere– Kubernetes from Google

▪ PaaS– Azure Container Service– Google Container Engine– Amazon EC2 Container Service

Page 31: Windows brings Docker Goodness - What does it mean for .NET developers?

Timeline and Upcoming Features

▪ Windows Server– No support for HyperV containers…yet

▪ Visual Studio– F5 launch, Edit & Refresh - now– Debugging – coming next– Addin update for Windows Container – late Q2\early Q3

▪ Docker Toolbox– Beta program launched - April– Support for Windows Containers - later this year

▪ Containers to run desktop apps?

Page 33: Windows brings Docker Goodness - What does it mean for .NET developers?

Thank You

Any Questions?

Slides available at http://naeemsarfraz.net/speaking

t: @NaeemSarfraze: [email protected]