SlideShare a Scribd company logo
1S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
From Zero to DevOps
Superhero
The Container Edition
Jessica Deen| Senior Cloud
Advocate
2S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
Before we
begin…
Disclaimer
@jldeen- [ ] -# D E E N O F D E V O P S
What to
expect in
the next 45
minutes…
3S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
I n t e n t- [ ] -
This session was
specifically
designed to…
Get you
thinking
Get you
excited
Show you
what’s
possible
Offer
resources to
learn more
4S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
“UBER, the world’s largest taxi company, owns no vehicles.
Facebook, the world’s most popular media owner, creates no
content. Alibaba, the most valuable retailer, has no inventory.
Airbnb, the world’s largest accommodation provider, owns no real
estate. Welcome to the Digital Economy!
-[ Monty C. M. Metzger ]-
Technology is changing.
D I S R U P T I O N- [ ] -
5S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
- Donovan Brown
What is DevOps?
D e f i n i t i o n- [ ] -
6S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
Why Containers?
C o m i n g t o g e t h e r- [ ] -
Developers
Enable ‘write-once, run-
anywhere’ apps
Enables microservice
architectures
Operations
Portability
Standardization
Abstraction
Higher compute density
Scale
DevOps
7S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
What is a
container
?
N o t a r e a l t h i n g- [ ] -
8S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
N o t a r e a l t h i n g- [ ] -
9S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
What
container
s are not.
N o t a r e a l t h i n g- [ ] -
10S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
N o t a r e a l t h i n g- [ ] -
11S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
N o t a r e a l t h i n g- [ ] -
12S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
N o t a r e a l t h i n g- [ ] -
13S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
Virtualization vs.
Containerization
C o m i n g t o g e t h e r- [ ] -
Infrastructure
Host OS
Docker
Bins/L
ibs
Bins/L
ibs
Bins/L
ibs
App A App B App C
Contain
er
Infrastructure
Hypervisor
Bins/L
ibs
App A
Guest
OS
Bins/L
ibs
App B
Guest
OS
Bins/L
ibs
App C
Guest
OS
VM
Infrastructure
Host OS
Hypervisor
Bins/L
ibs
App A
Guest
OS
Bins/L
ibs
App B
Guest
OS
Bins/L
ibs
App C
Guest
OS
VM
14S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
Refresher on
container layers
C o m i n g t o g e t h e r- [ ] -
From: Alpine:3.8
f61792ba8979
a7183fb762a8
d31af33eb855
c220123c8472
d7b1189bf667
91e49dfb1179
Container Layer Read / Write
Image layers
Read only
15S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
N o t a r e a l t h i n g- [ ] -
16S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
The Container
Advantage
B e n e f i t s- [ ] -
Fast
iteration
Agile
delivery
Immutability Cost
savings
Elastic
bursting
Efficient
deployment
For ITFor
developers
17S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
• Containers on demand
• Per-second billing (!)
• Integrations with other Azure services
• No need to provision VM’s or clusters
• Hypervisor level isolation
• Public IP
• Persistent Storage
• Supports both Linux and Windows containers
17
Azure Container Instances
18S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
18
$ az container create
--resource-group myrg 
--name aci-helloworld 
--image microsoft/aci-helloworld 
--dns-name-label aci-demo 
--ports 80
Azure Container Instances
19S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
• Fully managed PaaS for containers
• Support for many workflows
• Advanced features for webapps
19
Azure App Services for Linux
20S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
20
$ az webapp create 
-g myrg 
-n nginx 
--plan my-appservice-plan 
--deployment-container-image-name 'nginx'
Azure App Services for Linux
21S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
What is
Kubernete
s?
C o n t a i n e r O r c h e s t r a t i o n- [ ] -
22S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
22
C o n t a i n e r O r c h e s t r a t i o n- [ ] -
23S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
23
C o n t a i n e r O r c h e s t r a t i o n- [ ] -
24S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
24
C o n t a i n e r O r c h e s t r a t i o n- [ ] -
25S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
Kubernetes
C o n t a i n e r O r c h e s t r a t i o n- [ ] -
Master
VM
Master
VM
Master
VM
Agent
VM
Agent
VM
Agent
VM
Agent
VM
Agent
VM
Agent
VM
Agent
VM
Agent
VM
Agent
VM
Agent
VM
26S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
Kubernetes
C o n t a i n e r O r c h e s t r a t i o n- [ ] -
Hosted
Contro
l
Plane
Agent
VM
Agent
VM
Agent
VM
Agent
VM
Agent
VM
Agent
VM
Agent
VM
Agent
VM
Agent
VM
Agent
VM
27S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
AKS
Azure Kubernetes Service
28S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
Azure Kubernetes Service (AKS)
• Automated provisioning,
upgrades, patches
• High reliability, availability
• Easy, secure cluster scaling
• Self-healing
• API server monitoring
• At no charge
Infrastructure automation
API server
Controller
ManagerScheduler
etcd
Store
Cloud Controller
Self-managed master node(s)
Customer VMs
App/
workload
definitionUser
Docker
Pods
Docker
Pods
Docker
Pods
Docker
Pods
Docker
Pods
Schedule pods
over private
tunnel
Kubernetes
API
endpoint
Azure managed control plane
Helm charts
custom or
from
kubeapps/
29S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
AKS
C o n t a i n e r O r c h e s t r a t i o n- [ ] -
$ az aks create -g myResourceGroup -n myCluster --generate-ssh-keys
 Running ..
