+ All Categories
Home > Documents > DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure...

DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure...

Date post: 22-May-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
46
Session A.k.a. The Container Alphabet Soup Peter De Tender CEO & Lead Technical Trainer – 007FFFLearning [email protected] @007FFFLearning @pdtit DCK, ACR, ACI, ACS, AKS,... Session
Transcript
Page 1: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

Session

A.k.a. The Container Alphabet Soup

Peter De Tender

CEO & Lead Technical Trainer – 007FFFLearning

[email protected] @007FFFLearning

@pdtit

DCK, ACR, ACI, ACS, AKS,...

Session

Page 2: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

Lig

ht B

lue

R0 G

188 B

242

Gre

en

R16 G

124 B

16

Red

R232 G

17 B

35

Mag

en

taR

180 G

0 B

158

Pu

rple

R92 G

45 B

145

Blu

eR

0 G

120 B

215

Teal

R0 G

130 B

114

Yello

wR

255 G

185 B

0

Ora

ng

eR

216 G

59 B

1

Lig

ht Y

ello

wR

255 G

241 B

0Lig

ht O

ran

ge

R255 G

140 B

0Lig

ht M

ag

en

taR

227 G

0 B

140

Lig

ht P

urp

leR

180 G

160 B

255

Lig

ht T

eal

R0 G

178 B

148

Lig

ht G

reen

R186 G

216 B

10

Dark

Red

R168 G

0 B

0D

ark

Mag

en

ta

R92 G

0 B

92

Dark

Pu

rple

R50 G

20 B

90

Mid

Blu

eR

0 G

24 B

143

Dark

Teal

R0 G

75 B

80

Dark

Gre

en

R0 G

75 B

28

Dark

Blu

eR

0 G

32 B

80

Mid

Gra

yR

115 G

115 B

115

Dark

Gra

yR

80 G

80 B

80

Ric

h B

lack

R0 G

0 B

0

Wh

iteR

255 G

255 B

255

Gra

yR

210 G

210 B

210

Lig

ht G

ray

R230 G

230 B

230

© 007FFFLearning.com

Peter De TenderCEO and Lead Technical Trainer @PDTIT and 007FFFLearning

Peter has +20 years of professional expertise in the Microsoft Infrastructure

segment, with a main focus on Microsoft Azure nowadays, relying on a

background in Exchange and System Center. Based out of Belgium but

traveling globally 87.4% of his time for his passion, he is known as a

subject matter expert, always able to provide readiness workshops in a fun

and enthusiastic way.

Peter is a MCT for +10 years, and an Azure MVP for 5 years.

Peter is a technical writer for Apress and Packt Publishing, courseware

author for Microsoft and several training partners.

@pdtit [email protected]

@007FFFLearning http://www.007FFFLearning.com

Page 3: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

Event partners

Expopartners

Expo lightpartners

Page 4: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

Session Objectives

❑ The journey to the cloud using containers

❑ Unwrapping the Container Alphabet Soup

❑ Demos

❑ Q&A

❑ Docker (DCK)

❑ Azure Container Registry (ACR)

❑ Azure Container Instance (ACI)

❑ Azure Container Services (ACS)

❑ Azure Kubernetes Services (AKS)

Page 5: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

Journey to the cloud using Containers

Page 6: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

The journey to the cloud

Digital Transformation – started years ago already

Fro

m o

n-p

rem

ises

syst

em

s to

clo

ud

ap

plica

tio

ns

Existing on-premises

infrastructure and applications

VMs

Rehost

Containers

Refactor

Microservices

Rearchitect

Serverless

Rebuild

or New

SaaS apps

Replace

App Modernization

Page 7: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

What are containers?

• Virtualize the hardware

• VMs as units of scaling

• Hypervisor dependent

• Not easily movable

Virtual machines

App

Containers

• Virtualize the operating system

• Applications as units of scaling

• Platform independent

• Easily movable across environments

(on-premises, multi-cloud)

Container

App

Physical Server

Host Operating System

Hypervisor

App App

Binaries & Libraries

Binaries & Libraries

Binaries & Libraries

Guest VM Operating

System

Guest VM Operating

System

Guest VM Operating

System

Physical Server

Host Operating System

Docker Engine

Binaries & LibrariesBinaries & Libraries

Container

App

Container

App

Container

App

Container

App

Container

App

Container

App

Container

App

Page 8: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

How do containers help in app modernization?

Containers are stand-alone, smaller silos of app instances, running at scale

Container

App

Existing/New

Applications

(=rehome)

Lift and shift to

containers

(= rehost, refactor)

App

Binaries & Libraries

