Containers a la carte.
The secret to shipping cloud workloads
Omnia Ismail
Azure Technical Specialist
Microsoft
Twitter: @OmniaoIsmail
/omniaismail
What we hear from developers
I need to create applications
at a competitive rate without
worrying about IT
New applications run smoothly
on my machine but malfunction
on traditional IT servers
My productivity and application
innovation become suspended
when I have to wait on IT
What we hear from IT
I need to manage servers
and maintain compliance
with little disruption
I’m unsure of how to integrate
unfamiliar applications, and I
require help from developers
I’m unable to focus on both
server protection and
application compliance
What is the Answer ?
DevOps
… but this requires cultural change
What is the Answer ?
Containers
… remove developer / IT friction
… reduce downtime
… grease the wheels for DevOps
7
Agenda
Industry analysts agree
“By 2020, more than 50% of enterprises will run
mission-critical, containerized cloud-native applications
in production, up from less than 5% today.”
History of Containers
VM vs Container
Containers
VM
App B
Bins/Libs
Guest OS
App A
Bins/Libs
App C
Bins/Libs
Guest OS
Infrastructure
Hypervisor
Virtual Machines
Container
App B
Bins/Libs
App A
Bins/Libs
App C
Bins/Libs
Container
Engine
Host OS
Infrastructure
Guest OS
The container advantage
Hardware
Host OS
Hypervisor 2
VM VM
Application ApplicationCon. Con.
Traditional virtualized environment
Con. Con.
Low utilization of container resources
Containerization of applications and
their dependencies
Container development workflow
Code your app Write Dockerfile Create Images
from Dockerfile
Virtual Machine
Test App or service
Base Image
Library
Base
Images
Your Image
Library
Your
Images
Run container
Your
Container
Push or continue
developing
Simple Dockerfile
FROM microsoft/aspnetcore-build:1.1
WORKDIR /app
# Copy the published web app
COPY /aspnet-core-dotnet-core/ /app
# Run command
ENTRYPOINT ["dotnet", "aspnet-core-dotnet-core.dll"]
Containers On Azure
If you have a preferred container platform
Pivotal Cloud Foundry  Kubernetes  Docker Enterprise Edition
Red Hat OpenShift  Mesosphere DC/OS
You could bring that platform to Azure
Flexibility Productivity Trust
If you are without a preferred container platform…
Let’s profile your needs and help you select the right
option
Flexibility Productivity Trust
Containers in Azure
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
Ecosystem
Bring your
Partner solutions
that run great on
Azure
Elastically burst
from your Azure
Kubernetes Service
(AKS) cluster
Use familiar, open-
source Docker CLI tools
Azure Container Registry
geo-replication
Manage images for all
types of containers
Azure Container Registry (ACR)
Manage a Docker private registry as a first-class Azure resource
Azure Kubernetes
Service (AKS)
Azure Container
Instances (ACI)
Azure Container
Registry (ACR)
Service Fabric
App Service
Azure Batch
Fully managed platform
Automatic scaling
and load balancing
High availability
w/ auto-patching
Backup &
recovery
Accelerated outer loop
Intelligent diagnostics &
troubleshooting, remote debugging
Built-in CI/CD w/
Deployment Slots
Tight integration w/ Docker
Hub, Azure Container Registry
Flexibility & choices
Single Docker image, multi
container w/ Docker Compose
IntelliJ, , Jenkin, Maven
Visual Studio family
From CLI, portal, or
ARM template
App Service
Easily deploy and run container-based web apps at scale
Azure Kubernetes
Service (AKS)
Azure Container
Instances (ACI)
Azure Container
Registry (ACR)
Service Fabric
App Service
Azure Batch
Increase agility
with containers on
demand
Secure applications
with hypervisor
isolation
Run containers
without managing
servers
Azure Container Instances (ACI)
Easily run containers on Azure without managing servers
Azure Kubernetes
Service (AKS)
Azure Container
Instances (ACI)
Azure Container
Registry (ACR)
Service Fabric
App Service
Azure Batch
Get started easily
$ az container create --name mycontainer --image microsoft/aci-helloworld --
resource-group myResourceGroup --ip-address public
$ curl 52.168.86.133
Azure Container Instances (ACI) Demo
Azure Container
Service (AKS)
Azure Container
Instances (ACI)
Azure Container
Registry
Open Service
Broker API (OSBA)
Release
Automation Tools
WWW
DATA
Infrastructure
Container
App B
Bins/Libs
App A
Bins/Libs
App C
Bins/Libs
Container
Engine
Host OS
Infrastructure
Container
App B
Bins/Libs
App A
Bins/Libs
App C
Bins/Libs
Container
Engine
Host OS
Infrastructure
Container
App B
Bins/Libs
App A
Bins/Libs
App C
Bins/Libs
Container
Engine
Host OS
Infrastructure
I am going to want more VMs with containers!!
Container Orchestrator Leader
Azure Kubernetes Service (AKS)
A fully managed Kubernetes cluster
Managed
Azure infrastructure services
Docker
Kubernetes
• Managed control pane
• Automated upgrades, patches
• Easy cluster scaling
• Self-healing
• Cost savingsApplication
architect
Infrastructure
architect
Applications
Operations
Azure Container
Service (AKS)
Azure Container
Instances (ACI)
Azure Container
Registry
Open Service
Broker API (OSBA)
Release
Automation Tools
Bursting with the ACI Connector
Kubernetes
control pane
Application
architect
Infrastructure
architect
Azure Container Instances (ACI)
ACI
Connector
Pod
Pod Pod
Pod
Pod Pod
Pod
Pod Pod
Pod
Pod Pod
VM VM
VM VM
Deployment/
tasks
Pod Pod Pod Pod Pod
Pod Pod Pod Pod Pod
Pod Pod Pod Pod Pod
Pod Pod Pod Pod Pod
Pod Pod Pod Pod Pod
Azure Container Instances (ACI)Azure Container
Service (AKS)
Azure Container
Instances (ACI)
Azure Container
Registry
Open Service
Broker API (OSBA)
Release
Automation Tools
WasteWaste
WasteWaste PodPod
PodPod
Use case Azure Service
Scale and orchestrate containers using Kubernetes, DC/OS or Docker
Swarm
AKS
Easily run containers on Azure with a single command ACI
Store and manage container images across all types of Azure
deployments
ACR
Develop microservices and orchestrate containers on Windows or Linux Service Fabric
Deploy web applications on Linux using containers App Service
Run repetitive compute jobs using containers Batch
• Azure Container Service (AKS)
• Azure Container Instances (ACI)
• Azure Container Registry
• OSBA announcement blog
• Draft webpage
• Helm webpage
• Brigade webpage
• Kashti announcement blog
Check out resources
Sign up for a free Azure account
Hone your skills with Azure training
Check out the Azure container videos page
Get the code from GitHub
Please Provide your feedback.