$ az aks install-cli
Downloading client to /usr/local/bin/kubectl ..
$ az aks get-credentials -g myResourceGroup -n myCluster
Merged "myCluster" as current context ..
$ kubectl get nodes
NAME STATUS AGE VERSION
aks-mycluster-36851231-0 Ready 4m v1.11.4
aks-mycluster-36851231-1 Ready 4m v1.11.4
aks-mycluster-36851231-2 Ready 4m v1.11.4
30S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
AKS
C o n t a i n e r O r c h e s t r a t i o n- [ ] -
$ az aks list –o table
Name Location ResourceGroup KubernetesRelease ProvisioningState
------------------ ---------- -------------- ------------------- -------------------
myCluster eastus myResourceGroup 1.11.4 Succeeded
$ az aks upgrade -g myResourceGroup -n myCluster –-kubernetes-version 1.11.5
 Running ..
$ kubectl get nodes
NAME STATUS AGE VERSION
aks-mycluster-36851231-0 Ready 12m v1.11.5
aks-mycluster-36851231-1 Ready 8m v1.11.5
aks-mycluster-36851231-2 Ready 3m v1.11.5
$ az aks scale -g myResourceGroup -n myCluster --agent-count 10
 Running ..
31S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
AKS Scaling
The secret to scaling is the virtual nodes!
Azure Monitor
AKS production
cluster
Microservices
Azure Container Instances
(ACI)
Pods
Virtual
node
Availability Reliability Auto scaling
https://docs.microsoft.com/en-us/azure/aks/scale-cluster
az aks scale --resource-group myRG 
--name myAKSCluster 
--node-count 1 
--nodepool-name <your node pool name>
32S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
• Private, highly available container registry
• Manage images for all types of containers
• Manage a single registry across multiple regions
• Use standard open source Docker cli tools
33S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
az acr login --name <acrName>
az acr create --resource-group myRG 
--name myContainerRegistry007 
--sku Basic
docker build . –t acrName.azurecr.io/image-name:image-tag
docker push acrName.azurecr.io/image-name:image-tag
https://docs.microsoft.com/en-us/azure/container-registry/container-registry-get-started-azure-cli
34S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
Build
Native Container Build Service in the cloud
Follows build semantics
docker build –t helloworld:v1 .
az acr build –t helloworld{{.Build.ID}} .
35S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
Build
az acr build-task create
–-image helloworld{{.Build.ID}} 
--name myBuildTask 
--registry jengademos 
--context https://github.com/me/helloworld 
--branch master 
--git-access-token $PAT
36S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
ACR also natively supports Helm Repositories:
acrName=<acr-name-here>
az configure --defaults acr=$acrName
az acr helm push -n $acrName *.tgz --force
az acr helm repo add --name $acrName
helm search <chart-name-here>
helm install $acrName/<chart-name-here>
37S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
• Azure Reference
Architecture - CI/CD
pipeline for container-
based workloads
https://docs.microsoft.com/en-us/azure/devops/pipelines/apps/cd/deploy-aks?view=azure-devops
Containers and DevOps
38S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
Demo
• Deploying artifacts to Azure Kubernetes Service (AKS)
• Build on Jenkins, release to ACR, Deploy via Azure DevOps
Dev commits code
Build/CI
Jenkinsfile/Pipelin
e Project
Azure Container
Registry Azure Kubernetes
Service
(AKS)
Azure DevOps release
pipeline
Azure Web App
39S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
F U N T I M E
DEMO
40S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
41S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
C o n t a i n e r O r c h e s t r a t i o n- [ ] -
K.I.SS
Keep It Super
Simple
42S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
C o n t a i n e r O r c h e s t r a t i o n- [ ] -
“The steps you take don't have to be big,
they just have to take you in the right
direction.” // Jemma Simmons
43S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
C o n t a i n e r O r c h e s t r a t i o n- [ ] -
What are my main
objectives?
44S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
C o n t a i n e r O r c h e s t r a t i o n- [ ] -
What are my indicators for
those objectives?
45S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
C o n t a i n e r O r c h e s t r a t i o n- [ ] -
Does this add value, or
does this add unnecessary
complexity?
46S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
I t ’ s j u s t a w a f f l e- [ ] -
47S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
H e l l o !- [ ] -
I am Jessica Deen
48S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
aka.ms/jldeen/devopsdaysmontevid
eo SEARCH
49S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
THANK YOU

