SlideShare a Scribd company logo
Dockerization of Azure Platform
Niraj Bhatt
Cloud Expert & Founder CLT Azure Group
@nirajrules
http://nirajrules.wordpress.com
What is Docker?
“Docker is an open platform (also the company) which provides ability
to package and run an application in a loosely isolated environment
called a container.”
What are Containers?
A container image is a lightweight, stand-
alone, executable package of a piece of
software that includes everything needed
to run it: code, runtime, system tools,
system libraries, settings.
Multiple containers can run on the same
machine and share the OS kernel with
other containers, each running as isolated
processes in user space.
Containers take up less space than VMs
(copy-on-write COW strategy), and start
almost instantly.
Containers - Driving Factors…
Scale
Responsiveness
Operational Overheads
Consistency
Higher Density (better ROI)
Building Blocks of Containers
Building Block Linux Windows
OS Virtualization (including
process, mount, network,
user, ipc, etc.)
Namespaces Namespaces
Hardware Thresholds Control Groups Job Objects
Union File System OverlayFS, AUFS, ZFS
Virtual Disk with Symbolic
links
To directly use virtualization facilities provided by the Linux kernel
Docker has created a custom libcontainer library
Docker Architecture
Docker uses a client-server architecture
Docker client talks to the Docker daemon, which does the heavy lifting of building,
running, and distributing your Docker containers
https://hub.docker.com/_/registry/
Docker on Windows
Docker CLI Docker Daemon (Windows
Containers)
MobyLinuxVM Daemon
(Linux Containers)
S
W
I
T
C
H
https://docs.docker.com/docker-for-windows/install/
docker image pull alpine
docker container run -it alpine
docker image pull microsoft/aspnetcore:2.0-nanoserver-1709
docker container run -it microsoft/aspnetcore:2.0-nanoserver-1709 cmd
LCOW – Linux Containers on Windows
• LCOW > 17.11 release with experimental
features turned on
• Docker daemon runs as a Windows process
(same as when running Docker Windows
containers), and every time you start a
Linux container Docker launches a minimal
Hyper-V hypervisor running a VM with a
Linux kernel
• Both Linux and Windows containers can
now run side by side
docker container run -it --platform=linux alpine
Docker Image Layers
• Layer is a set of files and objects
• Multiple layers are connected via a manifest to form a image
• docker image inspect microsoft/aspnetcore
• Images layers are stored in C:ProgramDataDockerwindowsfilter
• In Linux, the path is /var/lib/docker/’storage driver’
• ‘Storage Driver’ details can be retrieved using command ‘docker system info’
• Layers are completely unaware of each other; it’s the UFS storage driver
that provides consolidated image view
Let’s Build an App, But first…
• .NET Core CLI commands
• dotnet build - command builds the project and its dependencies into a set of
binaries.If the project has third-party dependencies, such as libraries from NuGet,
they're resolved from the NuGet cache but aren't available with the project's built
output.
• dotnet publish - Packs the application and its dependencies into a folder for
deployment to a hosting system.
• dotnet run - Command provides a convenient option to run your application from the
source code with one command. If you're trying to run a framework-dependent
application DLL instead, you must use dotnet without a command.
DockerFile
• Set of instructions to create an image
• Format <INSTRUCTION> <value>
• Instructions are typed in CAPITALS while values in lower case
• Instructions are either adding content or meta data; content instructions generate new layers
• E.g. FROM microsoft/aspnetcore-build:2.0-nanoserver-1709
WORKDIR /src
COPY *.sln ./
COPY NETCoreWithDocker/NETCoreWithDocker.csproj NETCoreWithDocker/
RUN dotnet restore
COPY . .
WORKDIR /src/NETCoreWithDocker
RUN dotnet build -c Release -o /app
docker image build –t netcorewithdocker:v1 .
Multi-Stage Builds - Keeping prod images lean
FROM microsoft/aspnetcore:2.0-nanoserver-1709 AS base
WORKDIR /app
EXPOSE 80
FROM microsoft/aspnetcore-build:2.0-nanoserver-1709 AS build
WORKDIR /src
COPY *.sln ./
COPY NETCoreWithDocker/NETCoreWithDocker.csproj NETCoreWithDocker/
RUN dotnet restore
COPY . .
WORKDIR /src/NETCoreWithDocker
RUN dotnet build -c Release -o /app
FROM build AS publish
RUN dotnet publish -c Release -o /app
FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "NETCoreWithDocker.dll"]>
Set Base Image and expose port 80
With Build image compile .NET Core App
Create Publish bundling dependencies and compiled binaries
Copy the published output to base image and set ENTRYPOINT
Docker Compose
version: '3'
services:
netcorewithdocker:
image: netcorewithdocker
build:
context: .
dockerfile: NETCoreWithDockerDockerfile
Tool for defining and running multi-container Docker applications
Docker-compose version
Name of Service (Container)
Build from current folder (context)
if image is not found
docker-compose up –d
docker-compose ps
docker-compose down
docker container inspect --format "{{.NetworkSettings.Networks.nat.IPAddress}}" containerId_or_containername
Get Container
IP Address
Demo
Docker on Windows with Visual Studio
CI / CD with Docker
https://success.docker.com/article/dev-pipeline
Docker Trusted Registry (DTR) lets you run and manage your own Docker image storage service,
securely on your own infrastructure behind your company firewall.
For testing you can use – Docker Hub (https://hub.docker.com/) or Azure Container Registry
docker login -u dockerId
docker image tag netcorewithdocker dockerId/your_repo
docker image push dockerId/your_repo
Azure PaaS Compute Services
Traditional PaaS Compute Services on Azure
Azure App Service
Web Workloads
Azure Batch
Scheduled Job Workloads
Service Fabric
Microservices Workloads
If not containers, how does Azure scale and isolate?
All Azure Web Apps (as well as Mobile App/Services, WebJobs and Functions) run in
a secure environment called a sandbox. Each app runs inside its own sandbox,
isolating its execution from other instances on the same machine as well as
providing an additional degree of security and privacy which would otherwise not
be available. The sandbox mechanism aims to ensure that each app running on a
machine will have a minimum guaranteed level of service; furthermore, the runtime
limits enforced by the sandbox protects apps from being adversely affected by
other resource-intensive apps which may be running on the same machine.
https://stackoverflow.com/questions/43186498/azure-app-services-isolation-and-security/43186718
Containerized Azure Services...
Web App (App Service)
• Service for hosting web
applications, REST APIs, and mobile
back ends
• App Service plan defines a set of
compute resources for a web apps
to run.
• These compute resources are
analogous to the server farm in
conventional web hosting.
Web App for Containers
• Web App for Containers will deploy your containerized application and
provision required infrastructure
• You just need to attach your container image in Docker Hub, Azure
Container Registry, or your private registry (DTR)
• GA for Linux environments on Sept 6, 2017
• https://azure.microsoft.com/en-us/blog/webapp-for-containers-overview/
• Windows Containers support is in private preview
• WebHooks are used for configuring CI / CD
Demo
Azure Web App For Containers
microsoft/azure-appservices-go-quickstart - /hello
Azure Batch
• Azure Batch creates and manages a
pool of compute nodes (virtual
machines), installs the applications you
want to run, and schedules jobs to run
on the nodes.
• No cluster or job scheduler software to
install, manage, or scale.
• Batch APIs and tools are available to
configure, manage, and monitor your
jobs.
Batch Shipyard
• Batch Shipyard is a tool to help provision and execute container-
based batch processing on Azure Batch compute pools
• You run your containers with easy-to-understand configuration files
shipyard.cmd pool / jobs Config
(folder)
credentials.yaml (azure batch and storage creds)
config.yaml (docker images)
jobs.yaml (job with task desc)
pool.yaml (Infra Nodes)
http://batch-shipyard.readthedocs.io/en/latest/05-batch-
shipyard-from-scratch-step-by-step/
Demo Batch Shipyard
Create Pool - batch-shipyard-3.5.0b1-cli-win-amd64.exe pool add --configdir config
Add Job to the Pool - batch-shipyard-3.5.0b1-cli-win-amd64.exe jobs add --configdir
config --tail stdout.txt
Service Fabric
• Distributed systems platform that
makes it easy to package, deploy, and
manage scalable and reliable
microservices
• It provides a sophisticated, lightweight
runtime to build distributed, scalable,
stateless, and stateful microservices
running in containers
• Also provides comprehensive
application management capabilities
to provision, deploy, monitor,
upgrade/patch, and delete deployed
applications
Service Fabric with Containers
No Changes to app; you can use an existing docker images to deploy them to service fabric cluster
Traditional SF Deployment
Container based SF Deployment
<ContainerHost>
<ImageName>nrcontainerregistry.azurecr.io/netcore</ImageName>
</ContainerHost>
Demo
Service Fabric with Containers
Summary
• Containers offer substantial value over traditional virtualization
including scale, density, responsiveness, consistency and operations
• Microsoft is adopting containers, specifically docker, as it’s new PaaS
runtime – across web apps, batch processing and microservices
• Vital for developers and IT pros to develop container mindset for
deploying their applications
Thank you!
Questions???

More Related Content

What's hot

ASP.NET Core and Docker
ASP.NET Core and DockerASP.NET Core and Docker
ASP.NET Core and Docker
Chuck Megivern
 
Docker Container Introduction
Docker Container IntroductionDocker Container Introduction
Docker Container Introduction
Innfinision Cloud and BigData Solutions
 
Dockers and containers basics
Dockers and containers basicsDockers and containers basics
Dockers and containers basics
Sourabh Saxena
 
Docker introduction (1)
Docker introduction (1)Docker introduction (1)
Docker introduction (1)
Gourav Varma
 
Docker In Brief
Docker In BriefDocker In Brief
Docker In Brief
Ritu Kamthan
 
Dockers & kubernetes detailed - Beginners to Geek
Dockers & kubernetes detailed - Beginners to GeekDockers & kubernetes detailed - Beginners to Geek
Dockers & kubernetes detailed - Beginners to Geek
wiTTyMinds1
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
Peng Xiao
 
Docker
DockerDocker
Docker Basics
Docker BasicsDocker Basics
Docker Basics
Eueung Mulyana
 
Virtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management servicesVirtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management services
abhishek chawla
 
HPC Cloud Burst Using Docker
HPC Cloud Burst Using DockerHPC Cloud Burst Using Docker
HPC Cloud Burst Using Docker
IRJET Journal
 
Introduction to container based virtualization with docker
Introduction to container based virtualization with dockerIntroduction to container based virtualization with docker
Introduction to container based virtualization with docker
Bangladesh Network Operators Group
 
Docker and the Container Ecosystem
Docker and the Container EcosystemDocker and the Container Ecosystem
Docker and the Container Ecosystem
psconnolly
 
Docker OpenStack Cloud Foundry
Docker OpenStack Cloud FoundryDocker OpenStack Cloud Foundry
Docker OpenStack Cloud Foundry
Animesh Singh
 
Docker container a-brief_introduction_2016-01-30
Docker container a-brief_introduction_2016-01-30Docker container a-brief_introduction_2016-01-30
Docker container a-brief_introduction_2016-01-30
Khelender Sasan
 
The ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of DockerThe ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of Docker
Aniekan Akpaffiong
 
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
Edureka!
 
Discussing the difference between docker dontainers and virtual machines
Discussing the difference between docker dontainers and virtual machinesDiscussing the difference between docker dontainers and virtual machines
Discussing the difference between docker dontainers and virtual machines
Steven Grzbielok
 
virtualization-vs-containerization-paas
virtualization-vs-containerization-paasvirtualization-vs-containerization-paas
virtualization-vs-containerization-paas
rajdeep
 
Containers #101 Meetup: Containers and OpenStack
Containers #101 Meetup: Containers and OpenStackContainers #101 Meetup: Containers and OpenStack
Containers #101 Meetup: Containers and OpenStack
Codefresh
 

What's hot (20)

ASP.NET Core and Docker
ASP.NET Core and DockerASP.NET Core and Docker
ASP.NET Core and Docker
 
Docker Container Introduction
Docker Container IntroductionDocker Container Introduction
Docker Container Introduction
 
Dockers and containers basics
Dockers and containers basicsDockers and containers basics
Dockers and containers basics
 
Docker introduction (1)
Docker introduction (1)Docker introduction (1)
Docker introduction (1)
 
Docker In Brief
Docker In BriefDocker In Brief
Docker In Brief
 
Dockers & kubernetes detailed - Beginners to Geek
Dockers & kubernetes detailed - Beginners to GeekDockers & kubernetes detailed - Beginners to Geek
Dockers & kubernetes detailed - Beginners to Geek
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Docker
DockerDocker
Docker
 
Docker Basics
Docker BasicsDocker Basics
Docker Basics
 
Virtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management servicesVirtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management services
 
HPC Cloud Burst Using Docker
HPC Cloud Burst Using DockerHPC Cloud Burst Using Docker
HPC Cloud Burst Using Docker
 
Introduction to container based virtualization with docker
Introduction to container based virtualization with dockerIntroduction to container based virtualization with docker
Introduction to container based virtualization with docker
 
Docker and the Container Ecosystem
Docker and the Container EcosystemDocker and the Container Ecosystem
Docker and the Container Ecosystem
 
Docker OpenStack Cloud Foundry
Docker OpenStack Cloud FoundryDocker OpenStack Cloud Foundry
Docker OpenStack Cloud Foundry
 
Docker container a-brief_introduction_2016-01-30
Docker container a-brief_introduction_2016-01-30Docker container a-brief_introduction_2016-01-30
Docker container a-brief_introduction_2016-01-30
 
The ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of DockerThe ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of Docker
 
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
 
Discussing the difference between docker dontainers and virtual machines
Discussing the difference between docker dontainers and virtual machinesDiscussing the difference between docker dontainers and virtual machines
Discussing the difference between docker dontainers and virtual machines
 
virtualization-vs-containerization-paas
virtualization-vs-containerization-paasvirtualization-vs-containerization-paas
virtualization-vs-containerization-paas
 
Containers #101 Meetup: Containers and OpenStack
Containers #101 Meetup: Containers and OpenStackContainers #101 Meetup: Containers and OpenStack
Containers #101 Meetup: Containers and OpenStack
 

Similar to Dockerization of Azure Platform

Weave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapWeave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 Recap
Patrick Chanezon
 
What is Docker?
What is Docker?What is Docker?
What is Docker?
Shubhrank Rastogi
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deployment
javaonfly
 
Docker slides
Docker slidesDocker slides
Docker slides
Jyotsna Raghuraman
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
Meiyappan Kannappa
 
Docker
DockerDocker
Docker Application to Scientific Computing
Docker Application to Scientific ComputingDocker Application to Scientific Computing
Docker Application to Scientific Computing
Peter Bryzgalov
 
Docker
DockerDocker
Deploying windows containers with kubernetes
Deploying windows containers with kubernetesDeploying windows containers with kubernetes
Deploying windows containers with kubernetes
Ben Hall
 
Docker for Developers
Docker for DevelopersDocker for Developers
Docker for Developers
JasonStraughan1
 
Container on azure
Container on azureContainer on azure
Container on azure
Vishwas N
 
Docker intro
Docker introDocker intro
Docker intro
Frei Zhang
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment
Arun prasath
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
Dongwon Kim
 
Axigen on docker
Axigen on dockerAxigen on docker
Docker and Microservice
Docker and MicroserviceDocker and Microservice
Docker and Microservice
Samuel Chow
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUG
Ajeet Singh Raina
 
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Patrick Chanezon
 
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud ServicesGIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
Patrick Chanezon
 
Los contenedores en el mundo Microsoft #ReConnect2016
Los contenedores en el mundo Microsoft #ReConnect2016Los contenedores en el mundo Microsoft #ReConnect2016
Los contenedores en el mundo Microsoft #ReConnect2016
Roberto Sanz Ciriano
 

Similar to Dockerization of Azure Platform (20)

Weave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapWeave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 Recap
 
What is Docker?
What is Docker?What is Docker?
What is Docker?
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deployment
 
Docker slides
Docker slidesDocker slides
Docker slides
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
 
Docker
DockerDocker
Docker
 
Docker Application to Scientific Computing
Docker Application to Scientific ComputingDocker Application to Scientific Computing
Docker Application to Scientific Computing
 
Docker
DockerDocker
Docker
 
Deploying windows containers with kubernetes
Deploying windows containers with kubernetesDeploying windows containers with kubernetes
Deploying windows containers with kubernetes
 
Docker for Developers
Docker for DevelopersDocker for Developers
Docker for Developers
 
Container on azure
Container on azureContainer on azure
Container on azure
 
Docker intro
Docker introDocker intro
Docker intro
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
 
Axigen on docker
Axigen on dockerAxigen on docker
Axigen on docker
 
Docker and Microservice
Docker and MicroserviceDocker and Microservice
Docker and Microservice
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUG
 
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
 
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud ServicesGIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
 
Los contenedores en el mundo Microsoft #ReConnect2016
Los contenedores en el mundo Microsoft #ReConnect2016Los contenedores en el mundo Microsoft #ReConnect2016
Los contenedores en el mundo Microsoft #ReConnect2016
 

Recently uploaded

BATber53 AWS Modernize your applications with purpose-built AWS databases
BATber53 AWS Modernize your applications with purpose-built AWS databasesBATber53 AWS Modernize your applications with purpose-built AWS databases
BATber53 AWS Modernize your applications with purpose-built AWS databases
BATbern
 
bangalore Girls call 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
bangalore Girls call  👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Deliverybangalore Girls call  👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
bangalore Girls call 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
sunilverma7884
 
A Step-by-Step Guide to Selecting the Right Automated Software Testing Tools.pdf
A Step-by-Step Guide to Selecting the Right Automated Software Testing Tools.pdfA Step-by-Step Guide to Selecting the Right Automated Software Testing Tools.pdf
A Step-by-Step Guide to Selecting the Right Automated Software Testing Tools.pdf
kalichargn70th171
 
TEQnation 2024: Sustainable Software: May the Green Code Be with You
TEQnation 2024: Sustainable Software: May the Green Code Be with YouTEQnation 2024: Sustainable Software: May the Green Code Be with You
TEQnation 2024: Sustainable Software: May the Green Code Be with You
marcofolio
 
Mumbai Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service A...
Mumbai Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service A...Mumbai Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service A...
Mumbai Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service A...
3610stuck
 
Il Data Streaming per un’AI real-time di nuova generazione
Il Data Streaming per un’AI real-time di nuova generazioneIl Data Streaming per un’AI real-time di nuova generazione
Il Data Streaming per un’AI real-time di nuova generazione
confluent
 
Independent Girls call Service Pune 000XX00000 Provide Best And Top Girl Serv...
Independent Girls call Service Pune 000XX00000 Provide Best And Top Girl Serv...Independent Girls call Service Pune 000XX00000 Provide Best And Top Girl Serv...
Independent Girls call Service Pune 000XX00000 Provide Best And Top Girl Serv...
bhumivarma35300
 
Vip Girls Call ServiCe Hyderabad 0000000000 Pooja Best High Class Hyderabad A...
Vip Girls Call ServiCe Hyderabad 0000000000 Pooja Best High Class Hyderabad A...Vip Girls Call ServiCe Hyderabad 0000000000 Pooja Best High Class Hyderabad A...
Vip Girls Call ServiCe Hyderabad 0000000000 Pooja Best High Class Hyderabad A...
ashiklo9823
 
Independent Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class H...
Independent Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class H...Independent Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class H...
Independent Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class H...
aslasdfmkhan4750
 
Private Girls Call Navi Mumbai 🛵🚡9820252231 💃 Choose Best And Top Girl Servic...
Private Girls Call Navi Mumbai 🛵🚡9820252231 💃 Choose Best And Top Girl Servic...Private Girls Call Navi Mumbai 🛵🚡9820252231 💃 Choose Best And Top Girl Servic...
Private Girls Call Navi Mumbai 🛵🚡9820252231 💃 Choose Best And Top Girl Servic...
902basic
 
High Girls Call Chennai 000XX00000 Provide Best And Top Girl Service And No1 ...
High Girls Call Chennai 000XX00000 Provide Best And Top Girl Service And No1 ...High Girls Call Chennai 000XX00000 Provide Best And Top Girl Service And No1 ...
High Girls Call Chennai 000XX00000 Provide Best And Top Girl Service And No1 ...
singhlata50dh
 
Odoo E-commerce website development guides
Odoo E-commerce website development guidesOdoo E-commerce website development guides
Odoo E-commerce website development guides
jhkdigitalmarketing
 
Busty Girls Call Mumbai 9930245274 Unlimited Short Providing Girls Service Av...
Busty Girls Call Mumbai 9930245274 Unlimited Short Providing Girls Service Av...Busty Girls Call Mumbai 9930245274 Unlimited Short Providing Girls Service Av...
Busty Girls Call Mumbai 9930245274 Unlimited Short Providing Girls Service Av...
revolutionary575
 
Girls Call Jogeshwari 9967584737 Provide Best And Top Girl Service And No1 in...
Girls Call Jogeshwari 9967584737 Provide Best And Top Girl Service And No1 in...Girls Call Jogeshwari 9967584737 Provide Best And Top Girl Service And No1 in...
Girls Call Jogeshwari 9967584737 Provide Best And Top Girl Service And No1 in...
simran hot girls
 
welcome to presentation on Google Apps
welcome to   presentation on Google Appswelcome to   presentation on Google Apps
welcome to presentation on Google Apps
AsifKarimJim
 
當測試開始左移
當測試開始左移當測試開始左移
當測試開始左移
Jersey (CHE-PING) Su
 
Fantastic Design Patterns and Where to use them No Notes.pdf
Fantastic Design Patterns and Where to use them No Notes.pdfFantastic Design Patterns and Where to use them No Notes.pdf
Fantastic Design Patterns and Where to use them No Notes.pdf
6m9p7qnjj8
 
Celebrity Girls Call Mumbai 9930687706 Unlimited Short Providing Girls Servic...
Celebrity Girls Call Mumbai 9930687706 Unlimited Short Providing Girls Servic...Celebrity Girls Call Mumbai 9930687706 Unlimited Short Providing Girls Servic...
Celebrity Girls Call Mumbai 9930687706 Unlimited Short Providing Girls Servic...
kiara pandey
 
Russian Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service ...
Russian Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service ...Russian Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service ...
Russian Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service ...
shanihomely
 
Celebrity Girls Call Mumbai 🛵🚡9910780858 💃 Choose Best And Top Girl Service A...
Celebrity Girls Call Mumbai 🛵🚡9910780858 💃 Choose Best And Top Girl Service A...Celebrity Girls Call Mumbai 🛵🚡9910780858 💃 Choose Best And Top Girl Service A...
Celebrity Girls Call Mumbai 🛵🚡9910780858 💃 Choose Best And Top Girl Service A...
norina2645
 

Recently uploaded (20)

BATber53 AWS Modernize your applications with purpose-built AWS databases
BATber53 AWS Modernize your applications with purpose-built AWS databasesBATber53 AWS Modernize your applications with purpose-built AWS databases
BATber53 AWS Modernize your applications with purpose-built AWS databases
 
bangalore Girls call 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
bangalore Girls call  👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Deliverybangalore Girls call  👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
bangalore Girls call 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
 
A Step-by-Step Guide to Selecting the Right Automated Software Testing Tools.pdf
A Step-by-Step Guide to Selecting the Right Automated Software Testing Tools.pdfA Step-by-Step Guide to Selecting the Right Automated Software Testing Tools.pdf
A Step-by-Step Guide to Selecting the Right Automated Software Testing Tools.pdf
 
TEQnation 2024: Sustainable Software: May the Green Code Be with You
TEQnation 2024: Sustainable Software: May the Green Code Be with YouTEQnation 2024: Sustainable Software: May the Green Code Be with You
TEQnation 2024: Sustainable Software: May the Green Code Be with You
 
Mumbai Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service A...
Mumbai Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service A...Mumbai Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service A...
Mumbai Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service A...
 
Il Data Streaming per un’AI real-time di nuova generazione
Il Data Streaming per un’AI real-time di nuova generazioneIl Data Streaming per un’AI real-time di nuova generazione
Il Data Streaming per un’AI real-time di nuova generazione
 
Independent Girls call Service Pune 000XX00000 Provide Best And Top Girl Serv...
Independent Girls call Service Pune 000XX00000 Provide Best And Top Girl Serv...Independent Girls call Service Pune 000XX00000 Provide Best And Top Girl Serv...
Independent Girls call Service Pune 000XX00000 Provide Best And Top Girl Serv...
 
Vip Girls Call ServiCe Hyderabad 0000000000 Pooja Best High Class Hyderabad A...
Vip Girls Call ServiCe Hyderabad 0000000000 Pooja Best High Class Hyderabad A...Vip Girls Call ServiCe Hyderabad 0000000000 Pooja Best High Class Hyderabad A...
Vip Girls Call ServiCe Hyderabad 0000000000 Pooja Best High Class Hyderabad A...
 
Independent Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class H...
Independent Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class H...Independent Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class H...
Independent Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class H...
 
Private Girls Call Navi Mumbai 🛵🚡9820252231 💃 Choose Best And Top Girl Servic...
Private Girls Call Navi Mumbai 🛵🚡9820252231 💃 Choose Best And Top Girl Servic...Private Girls Call Navi Mumbai 🛵🚡9820252231 💃 Choose Best And Top Girl Servic...
Private Girls Call Navi Mumbai 🛵🚡9820252231 💃 Choose Best And Top Girl Servic...
 
High Girls Call Chennai 000XX00000 Provide Best And Top Girl Service And No1 ...
High Girls Call Chennai 000XX00000 Provide Best And Top Girl Service And No1 ...High Girls Call Chennai 000XX00000 Provide Best And Top Girl Service And No1 ...
High Girls Call Chennai 000XX00000 Provide Best And Top Girl Service And No1 ...
 
Odoo E-commerce website development guides
Odoo E-commerce website development guidesOdoo E-commerce website development guides
Odoo E-commerce website development guides
 
Busty Girls Call Mumbai 9930245274 Unlimited Short Providing Girls Service Av...
Busty Girls Call Mumbai 9930245274 Unlimited Short Providing Girls Service Av...Busty Girls Call Mumbai 9930245274 Unlimited Short Providing Girls Service Av...
Busty Girls Call Mumbai 9930245274 Unlimited Short Providing Girls Service Av...
 
Girls Call Jogeshwari 9967584737 Provide Best And Top Girl Service And No1 in...
Girls Call Jogeshwari 9967584737 Provide Best And Top Girl Service And No1 in...Girls Call Jogeshwari 9967584737 Provide Best And Top Girl Service And No1 in...
Girls Call Jogeshwari 9967584737 Provide Best And Top Girl Service And No1 in...
 
welcome to presentation on Google Apps
welcome to   presentation on Google Appswelcome to   presentation on Google Apps
welcome to presentation on Google Apps
 
當測試開始左移
當測試開始左移當測試開始左移
當測試開始左移
 
Fantastic Design Patterns and Where to use them No Notes.pdf
Fantastic Design Patterns and Where to use them No Notes.pdfFantastic Design Patterns and Where to use them No Notes.pdf
Fantastic Design Patterns and Where to use them No Notes.pdf
 
Celebrity Girls Call Mumbai 9930687706 Unlimited Short Providing Girls Servic...
Celebrity Girls Call Mumbai 9930687706 Unlimited Short Providing Girls Servic...Celebrity Girls Call Mumbai 9930687706 Unlimited Short Providing Girls Servic...
Celebrity Girls Call Mumbai 9930687706 Unlimited Short Providing Girls Servic...
 
Russian Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service ...
Russian Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service ...Russian Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service ...
Russian Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service ...
 
Celebrity Girls Call Mumbai 🛵🚡9910780858 💃 Choose Best And Top Girl Service A...
Celebrity Girls Call Mumbai 🛵🚡9910780858 💃 Choose Best And Top Girl Service A...Celebrity Girls Call Mumbai 🛵🚡9910780858 💃 Choose Best And Top Girl Service A...
Celebrity Girls Call Mumbai 🛵🚡9910780858 💃 Choose Best And Top Girl Service A...
 

Dockerization of Azure Platform

  • 1. Dockerization of Azure Platform Niraj Bhatt Cloud Expert & Founder CLT Azure Group @nirajrules http://nirajrules.wordpress.com
  • 2. What is Docker? “Docker is an open platform (also the company) which provides ability to package and run an application in a loosely isolated environment called a container.”
  • 3. What are Containers? A container image is a lightweight, stand- alone, executable package of a piece of software that includes everything needed to run it: code, runtime, system tools, system libraries, settings. Multiple containers can run on the same machine and share the OS kernel with other containers, each running as isolated processes in user space. Containers take up less space than VMs (copy-on-write COW strategy), and start almost instantly.
  • 4. Containers - Driving Factors… Scale Responsiveness Operational Overheads Consistency Higher Density (better ROI)
  • 5. Building Blocks of Containers Building Block Linux Windows OS Virtualization (including process, mount, network, user, ipc, etc.) Namespaces Namespaces Hardware Thresholds Control Groups Job Objects Union File System OverlayFS, AUFS, ZFS Virtual Disk with Symbolic links To directly use virtualization facilities provided by the Linux kernel Docker has created a custom libcontainer library
  • 6. Docker Architecture Docker uses a client-server architecture Docker client talks to the Docker daemon, which does the heavy lifting of building, running, and distributing your Docker containers https://hub.docker.com/_/registry/
  • 7. Docker on Windows Docker CLI Docker Daemon (Windows Containers) MobyLinuxVM Daemon (Linux Containers) S W I T C H https://docs.docker.com/docker-for-windows/install/ docker image pull alpine docker container run -it alpine docker image pull microsoft/aspnetcore:2.0-nanoserver-1709 docker container run -it microsoft/aspnetcore:2.0-nanoserver-1709 cmd
  • 8. LCOW – Linux Containers on Windows • LCOW > 17.11 release with experimental features turned on • Docker daemon runs as a Windows process (same as when running Docker Windows containers), and every time you start a Linux container Docker launches a minimal Hyper-V hypervisor running a VM with a Linux kernel • Both Linux and Windows containers can now run side by side docker container run -it --platform=linux alpine
  • 9. Docker Image Layers • Layer is a set of files and objects • Multiple layers are connected via a manifest to form a image • docker image inspect microsoft/aspnetcore • Images layers are stored in C:ProgramDataDockerwindowsfilter • In Linux, the path is /var/lib/docker/’storage driver’ • ‘Storage Driver’ details can be retrieved using command ‘docker system info’ • Layers are completely unaware of each other; it’s the UFS storage driver that provides consolidated image view
  • 10. Let’s Build an App, But first… • .NET Core CLI commands • dotnet build - command builds the project and its dependencies into a set of binaries.If the project has third-party dependencies, such as libraries from NuGet, they're resolved from the NuGet cache but aren't available with the project's built output. • dotnet publish - Packs the application and its dependencies into a folder for deployment to a hosting system. • dotnet run - Command provides a convenient option to run your application from the source code with one command. If you're trying to run a framework-dependent application DLL instead, you must use dotnet without a command.
  • 11. DockerFile • Set of instructions to create an image • Format <INSTRUCTION> <value> • Instructions are typed in CAPITALS while values in lower case • Instructions are either adding content or meta data; content instructions generate new layers • E.g. FROM microsoft/aspnetcore-build:2.0-nanoserver-1709 WORKDIR /src COPY *.sln ./ COPY NETCoreWithDocker/NETCoreWithDocker.csproj NETCoreWithDocker/ RUN dotnet restore COPY . . WORKDIR /src/NETCoreWithDocker RUN dotnet build -c Release -o /app docker image build –t netcorewithdocker:v1 .
  • 12. Multi-Stage Builds - Keeping prod images lean FROM microsoft/aspnetcore:2.0-nanoserver-1709 AS base WORKDIR /app EXPOSE 80 FROM microsoft/aspnetcore-build:2.0-nanoserver-1709 AS build WORKDIR /src COPY *.sln ./ COPY NETCoreWithDocker/NETCoreWithDocker.csproj NETCoreWithDocker/ RUN dotnet restore COPY . . WORKDIR /src/NETCoreWithDocker RUN dotnet build -c Release -o /app FROM build AS publish RUN dotnet publish -c Release -o /app FROM base AS final WORKDIR /app COPY --from=publish /app . ENTRYPOINT ["dotnet", "NETCoreWithDocker.dll"]> Set Base Image and expose port 80 With Build image compile .NET Core App Create Publish bundling dependencies and compiled binaries Copy the published output to base image and set ENTRYPOINT
  • 13. Docker Compose version: '3' services: netcorewithdocker: image: netcorewithdocker build: context: . dockerfile: NETCoreWithDockerDockerfile Tool for defining and running multi-container Docker applications Docker-compose version Name of Service (Container) Build from current folder (context) if image is not found docker-compose up –d docker-compose ps docker-compose down docker container inspect --format "{{.NetworkSettings.Networks.nat.IPAddress}}" containerId_or_containername Get Container IP Address
  • 14. Demo Docker on Windows with Visual Studio
  • 15. CI / CD with Docker https://success.docker.com/article/dev-pipeline Docker Trusted Registry (DTR) lets you run and manage your own Docker image storage service, securely on your own infrastructure behind your company firewall. For testing you can use – Docker Hub (https://hub.docker.com/) or Azure Container Registry docker login -u dockerId docker image tag netcorewithdocker dockerId/your_repo docker image push dockerId/your_repo
  • 16. Azure PaaS Compute Services
  • 17. Traditional PaaS Compute Services on Azure Azure App Service Web Workloads Azure Batch Scheduled Job Workloads Service Fabric Microservices Workloads
  • 18. If not containers, how does Azure scale and isolate? All Azure Web Apps (as well as Mobile App/Services, WebJobs and Functions) run in a secure environment called a sandbox. Each app runs inside its own sandbox, isolating its execution from other instances on the same machine as well as providing an additional degree of security and privacy which would otherwise not be available. The sandbox mechanism aims to ensure that each app running on a machine will have a minimum guaranteed level of service; furthermore, the runtime limits enforced by the sandbox protects apps from being adversely affected by other resource-intensive apps which may be running on the same machine. https://stackoverflow.com/questions/43186498/azure-app-services-isolation-and-security/43186718
  • 20. Web App (App Service) • Service for hosting web applications, REST APIs, and mobile back ends • App Service plan defines a set of compute resources for a web apps to run. • These compute resources are analogous to the server farm in conventional web hosting.
  • 21. Web App for Containers • Web App for Containers will deploy your containerized application and provision required infrastructure • You just need to attach your container image in Docker Hub, Azure Container Registry, or your private registry (DTR) • GA for Linux environments on Sept 6, 2017 • https://azure.microsoft.com/en-us/blog/webapp-for-containers-overview/ • Windows Containers support is in private preview • WebHooks are used for configuring CI / CD
  • 22. Demo Azure Web App For Containers microsoft/azure-appservices-go-quickstart - /hello
  • 23. Azure Batch • Azure Batch creates and manages a pool of compute nodes (virtual machines), installs the applications you want to run, and schedules jobs to run on the nodes. • No cluster or job scheduler software to install, manage, or scale. • Batch APIs and tools are available to configure, manage, and monitor your jobs.
  • 24. Batch Shipyard • Batch Shipyard is a tool to help provision and execute container- based batch processing on Azure Batch compute pools • You run your containers with easy-to-understand configuration files shipyard.cmd pool / jobs Config (folder) credentials.yaml (azure batch and storage creds) config.yaml (docker images) jobs.yaml (job with task desc) pool.yaml (Infra Nodes) http://batch-shipyard.readthedocs.io/en/latest/05-batch- shipyard-from-scratch-step-by-step/
  • 25. Demo Batch Shipyard Create Pool - batch-shipyard-3.5.0b1-cli-win-amd64.exe pool add --configdir config Add Job to the Pool - batch-shipyard-3.5.0b1-cli-win-amd64.exe jobs add --configdir config --tail stdout.txt
  • 26. Service Fabric • Distributed systems platform that makes it easy to package, deploy, and manage scalable and reliable microservices • It provides a sophisticated, lightweight runtime to build distributed, scalable, stateless, and stateful microservices running in containers • Also provides comprehensive application management capabilities to provision, deploy, monitor, upgrade/patch, and delete deployed applications
  • 27. Service Fabric with Containers No Changes to app; you can use an existing docker images to deploy them to service fabric cluster Traditional SF Deployment Container based SF Deployment <ContainerHost> <ImageName>nrcontainerregistry.azurecr.io/netcore</ImageName> </ContainerHost>
  • 29. Summary • Containers offer substantial value over traditional virtualization including scale, density, responsiveness, consistency and operations • Microsoft is adopting containers, specifically docker, as it’s new PaaS runtime – across web apps, batch processing and microservices • Vital for developers and IT pros to develop container mindset for deploying their applications

Editor's Notes

  1. C:\Users\niraj\.docker – config.sh for client and related configurations C:\Users\Public\Documents\Hyper-V\Virtual hard disks – MobyLinuxVHDs C:\ProgramData\Docker\windowsfilter – Local Image Store
  2. MobyLinuxVM is based on LinuxKit - a toolkit for building custom minimal, immutable Linux distributions. Docker assigns default container names for every run - https://frightanic.com/computers/docker-default-container-names/
  3. Layers are identified by a digest, which takes the form algorithm:hex Directory for storing the layer is named after a randomly generated 'cache ID’
  4. Delete all containers in docker - FOR /f "tokens=*" %i IN ('docker ps -a -q') DO docker rm %i Delete all dangling images in docker - FOR /f "tokens=*" %i IN ('docker images -q -f "dangling=true"') DO docker rmi %i
  5. Docker Universal Control Plane (UCP) is the enterprise-grade cluster management solution from Docker. You install it on-premises or in your virtual private cloud, and it helps you manage your Docker cluster and applications through a single interface. - https://docs.docker.com/ee/ucp/