Guest VM Operating

System

Container

App

Container

App

Container

App

Page 9: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

Unwrapping The ContainerAlphabet Soup

Page 10: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

Choice of developer tools and clients

Azure Container Registry Docker Hub

App Service

Deploy web apps

or APIs using

containers in a

PaaS environment

Service Fabric

Modernize .NET

applications to

microservices using

Windows Server

containers

Kubernetes Service Container Instance

Scale and orchestrate

Linux containers

using Kubernetes

Partner Ecosystem

Bring your

Partner

solutions that

run great on

Azure

Elastically burst

from your Azure

Kubernetes Service

(AKS) cluster

Running Containers on Azure: a full set of choices

Page 11: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

Choice of developer tools and clients

Azure Container Registry Docker Hub

App Service

Deploy web apps

or APIs using

containers in a

PaaS environment

Service Fabric

Modernize .NET

applications to

microservices using

Windows Server

containers

Kubernetes Service Container Instance

Scale and orchestrate

Linux containers

using Kubernetes

Partner Ecosystem

Bring your

Partner

solutions that

run great on

Azure

Elastically burst

from your Azure

Kubernetes Service

(AKS) cluster

Running Containers on Azure: a full set of choices

Supporting

Windows 2019

Containers as of

March 30th

Page 12: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

Docker Containers Overview (DCK)

Page 13: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

What is Docker?

• Leading Open-Source Containerization Platform

• Natively Supported in Azure

• Cross-Platform (Win, Linux,…)

• Cross-Platform (Azure, AzureStack, AWS, GCP,…)

Docker Containers - Overview

Docker containers wrap up a piece of

software in a complete filesystem that

contains everything it needs to run: code,

runtime, system tools, system libraries –

anything you can install on a server. This

guarantees that it will always run the same,

regardless of the environment it is running

in

Source: www.docker.com

Page 14: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

Host

Docker High-Level ArchitectureDocker Concepts

Docker build

Docker pull

Docker Run

Docker …

Client

Docker Daemon / Docker Service

Containers Images

Docker Hub

Azure Container

Registry

(Any Cloud)

Container

Registry

Registry1 2 3

Page 15: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

Docker Host

On top of a « Docker » cloud platform:

• Azure Container Instance

• Azure Container Services

• Azure Virtual Machines

• AWS, GCP,…

Where do you run your Docker Container Images?

On top of a « host » Operating System, like:

• Windows 10

• Windows Server 2016/2019

• Linux

• Mac OS

Page 16: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

Where do Docker Images come from?

Docker Host• Create your own custom images

• « Layered Cake » of OS and App bits

• Mainly used for storing PRIVATE images

Docker Hub• Hub.docker.com

• Free resource of PUBLIC images

• Option to create PRIVATE images

Docker Hub Docker Host

Page 17: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

Running a Docker Container

docker run -i -t ubuntu /bin/bash

Docker CLI command

Run container with interactive terminal Pull "ubuntu"

image from Docker Hub or local registry

Command to execute inside the container

Page 18: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

Common Docker CLI operations

docker run - Use an image to run a container

docker pull - Pull an image from a registry

docker build - Build a Docker image

docker exec - Execute a command in a container

docker stop - Stop a running container

docker images - List available Docker images

docker ps - List running Docker containers

Page 19: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

DemoCommon Docker CLI Operations

Page 20: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

Building a Docker Image - CLI

docker build - Build a Docker image

docker images - List available Docker images

1

2

2

1

Page 21: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

Building a Docker Image - DockerFile

FROM microsoft/aspnet:4.7.2-

windowsservercore-ltsc2016

ADD WebVMSampleSite_Docker

/inetpub/wwwroot/

EXPOSE 80

A Dockerfile is a text document that

contains all the commands a user could

call on the command line to assemble an

image. Using <docker build>, users can

create an automated build that executes

several command-line instructions in

succession.

Page 22: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

Building a Docker Image – VS2017

When using Visual Studio 2017 together with

Docker for Windows on the same client, you

get Docker integration features in VS2017…

https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/docker/visual-studio-tools-for-docker? view=aspnetcore-2.1

Page 23: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

DemoBuilding a Docker Image using Visual Studio 2017

Page 24: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

Running Containers in Azure

Page 25: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

Where do Azure Docker Images come from?Cloud Container Registry

• Library of Docker Images

• Azure Container Registry

• Mainly used for storing PRIVATE images

Docker Hub

• Hub.docker.com

• Free resource of PUBLIC images

• Option to create PRIVATE images

Azure Container Registry Docker Hub

Page 26: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

Container Lifecycle in Azure