More Related Content

Similar to DevOps Days Montevideo Container Superhero Keynote

DevOps with Kubernetes and Helm
DevOps with Kubernetes and HelmDevOps with Kubernetes and Helm
DevOps with Kubernetes and Helm
Jessica Deen
 
From Zero to DevOps Superhero
From Zero to DevOps SuperheroFrom Zero to DevOps Superhero
From Zero to DevOps Superhero
Jessica Deen
 
DevOps, Kuberenetes, Helm and Draft Azure Montevideo Meetup
DevOps, Kuberenetes, Helm and Draft Azure Montevideo MeetupDevOps, Kuberenetes, Helm and Draft Azure Montevideo Meetup
DevOps, Kuberenetes, Helm and Draft Azure Montevideo Meetup
Jessica Deen
 
Microsoft, Open Source, DevOps, Kubernetes
Microsoft, Open Source, DevOps, KubernetesMicrosoft, Open Source, DevOps, Kubernetes
Microsoft, Open Source, DevOps, Kubernetes
Jessica Deen
 
DevOps, Waffles, and Superheroes
DevOps, Waffles, and SuperheroesDevOps, Waffles, and Superheroes
DevOps, Waffles, and Superheroes
Jessica Deen
 
Frome Zero to DevOps Superhero: The Container Edition
Frome Zero to DevOps Superhero: The Container EditionFrome Zero to DevOps Superhero: The Container Edition
Frome Zero to DevOps Superhero: The Container Edition
Jessica Deen
 
Microsoft, Linux, OSS, Cloud and DevOps
Microsoft, Linux, OSS, Cloud and DevOpsMicrosoft, Linux, OSS, Cloud and DevOps
Microsoft, Linux, OSS, Cloud and DevOps
Jessica Deen
 
Microsoft, Linux, OSS, Cloud and DevOps
Microsoft, Linux, OSS, Cloud and DevOpsMicrosoft, Linux, OSS, Cloud and DevOps
Microsoft, Linux, OSS, Cloud and DevOps
Jessica Deen
 
glance replicator
glance replicatorglance replicator
glance replicator
irix_jp
 
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
Amazon Web Services
 
Provisioning, deploying and debugging node.js applications on azure
Provisioning, deploying and debugging node.js applications on azureProvisioning, deploying and debugging node.js applications on azure
Provisioning, deploying and debugging node.js applications on azure
Patriek van Dorp
 
AWS Sydney Summit 2013 - Your First Week with Amazon EC2
AWS Sydney Summit 2013 - Your First Week with Amazon EC2AWS Sydney Summit 2013 - Your First Week with Amazon EC2
AWS Sydney Summit 2013 - Your First Week with Amazon EC2
Amazon Web Services
 
Codemotion Rome 2018 Docker Swarm Mode
Codemotion Rome 2018 Docker Swarm ModeCodemotion Rome 2018 Docker Swarm Mode
Codemotion Rome 2018 Docker Swarm Mode
Simone Soldateschi
 
Webinar - 2020-09-23 - Escape the ticketing turmoil with Teleport PagerDuty &...
Webinar - 2020-09-23 - Escape the ticketing turmoil with Teleport PagerDuty &...Webinar - 2020-09-23 - Escape the ticketing turmoil with Teleport PagerDuty &...
Webinar - 2020-09-23 - Escape the ticketing turmoil with Teleport PagerDuty &...
Teleport
 
Scaling Docker Containers using Kubernetes and Azure Container Service
Scaling Docker Containers using Kubernetes and Azure Container ServiceScaling Docker Containers using Kubernetes and Azure Container Service
Scaling Docker Containers using Kubernetes and Azure Container Service
Ben Hall
 
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp BerlinTech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
LeanIX GmbH
 
Gitlab, GitOps & ArgoCD
Gitlab, GitOps & ArgoCDGitlab, GitOps & ArgoCD
Gitlab, GitOps & ArgoCD
Haggai Philip Zagury
 
Microservices Delivery Platform. Tips & Tricks
Microservices Delivery Platform. Tips & TricksMicroservices Delivery Platform. Tips & Tricks
Microservices Delivery Platform. Tips & Tricks
Andrey Trubitsyn
 
Getting Started with Azure DevOps
Getting Started with Azure DevOpsGetting Started with Azure DevOps
Getting Started with Azure DevOps
Jessica Deen
 
Kubernetes Multi-cluster without Federation - Kubecon EU 2018
Kubernetes Multi-cluster without Federation - Kubecon EU 2018Kubernetes Multi-cluster without Federation - Kubecon EU 2018
Kubernetes Multi-cluster without Federation - Kubecon EU 2018
Rob Szumski
 

Similar to DevOps Days Montevideo Container Superhero Keynote (20)

DevOps with Kubernetes and Helm
DevOps with Kubernetes and HelmDevOps with Kubernetes and Helm
DevOps with Kubernetes and Helm
 