Containers On Azure.

  • 1.
    Containers a lacarte. The secret to shipping cloud workloads Omnia Ismail Azure Technical Specialist Microsoft Twitter: @OmniaoIsmail
  • 2.
  • 3.
    What we hearfrom developers I need to create applications at a competitive rate without worrying about IT New applications run smoothly on my machine but malfunction on traditional IT servers My productivity and application innovation become suspended when I have to wait on IT
  • 4.
    What we hearfrom IT I need to manage servers and maintain compliance with little disruption I’m unsure of how to integrate unfamiliar applications, and I require help from developers I’m unable to focus on both server protection and application compliance
  • 5.
    What is theAnswer ? DevOps … but this requires cultural change
  • 6.
    What is theAnswer ? Containers … remove developer / IT friction … reduce downtime … grease the wheels for DevOps
  • 7.
  • 8.
    Industry analysts agree “By2020, more than 50% of enterprises will run mission-critical, containerized cloud-native applications in production, up from less than 5% today.”
  • 9.
  • 10.
    VM vs Container Containers VM AppB Bins/Libs Guest OS App A Bins/Libs App C Bins/Libs Guest OS Infrastructure Hypervisor Virtual Machines Container App B Bins/Libs App A Bins/Libs App C Bins/Libs Container Engine Host OS Infrastructure Guest OS
  • 11.
    The container advantage Hardware HostOS Hypervisor 2 VM VM Application ApplicationCon. Con. Traditional virtualized environment Con. Con. Low utilization of container resources Containerization of applications and their dependencies
  • 12.
    Container development workflow Codeyour app Write Dockerfile Create Images from Dockerfile Virtual Machine Test App or service Base Image Library Base Images Your Image Library Your Images Run container Your Container Push or continue developing Simple Dockerfile FROM microsoft/aspnetcore-build:1.1 WORKDIR /app # Copy the published web app COPY /aspnet-core-dotnet-core/ /app # Run command ENTRYPOINT ["dotnet", "aspnet-core-dotnet-core.dll"]
  • 13.
  • 14.
    If you havea preferred container platform Pivotal Cloud Foundry  Kubernetes  Docker Enterprise Edition Red Hat OpenShift  Mesosphere DC/OS You could bring that platform to Azure Flexibility Productivity Trust
  • 15.
    If you arewithout a preferred container platform… Let’s profile your needs and help you select the right option Flexibility Productivity Trust
  • 16.
    Containers in Azure Choiceof 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 Ecosystem Bring your Partner solutions that run great on Azure Elastically burst from your Azure Kubernetes Service (AKS) cluster
  • 17.
    Use familiar, open- sourceDocker CLI tools Azure Container Registry geo-replication Manage images for all types of containers Azure Container Registry (ACR) Manage a Docker private registry as a first-class Azure resource Azure Kubernetes Service (AKS) Azure Container Instances (ACI) Azure Container Registry (ACR) Service Fabric App Service Azure Batch
  • 19.
    Fully managed platform Automaticscaling and load balancing High availability w/ auto-patching Backup & recovery Accelerated outer loop Intelligent diagnostics & troubleshooting, remote debugging Built-in CI/CD w/ Deployment Slots Tight integration w/ Docker Hub, Azure Container Registry Flexibility & choices Single Docker image, multi container w/ Docker Compose IntelliJ, , Jenkin, Maven Visual Studio family From CLI, portal, or ARM template App Service Easily deploy and run container-based web apps at scale Azure Kubernetes Service (AKS) Azure Container Instances (ACI) Azure Container Registry (ACR) Service Fabric App Service Azure Batch
  • 20.
    Increase agility with containerson demand Secure applications with hypervisor isolation Run containers without managing servers Azure Container Instances (ACI) Easily run containers on Azure without managing servers Azure Kubernetes Service (AKS) Azure Container Instances (ACI) Azure Container Registry (ACR) Service Fabric App Service Azure Batch
  • 21.
    Get started easily $az container create --name mycontainer --image microsoft/aci-helloworld -- resource-group myResourceGroup --ip-address public $ curl 52.168.86.133 Azure Container Instances (ACI) Demo Azure Container Service (AKS) Azure Container Instances (ACI) Azure Container Registry Open Service Broker API (OSBA) Release Automation Tools
  • 24.
  • 26.
    Container App B Bins/Libs App A Bins/Libs AppC Bins/Libs Container Engine Host OS Infrastructure Container App B Bins/Libs App A Bins/Libs App C Bins/Libs Container Engine Host OS Infrastructure Container App B Bins/Libs App A Bins/Libs App C Bins/Libs Container Engine Host OS Infrastructure I am going to want more VMs with containers!!
  • 28.
  • 31.
    Azure Kubernetes Service(AKS) A fully managed Kubernetes cluster Managed Azure infrastructure services Docker Kubernetes • Managed control pane • Automated upgrades, patches • Easy cluster scaling • Self-healing • Cost savingsApplication architect Infrastructure architect Applications Operations Azure Container Service (AKS) Azure Container Instances (ACI) Azure Container Registry Open Service Broker API (OSBA) Release Automation Tools
  • 32.
    Bursting with theACI Connector Kubernetes control pane Application architect Infrastructure architect Azure Container Instances (ACI) ACI Connector Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod VM VM VM VM Deployment/ tasks Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Azure Container Instances (ACI)Azure Container Service (AKS) Azure Container Instances (ACI) Azure Container Registry Open Service Broker API (OSBA) Release Automation Tools WasteWaste WasteWaste PodPod PodPod
  • 34.
    Use case AzureService Scale and orchestrate containers using Kubernetes, DC/OS or Docker Swarm AKS Easily run containers on Azure with a single command ACI Store and manage container images across all types of Azure deployments ACR Develop microservices and orchestrate containers on Windows or Linux Service Fabric Deploy web applications on Linux using containers App Service Run repetitive compute jobs using containers Batch
  • 36.
    • Azure ContainerService (AKS) • Azure Container Instances (ACI) • Azure Container Registry • OSBA announcement blog • Draft webpage • Helm webpage • Brigade webpage • Kashti announcement blog Check out resources Sign up for a free Azure account Hone your skills with Azure training Check out the Azure container videos page Get the code from GitHub
  • 37.

Editor's Notes

  • #37 https://docs.microsoft.com/en-us/azure/aks/tutorial-kubernetes-prepare-app https://docs.microsoft.com/en-us/azure/container-instances/container-instances-quickstart-portal