Container Image

Windows or Linux

1. Azure Container

Registry (ACR)

2a. Azure Container

Instance (ACI)

2b. Azure Container

Services

(ACS)

2c. Azure Kubernetes

Service

(AKS)

Run

in Azure

Page 27: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

• Pull images from ACR and use it in

different deployment targets:

• Kubernetes | DC/OS | Swarm

• Azure compute solutions

• 3 different SKU’s:

• Basic

• Standard

• Premium

Azure Container Registry (ACR)

Azure Container Registry is a

managed Docker registry

service based on the open-

source Docker Registry 2.0.

Create and maintain Azure

container registries to store

and manage your private

Docker container images.

Page 28: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

Azure Container Registry (ACR)

Similar to the public Docker

Hub, but running within an

Azure Subscription,

offering Private images

Page 29: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

Azure Container Registry (ACR)

Automating OS and Framework Patching

Registry

Registryname.azurecr.io

namespace

Repository

Groups of Container

Images

Image

Read-only snapshot of a

Docker Container

Container

Software application in a

bundled file system

Page 30: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

DemoDeploying to Azure Container Registry

Page 31: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

Azure Container Instance (ACI)

Run Containers directly from Azure Container

Registry:

• Detailed Event Logging

• No additional Orchestration needed

• Integrates with Azure monitoring and

diagnostics capabilities

Azure Container Instances offers the fastest and

simplest way to run a container in Azure, without

having to provision any virtual machines and

without having to adopt a higher-level service.

Page 32: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

DemoRunning an Azure Container Instance

Page 33: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

But what if you need…

• Auto-Scaling

• Rolling Upgrades

• Service Discovery

• Integrated Load-Balancing

• Affinity / anti-affinity

• Scaling Options

• Custom Resource Sizing

• …

Orchestrator

Page 34: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

What Container Orchestration?What tools are available?

Kubernetes DC/OS Mesosphere Docker Swarm Service Fabric

Page 35: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

Azure Container Services (ACS)

(deprecated as of Jan 31, 2020)

What Container Orchestration in Azure?

Kubernetes DC/OS Mesosphere Docker Swarm Service Fabric

Page 36: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

Docker

Enterprise VM

Template

DC/OS

Enterprise VM

Template

Azure

Kubernetes

Services (AKS)

What Container Orchestration in Azure?

Kubernetes DC/OS Mesosphere Docker Swarm Service Fabric

Page 37: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

Deploying Azure Kubernetes ServicesUsing Azure CLI

az aks create --resource-group AKSnativeRG --name AKSCluster --node-

count 1 --enable-addons monitoring --generate-ssh-keys

az aks get-credentials –resource-group AKSnativeRG –name AKSCluster

Page 38: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

Deploying Azure Kubernetes ServicesUsing Azure Portal

1. AKS Cluster

2. MC_xxxRG_

AKSCluster

Page 39: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

Managing Azure Container ServicesKubeCTL Command Line

az aks install-cli

Kubectl get nodes

Page 40: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

DemoRunning a Docker Container in Azure Kubernetes Services

Page 41: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

Azure Kubernetes Service Architecture

Azure Infrastructure Services (VMs,

Networking, Storage,…)

Docker

Managed

App Developer

IT Pro - Sysadmin

• Managed Control

Plane

• Automated

upgrades and

patching

• Easy cluster scaling

• Cost Savings

Page 42: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

Running Windows Containers on AKSRecently announced (March 30th!!)

- AKS-Engine (Open Source)

- 1. Build an Azure ARM Template

- 2. Deploy 1 Linux VM (Kubernetes Mgmt host)

- 3. Deploy 2 (or more) Windows 2019 VMs

- 4. Push containers to AKS-Engine

- 5. Run Windows Containers

- See: https://github.com/Azure/aks-engine

Page 43: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

Q & A

Page 44: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

More Container sessions at the conferenceIf you can’t get enough of Containers, Docker, Kubernetes,…

TUE 16.50

WED 15.00

Page 45: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

Session Objectives

❑ The journey to the cloud using containers

❑ Unwrapping the Container Alphabet Soup

❑ Demos

❑ Q&A

❑ Docker (DCK)

❑ Azure Container Registry (ACR)

❑ Azure Container Instance (ACI)

❑ Azure Container Services (ACS)

❑ Azure Kubernetes Services (AKS)

Page 46: DCK, ACR, ACI, ACS, AKS, - Intelligent Cloud …...Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in

Session

Peter De Tender @pdtit @007FFFLearning

http://www.007FFFLearning.com

Thank you! Enjoy the rest of ICC


Recommended