From Zero to DevOps Superhero
From Zero to DevOps SuperheroFrom Zero to DevOps Superhero
From Zero to DevOps Superhero
 
DevOps, Kuberenetes, Helm and Draft Azure Montevideo Meetup
DevOps, Kuberenetes, Helm and Draft Azure Montevideo MeetupDevOps, Kuberenetes, Helm and Draft Azure Montevideo Meetup
DevOps, Kuberenetes, Helm and Draft Azure Montevideo Meetup
 
Microsoft, Open Source, DevOps, Kubernetes
Microsoft, Open Source, DevOps, KubernetesMicrosoft, Open Source, DevOps, Kubernetes
Microsoft, Open Source, DevOps, Kubernetes
 
DevOps, Waffles, and Superheroes
DevOps, Waffles, and SuperheroesDevOps, Waffles, and Superheroes
DevOps, Waffles, and Superheroes
 
Frome Zero to DevOps Superhero: The Container Edition
Frome Zero to DevOps Superhero: The Container EditionFrome Zero to DevOps Superhero: The Container Edition
Frome Zero to DevOps Superhero: The Container Edition
 
Microsoft, Linux, OSS, Cloud and DevOps
Microsoft, Linux, OSS, Cloud and DevOpsMicrosoft, Linux, OSS, Cloud and DevOps
Microsoft, Linux, OSS, Cloud and DevOps
 
Microsoft, Linux, OSS, Cloud and DevOps
Microsoft, Linux, OSS, Cloud and DevOpsMicrosoft, Linux, OSS, Cloud and DevOps
Microsoft, Linux, OSS, Cloud and DevOps
 
glance replicator
glance replicatorglance replicator
glance replicator
 
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
 
Provisioning, deploying and debugging node.js applications on azure
Provisioning, deploying and debugging node.js applications on azureProvisioning, deploying and debugging node.js applications on azure
Provisioning, deploying and debugging node.js applications on azure
 
AWS Sydney Summit 2013 - Your First Week with Amazon EC2
AWS Sydney Summit 2013 - Your First Week with Amazon EC2AWS Sydney Summit 2013 - Your First Week with Amazon EC2
AWS Sydney Summit 2013 - Your First Week with Amazon EC2
 
Codemotion Rome 2018 Docker Swarm Mode
Codemotion Rome 2018 Docker Swarm ModeCodemotion Rome 2018 Docker Swarm Mode
Codemotion Rome 2018 Docker Swarm Mode
 
Webinar - 2020-09-23 - Escape the ticketing turmoil with Teleport PagerDuty &...
Webinar - 2020-09-23 - Escape the ticketing turmoil with Teleport PagerDuty &...Webinar - 2020-09-23 - Escape the ticketing turmoil with Teleport PagerDuty &...
Webinar - 2020-09-23 - Escape the ticketing turmoil with Teleport PagerDuty &...
 
Scaling Docker Containers using Kubernetes and Azure Container Service
Scaling Docker Containers using Kubernetes and Azure Container ServiceScaling Docker Containers using Kubernetes and Azure Container Service
Scaling Docker Containers using Kubernetes and Azure Container Service
 
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp BerlinTech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
 
Gitlab, GitOps & ArgoCD
Gitlab, GitOps & ArgoCDGitlab, GitOps & ArgoCD
Gitlab, GitOps & ArgoCD
 
Microservices Delivery Platform. Tips & Tricks
Microservices Delivery Platform. Tips & TricksMicroservices Delivery Platform. Tips & Tricks
Microservices Delivery Platform. Tips & Tricks
 
Getting Started with Azure DevOps
Getting Started with Azure DevOpsGetting Started with Azure DevOps
Getting Started with Azure DevOps
 
Kubernetes Multi-cluster without Federation - Kubecon EU 2018
Kubernetes Multi-cluster without Federation - Kubecon EU 2018Kubernetes Multi-cluster without Federation - Kubecon EU 2018
Kubernetes Multi-cluster without Federation - Kubecon EU 2018
 

More from Jessica Deen

From Zero to DevOps Superhero: The Container Edition (JenkinsWorld SF)
From Zero to DevOps Superhero: The Container Edition (JenkinsWorld SF)From Zero to DevOps Superhero: The Container Edition (JenkinsWorld SF)
From Zero to DevOps Superhero: The Container Edition (JenkinsWorld SF)
Jessica Deen
 
Deploying Windows Containers with Draft, Helm and Kubernetes
Deploying Windows Containers with Draft, Helm and KubernetesDeploying Windows Containers with Draft, Helm and Kubernetes
Deploying Windows Containers with Draft, Helm and Kubernetes
Jessica Deen
 
From Zero to DevOps Superhero: The Container Edition (Build 2019)
From Zero to DevOps Superhero: The Container Edition (Build 2019)From Zero to DevOps Superhero: The Container Edition (Build 2019)
From Zero to DevOps Superhero: The Container Edition (Build 2019)
Jessica Deen
 
Deploying Windows Apps to Kubernetes with Draft and Helm
Deploying Windows Apps to Kubernetes with Draft and HelmDeploying Windows Apps to Kubernetes with Draft and Helm
Deploying Windows Apps to Kubernetes with Draft and Helm
Jessica Deen
 
Microsoft, Linux, Open Source, DevOps
Microsoft, Linux, Open Source, DevOpsMicrosoft, Linux, Open Source, DevOps
Microsoft, Linux, Open Source, DevOps
Jessica Deen
 
DevOps with Kubernetes and Helm - Jenkins World Edition
DevOps with Kubernetes and Helm - Jenkins World EditionDevOps with Kubernetes and Helm - Jenkins World Edition
DevOps with Kubernetes and Helm - Jenkins World Edition
Jessica Deen
 
Microsoft, Linux, Open Source, DevOps
Microsoft, Linux, Open Source, DevOpsMicrosoft, Linux, Open Source, DevOps
Microsoft, Linux, Open Source, DevOps
Jessica Deen
 
Microsoft Ignite 2018 BRK3192 Container DevOps on Azure
Microsoft Ignite 2018 BRK3192 Container DevOps on AzureMicrosoft Ignite 2018 BRK3192 Container DevOps on Azure
Microsoft Ignite 2018 BRK3192 Container DevOps on Azure
Jessica Deen
 
DevOps with Kubernetes and Helm - OSCON 2018
DevOps with Kubernetes and Helm - OSCON 2018DevOps with Kubernetes and Helm - OSCON 2018
DevOps with Kubernetes and Helm - OSCON 2018
Jessica Deen
 
Tech Summit Paris DevOps Best Practices for Azure and VSTS
Tech Summit Paris DevOps Best Practices for Azure and VSTSTech Summit Paris DevOps Best Practices for Azure and VSTS
Tech Summit Paris DevOps Best Practices for Azure and VSTS
Jessica Deen
 
DevOps: Kubernetes + Helm with Azure
DevOps: Kubernetes + Helm with AzureDevOps: Kubernetes + Helm with Azure
DevOps: Kubernetes + Helm with Azure
Jessica Deen
 

More from Jessica Deen (11)

From Zero to DevOps Superhero: The Container Edition (JenkinsWorld SF)
From Zero to DevOps Superhero: The Container Edition (JenkinsWorld SF)From Zero to DevOps Superhero: The Container Edition (JenkinsWorld SF)
From Zero to DevOps Superhero: The Container Edition (JenkinsWorld SF)
 
Deploying Windows Containers with Draft, Helm and Kubernetes
Deploying Windows Containers with Draft, Helm and KubernetesDeploying Windows Containers with Draft, Helm and Kubernetes
Deploying Windows Containers with Draft, Helm and Kubernetes
 
From Zero to DevOps Superhero: The Container Edition (Build 2019)
From Zero to DevOps Superhero: The Container Edition (Build 2019)From Zero to DevOps Superhero: The Container Edition (Build 2019)
From Zero to DevOps Superhero: The Container Edition (Build 2019)
 
Deploying Windows Apps to Kubernetes with Draft and Helm
Deploying Windows Apps to Kubernetes with Draft and HelmDeploying Windows Apps to Kubernetes with Draft and Helm
Deploying Windows Apps to Kubernetes with Draft and Helm
 
Microsoft, Linux, Open Source, DevOps
Microsoft, Linux, Open Source, DevOpsMicrosoft, Linux, Open Source, DevOps
Microsoft, Linux, Open Source, DevOps
 
DevOps with Kubernetes and Helm - Jenkins World Edition
DevOps with Kubernetes and Helm - Jenkins World EditionDevOps with Kubernetes and Helm - Jenkins World Edition
DevOps with Kubernetes and Helm - Jenkins World Edition
 
Microsoft, Linux, Open Source, DevOps
Microsoft, Linux, Open Source, DevOpsMicrosoft, Linux, Open Source, DevOps
Microsoft, Linux, Open Source, DevOps
 
Microsoft Ignite 2018 BRK3192 Container DevOps on Azure
Microsoft Ignite 2018 BRK3192 Container DevOps on AzureMicrosoft Ignite 2018 BRK3192 Container DevOps on Azure
Microsoft Ignite 2018 BRK3192 Container DevOps on Azure
 
DevOps with Kubernetes and Helm - OSCON 2018
DevOps with Kubernetes and Helm - OSCON 2018DevOps with Kubernetes and Helm - OSCON 2018
DevOps with Kubernetes and Helm - OSCON 2018
 
Tech Summit Paris DevOps Best Practices for Azure and VSTS
Tech Summit Paris DevOps Best Practices for Azure and VSTSTech Summit Paris DevOps Best Practices for Azure and VSTS
Tech Summit Paris DevOps Best Practices for Azure and VSTS
 
DevOps: Kubernetes + Helm with Azure
DevOps: Kubernetes + Helm with AzureDevOps: Kubernetes + Helm with Azure
DevOps: Kubernetes + Helm with Azure
 

Recently uploaded

Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 

Recently uploaded (20)

Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 

DevOps Days Montevideo Container Superhero Keynote

  • 1. 1S L I D E# D E E N O F D E V O P S @jldeen- [ ] - From Zero to DevOps Superhero The Container Edition Jessica Deen| Senior Cloud Advocate
  • 2. 2S L I D E# D E E N O F D E V O P S @jldeen- [ ] - Before we begin… Disclaimer @jldeen- [ ] -# D E E N O F D E V O P S What to expect in the next 45 minutes…
  • 3. 3S L I D E# D E E N O F D E V O P S @jldeen- [ ] - I n t e n t- [ ] - This session was specifically designed to… Get you thinking Get you excited Show you what’s possible Offer resources to learn more
  • 4. 4S L I D E# D E E N O F D E V O P S @jldeen- [ ] - “UBER, the world’s largest taxi company, owns no vehicles. Facebook, the world’s most popular media owner, creates no content. Alibaba, the most valuable retailer, has no inventory. Airbnb, the world’s largest accommodation provider, owns no real estate. Welcome to the Digital Economy! -[ Monty C. M. Metzger ]- Technology is changing. D I S R U P T I O N- [ ] -
  • 5. 5S L I D E# D E E N O F D E V O P S @jldeen- [ ] - - Donovan Brown What is DevOps? D e f i n i t i o n- [ ] -
  • 6. 6S L I D E# D E E N O F D E V O P S @jldeen- [ ] - Why Containers? C o m i n g t o g e t h e r- [ ] - Developers Enable ‘write-once, run- anywhere’ apps Enables microservice architectures Operations Portability Standardization Abstraction Higher compute density Scale DevOps
  • 7. 7S L I D E# D E E N O F D E V O P S @jldeen- [ ] - What is a container ? N o t a r e a l t h i n g- [ ] -
  • 8. 8S L I D E# D E E N O F D E V O P S @jldeen- [ ] - N o t a r e a l t h i n g- [ ] -
  • 9. 9S L I D E# D E E N O F D E V O P S @jldeen- [ ] - What container s are not. N o t a r e a l t h i n g- [ ] -
  • 10. 10S L I D E# D E E N O F D E V O P S @jldeen- [ ] - N o t a r e a l t h i n g- [ ] -
  • 11. 11S L I D E# D E E N O F D E V O P S @jldeen- [ ] - N o t a r e a l t h i n g- [ ] -
  • 12. 12S L I D E# D E E N O F D E V O P S @jldeen- [ ] - N o t a r e a l t h i n g- [ ] -
  • 13. 13S L I D E# D E E N O F D E V O P S @jldeen- [ ] - Virtualization vs. Containerization C o m i n g t o g e t h e r- [ ] - Infrastructure Host OS Docker Bins/L ibs Bins/L ibs Bins/L ibs App A App B App C Contain er Infrastructure Hypervisor Bins/L ibs App A Guest OS Bins/L ibs App B Guest OS Bins/L ibs App C Guest OS VM Infrastructure Host OS Hypervisor Bins/L ibs App A Guest OS Bins/L ibs App B Guest OS Bins/L ibs App C Guest OS VM
  • 14. 14S L I D E# D E E N O F D E V O P S @jldeen- [ ] - Refresher on container layers C o m i n g t o g e t h e r- [ ] - From: Alpine:3.8 f61792ba8979 a7183fb762a8 d31af33eb855 c220123c8472 d7b1189bf667 91e49dfb1179 Container Layer Read / Write Image layers Read only
  • 15. 15S L I D E# D E E N O F D E V O P S @jldeen- [ ] - N o t a r e a l t h i n g- [ ] -
  • 16. 16S L I D E# D E E N O F D E V O P S @jldeen- [ ] - The Container Advantage B e n e f i t s- [ ] - Fast iteration Agile delivery Immutability Cost savings Elastic bursting Efficient deployment For ITFor developers
  • 17. 17S L I D E# D E E N O F D E V O P S @jldeen- [ ] - • Containers on demand • Per-second billing (!) • Integrations with other Azure services • No need to provision VM’s or clusters • Hypervisor level isolation • Public IP • Persistent Storage • Supports both Linux and Windows containers 17 Azure Container Instances
  • 18. 18S L I D E# D E E N O F D E V O P S @jldeen- [ ] - 18 $ az container create --resource-group myrg --name aci-helloworld --image microsoft/aci-helloworld --dns-name-label aci-demo --ports 80 Azure Container Instances
  • 19. 19S L I D E# D E E N O F D E V O P S @jldeen- [ ] - • Fully managed PaaS for containers • Support for many workflows • Advanced features for webapps 19 Azure App Services for Linux
  • 20. 20S L I D E# D E E N O F D E V O P S @jldeen- [ ] - 20 $ az webapp create -g myrg -n nginx --plan my-appservice-plan --deployment-container-image-name 'nginx' Azure App Services for Linux
  • 21. 21S L I D E# D E E N O F D E V O P S @jldeen- [ ] - What is Kubernete s? C o n t a i n e r O r c h e s t r a t i o n- [ ] -
  • 22. 22S L I D E# D E E N O F D E V O P S @jldeen- [ ] - 22 C o n t a i n e r O r c h e s t r a t i o n- [ ] -
  • 23. 23S L I D E# D E E N O F D E V O P S @jldeen- [ ] - 23 C o n t a i n e r O r c h e s t r a t i o n- [ ] -
  • 24. 24S L I D E# D E E N O F D E V O P S @jldeen- [ ] - 24 C o n t a i n e r O r c h e s t r a t i o n- [ ] -
  • 25. 25S L I D E# D E E N O F D E V O P S @jldeen- [ ] - Kubernetes C o n t a i n e r O r c h e s t r a t i o n- [ ] - Master VM Master VM Master VM Agent VM Agent VM Agent VM Agent VM Agent VM Agent VM Agent VM Agent VM Agent VM Agent VM
  • 26. 26S L I D E# D E E N O F D E V O P S @jldeen- [ ] - Kubernetes C o n t a i n e r O r c h e s t r a t i o n- [ ] - Hosted Contro l Plane Agent VM Agent VM Agent VM Agent VM Agent VM Agent VM Agent VM Agent VM Agent VM Agent VM
  • 27. 27S L I D E# D E E N O F D E V O P S @jldeen- [ ] - AKS Azure Kubernetes Service
  • 28. 28S L I D E# D E E N O F D E V O P S @jldeen- [ ] - Azure Kubernetes Service (AKS) • Automated provisioning, upgrades, patches • High reliability, availability • Easy, secure cluster scaling • Self-healing • API server monitoring • At no charge Infrastructure automation API server Controller ManagerScheduler etcd Store Cloud Controller Self-managed master node(s) Customer VMs App/ workload definitionUser Docker Pods Docker Pods Docker Pods Docker Pods Docker Pods Schedule pods over private tunnel Kubernetes API endpoint Azure managed control plane Helm charts custom or from kubeapps/
  • 29. 29S L I D E# D E E N O F D E V O P S @jldeen- [ ] - AKS C o n t a i n e r O r c h e s t r a t i o n- [ ] - $ az aks create -g myResourceGroup -n myCluster --generate-ssh-keys Running .. $ az aks install-cli Downloading client to /usr/local/bin/kubectl .. $ az aks get-credentials -g myResourceGroup -n myCluster Merged "myCluster" as current context .. $ kubectl get nodes NAME STATUS AGE VERSION aks-mycluster-36851231-0 Ready 4m v1.11.4 aks-mycluster-36851231-1 Ready 4m v1.11.4 aks-mycluster-36851231-2 Ready 4m v1.11.4
  • 30. 30S L I D E# D E E N O F D E V O P S @jldeen- [ ] - AKS C o n t a i n e r O r c h e s t r a t i o n- [ ] - $ az aks list –o table Name Location ResourceGroup KubernetesRelease ProvisioningState ------------------ ---------- -------------- ------------------- ------------------- myCluster eastus myResourceGroup 1.11.4 Succeeded $ az aks upgrade -g myResourceGroup -n myCluster –-kubernetes-version 1.11.5 Running .. $ kubectl get nodes NAME STATUS AGE VERSION aks-mycluster-36851231-0 Ready 12m v1.11.5 aks-mycluster-36851231-1 Ready 8m v1.11.5 aks-mycluster-36851231-2 Ready 3m v1.11.5 $ az aks scale -g myResourceGroup -n myCluster --agent-count 10 Running ..
  • 31. 31S L I D E# D E E N O F D E V O P S @jldeen- [ ] - AKS Scaling The secret to scaling is the virtual nodes! Azure Monitor AKS production cluster Microservices Azure Container Instances (ACI) Pods Virtual node Availability Reliability Auto scaling https://docs.microsoft.com/en-us/azure/aks/scale-cluster az aks scale --resource-group myRG --name myAKSCluster --node-count 1 --nodepool-name <your node pool name>
  • 32. 32S L I D E# D E E N O F D E V O P S @jldeen- [ ] - • Private, highly available container registry • Manage images for all types of containers • Manage a single registry across multiple regions • Use standard open source Docker cli tools
  • 33. 33S L I D E# D E E N O F D E V O P S @jldeen- [ ] - az acr login --name <acrName> az acr create --resource-group myRG --name myContainerRegistry007 --sku Basic docker build . –t acrName.azurecr.io/image-name:image-tag docker push acrName.azurecr.io/image-name:image-tag https://docs.microsoft.com/en-us/azure/container-registry/container-registry-get-started-azure-cli
  • 34. 34S L I D E# D E E N O F D E V O P S @jldeen- [ ] - Build Native Container Build Service in the cloud Follows build semantics docker build –t helloworld:v1 . az acr build –t helloworld{{.Build.ID}} .
  • 35. 35S L I D E# D E E N O F D E V O P S @jldeen- [ ] - Build az acr build-task create –-image helloworld{{.Build.ID}} --name myBuildTask --registry jengademos --context https://github.com/me/helloworld --branch master --git-access-token $PAT
  • 36. 36S L I D E# D E E N O F D E V O P S @jldeen- [ ] - ACR also natively supports Helm Repositories: acrName=<acr-name-here> az configure --defaults acr=$acrName az acr helm push -n $acrName *.tgz --force az acr helm repo add --name $acrName helm search <chart-name-here> helm install $acrName/<chart-name-here>
  • 37. 37S L I D E# D E E N O F D E V O P S @jldeen- [ ] - • Azure Reference Architecture - CI/CD pipeline for container- based workloads https://docs.microsoft.com/en-us/azure/devops/pipelines/apps/cd/deploy-aks?view=azure-devops Containers and DevOps
  • 38. 38S L I D E# D E E N O F D E V O P S @jldeen- [ ] - Demo • Deploying artifacts to Azure Kubernetes Service (AKS) • Build on Jenkins, release to ACR, Deploy via Azure DevOps Dev commits code Build/CI Jenkinsfile/Pipelin e Project Azure Container Registry Azure Kubernetes Service (AKS) Azure DevOps release pipeline Azure Web App
  • 39. 39S L I D E# D E E N O F D E V O P S @jldeen- [ ] - F U N T I M E DEMO
  • 40. 40S L I D E# D E E N O F D E V O P S @jldeen- [ ] -
  • 41. 41S L I D E# D E E N O F D E V O P S @jldeen- [ ] - C o n t a i n e r O r c h e s t r a t i o n- [ ] - K.I.SS Keep It Super Simple
  • 42. 42S L I D E# D E E N O F D E V O P S @jldeen- [ ] - C o n t a i n e r O r c h e s t r a t i o n- [ ] - “The steps you take don't have to be big, they just have to take you in the right direction.” // Jemma Simmons
  • 43. 43S L I D E# D E E N O F D E V O P S @jldeen- [ ] - C o n t a i n e r O r c h e s t r a t i o n- [ ] - What are my main objectives?
  • 44. 44S L I D E# D E E N O F D E V O P S @jldeen- [ ] - C o n t a i n e r O r c h e s t r a t i o n- [ ] - What are my indicators for those objectives?
  • 45. 45S L I D E# D E E N O F D E V O P S @jldeen- [ ] - C o n t a i n e r O r c h e s t r a t i o n- [ ] - Does this add value, or does this add unnecessary complexity?
  • 46. 46S L I D E# D E E N O F D E V O P S @jldeen- [ ] - I t ’ s j u s t a w a f f l e- [ ] -
  • 47. 47S L I D E# D E E N O F D E V O P S @jldeen- [ ] - H e l l o !- [ ] - I am Jessica Deen
  • 48. 48S L I D E# D E E N O F D E V O P S @jldeen- [ ] - aka.ms/jldeen/devopsdaysmontevid eo SEARCH
  • 49. 49S L I D E# D E E N O F D E V O P S @jldeen- [ ] - THANK YOU

Editor's Notes

  1. Containers as a service – a new take on serverless … with VM quality isolation The same as 'docker run' but in the cloud
  2. This command is equivalent to a 'docker run' that Northwind engineers are used to It launches a container in the cloud, with a public IP address and DNS name Since it's on Azure, you can integrate with other Azure cloud services as well
  3. Northwind is already using App Services Workflows: everything from CLI to FTP to VS deployments Advanced features for webapps: logging, SSL, etc...
  4. CLI deployment Git Push deployment VS Code Deployment FTP Deployment
  5. Kubernetes is a series of reconciliation loops that are constantly trying to reconcile the actual state toward the desired state specified by the declarative API
  6. Kubernetes has a series of control plane components that run on the agents and the master nodes Kubelet – Responsible for pulling, running and monitoring images scheduled to it Container Runtime – Docker, application that actually runs the container (called by kubelet) Kube-Proxy – This makes service object real and routable by containers in the cluster Etcd – Distributed database that stores all the Kubernetes data and leverages extensively by the control plane to monitor and save state API Server – All components of the control plane, and tooling ran (kubectl) communicate with the API Server. Which fetches or writes the data to etcd. Controller Manager – Runs many reconciliation loops to ensure that API objects are reconciled (ReplicationController, Node Status, etc) Cloud Controller Manager – Reconciles API objects with a cloud provider (Service types of Load Balancer, Storage, etc)
  7. So that brings us back to AKS. why would we want to use AKS to run our Kubernetes clusters for us?