SlideShare a Scribd company logo
1 of 45
Microsoft,
Linux, Open
Source, Cloud +
DevOps
Jessica Deen
Cloud Developer Advocate
HELLO!
I am Jessica Deen
I am here because I love technology and
community.
I focus heavily on Linux, OSS, DevOps and
Containers.
I love Disney and CrossFit/Fitness.
You can find me at @jldeen on GitHub,
Twitter, and Instagram.
Disclaimer
The next 45 minutes will NOT make
you an expert, but it will:
- Get you thinking
- Show you what’s possible
- Give you some sample code for you to get
started on your own time
GOING DIGITAL
12 years
average age of S&P
500 corporations
by 2020
1 million/hour
new devices
coming online
by 2020
60% computing
in the public cloud
by 2025
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
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
IT stress points
Security
threats
Datacenter
efficiency
Supporting
innovation
http://research.microsoft.com/en-us/um/cambridge/projects/hci2020/
A new era of computing
Servers Services
Cloud is a new way to think about a datacenter
DevOps: The Three Stage
Conversation
ProcessPeople Products
DevOps is the union of people,
process, and products to enable
continuous delivery of value to
our end users.
-Donovan Brown
http://bit.ly/WhatIs-DevOps
Key DevOps Practices
Infrastructure as
Code
Continuous
Integration
Continuous
Deployment
Automated Testing Release
Management
Performance
Monitoring
Availability
Monitoring
Load Testing &
Auto Scale
Automated
Recovery (Rollback
& Roll Forward)
DevOps Benefits
IT Performance Metrics
2015 2016 2017
Deployment
Frequency
30x more
frequent
200x more
frequent
46x more
frequent
Lead Time for
Changes
200x faster 2,555x faster 440x faster
Mean Time to
Recover
(MTTR)
168x faster 24x faster 96x faster
Change Failure
Rate
3x lower (1/3
as likely)
5x lower (1/5
as likely)
Source: https://puppetlabs.com
Source: Softpedia
Credits: James Niccolai
In 2014, Microsoft CEO Satya Nadella
directed all Microsoft engineers to
"open source internally" - anyone at
the company can see anyone else's
code and use it as needed.
Demo
What did we just do?
Build
Package
Deploy
Kubernetes Pipeline
Docker Image Repository
Developers
Enable ‘write-once, run-anywhere’ apps
Enables microservice architectures
Great for dev/test of apps and services
Production realism
Growing Developer Community
Operations
Portability, Portability, Portability
Standardized development, QA, and prod
environments
Abstract differences in OS distributions
and underlying infrastructure
Higher compute density
Easily scale-up and scale-down in response
to changing business needs
DevOps
Namespaces (what a
process can see)
 PID
 Mount
 Network
 UTS
 IPC
 User
 Cgroup
What is a Container?
Cgroups (what a process
can use)
 Memory
 CPU
 Blkio
 Cpuacct
 Cpuset
 Devices
 Net_prio
Not a real thing. An application delivery mechanism with
process isolation based on several Linux kernel features.
 Open Source Container Runtime
 Mac, Linux, Windows Support
 Command Line Tool
 “Dockerfile” format
 The Docker image format with layered
filesystem
What is
Docker Layered Filesystem
Docker Layered Filesystem
Virtualization Containerization
Type 1
Hardware
Hypervisor 1
VM VM VM
Hardware
Type 2
Host OS
Hypervisor 2
VM VM VM
Virtual machine
Guest OS
Dependencies
Application
Hardware
Host OS
Docker Engine
Dependency 1 Dependency 2
C C C C C
Container
App dependencies
Application XYZ
Virtualization versus containerization
The container advantage
Fast
iteration
Agile
delivery
Immutability Cost
savings
Elastic
bursting
Efficient
deployment
For ITFor developers
Container Orchestration:
Kubernetes
Features include:
 Automatic bin packing
 Self-healing
 Horizontal scaling
 Service discovery
 Load balancing
 Automated rollouts and rollbacks
 Secret and configuration
management
What is Kubernetes?
Open source container orchestrator that automates
deployment, scaling, and management of applications.
 Designed by Google
 Based on their
system used to
run BILLIONS of
containers per
week
 Over 2,300
contributors
 Graduated from CNCF
Who is using Kubernetes?
Azure Kubernetes Service
(AKS)
Your Kubernetes Cluster
Managed by Azure
Easy to use:
 Fastest path to Kubernetes on
Azure
 Up and running with 3 simple
commands
 I argue there are 2.5 commands
Why AKS?
Uses open APIs – 100% upstream Kubernetes
Easy to manage:
 Automated upgrades
and patching
 Easily scale the
cluster up and down
 Self-healing control
plane
Getting Started with AKS
$ 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.8.1
aks-mycluster-36851231-1 Ready 4m v1.8.1
aks-mycluster-36851231-2 Ready 4m v1.8.1
Managing an AKS Cluster
$ az aks list –o table
Name Location ResourceGroup KubernetesRelease
ProvisioningState
------------------ ---------- -------------- ------------------- ------------
-------
myCluster westus2 myResourceGroup 1.7.7 Succeeded
$ az aks upgrade -g myResourceGroup -n myCluster –-kubernetes-version 1.8.1
 Running ..
$ kubectl get nodes
NAME STATUS AGE VERSION
aks-mycluster-36851231-0 Ready 12m v1.8.1
aks-mycluster-36851231-1 Ready 8m v1.8.1
aks-mycluster-36851231-2 Ready 3m v1.8.1
$ az aks scale -g myResourceGroup -n myCluster --agent-count 10
 Running ..
Kubernetes withoutAKS
Kubernetes with AKS
Release automation tools
Simplifying the Kubernetes experience
Streamlined
Kubernetes
development
The package
manager for
Kubernetes
Event-driven
scripting for
Kubernetes
Visualization
dashboard for
Brigade
Azure Container
Service (AKS)
Azure Container
Instances (ACI)
Azure Container
Registry
Open Service
Broker API (OSBA)
Release
Automation Tools
Helm
The best way to find, share, and use software
built for Kubernetes
Manage complexity
Charts can describe
complex apps; provide
repeatable app installs, and
serve as a single point of
authority
Easy updates
Take the pain out
of updates with in-
place upgrades and
custom hooks
Simple sharing
Charts are easy to
version, share, and host
on public or private
servers
Rollbacks
Use helm rollback
to roll back to an older
version of a release
with ease
Azure Container
Service (AKS)
Azure Container
Instances (ACI)
Azure Container
Registry
Open Service
Broker API (OSBA)
Release
Automation Tools
Helm
Helm Charts helps you define, install, and upgrade
even the most complex Kubernetes application
custom
services
Chart.yml
db
load balancer
ci
…
Azure Container
Service (AKS)
Azure Container
Instances (ACI)
Azure Container
Registry
Open Service
Broker API (OSBA)
Release
Automation Tools
Simple app development and deployment – into
any Kubernetes cluster
Simplified development
Using two simple commands, developers
can now begin hacking on container-based
applications without requiring Docker or
even installing Kubernetes themselves
Language support
Draft detects which language your app is
written in, and then uses packs to
generate a Dockerfile and Helm Chart
with the best practices for that language
Azure Container
Service (AKS)
Azure Container
Instances (ACI)
Azure Container
Registry
Open Service
Broker API (OSBA)
Release
Automation Tools
Demo
 Build small containers
 Application architecture
 Use Namespaces
 Use helm charts
 RBAC
 Implement Health checks
 Set requests and limits
 Be mindful of your services
 Map external services
 Don’t rely on load balancers
5 Kubernetes Best Practices
THANKS!
Resources
aka.ms/devops/jenkinsworld2018
Any questions?
You can find me at:
@jldeen · jessica.deen@microsoft.com

More Related Content

More from 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
 
From Zero to DevOps Superhero
From Zero to DevOps SuperheroFrom Zero to DevOps Superhero
From Zero to DevOps SuperheroJessica Deen
 
Getting Started with Azure DevOps
Getting Started with Azure DevOpsGetting Started with Azure DevOps
Getting Started with Azure DevOpsJessica 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 HelmJessica Deen
 
DevOps with Kubernetes and Helm
DevOps with Kubernetes and HelmDevOps with Kubernetes and Helm
DevOps with Kubernetes and HelmJessica Deen
 
Microsoft, Open Source, DevOps, Kubernetes
Microsoft, Open Source, DevOps, KubernetesMicrosoft, Open Source, DevOps, Kubernetes
Microsoft, Open Source, DevOps, KubernetesJessica Deen
 
Microsoft, Linux, Open Source, DevOps
Microsoft, Linux, Open Source, DevOpsMicrosoft, Linux, Open Source, DevOps
Microsoft, Linux, Open Source, DevOpsJessica 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 EditionJessica Deen
 
Microsoft, Linux, Open Source, DevOps
Microsoft, Linux, Open Source, DevOpsMicrosoft, Linux, Open Source, DevOps
Microsoft, Linux, Open Source, DevOpsJessica 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 AzureJessica 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 2018Jessica 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 VSTSJessica Deen
 
DevOps: Kubernetes + Helm with Azure
DevOps: Kubernetes + Helm with AzureDevOps: Kubernetes + Helm with Azure
DevOps: Kubernetes + Helm with AzureJessica Deen
 

More from Jessica Deen (13)

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)
 
From Zero to DevOps Superhero
From Zero to DevOps SuperheroFrom Zero to DevOps Superhero
From Zero to DevOps Superhero
 
Getting Started with Azure DevOps
Getting Started with Azure DevOpsGetting Started with Azure DevOps
Getting Started with Azure DevOps
 
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
 
DevOps with Kubernetes and Helm
DevOps with Kubernetes and HelmDevOps with Kubernetes and Helm
DevOps with Kubernetes and Helm
 
Microsoft, Open Source, DevOps, Kubernetes
Microsoft, Open Source, DevOps, KubernetesMicrosoft, Open Source, DevOps, Kubernetes
Microsoft, Open Source, DevOps, Kubernetes
 
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

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 

Recently uploaded (20)

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 

Microsoft, Linux, Open Source, DevOps

  • 1. Microsoft, Linux, Open Source, Cloud + DevOps Jessica Deen Cloud Developer Advocate
  • 2. HELLO! I am Jessica Deen I am here because I love technology and community. I focus heavily on Linux, OSS, DevOps and Containers. I love Disney and CrossFit/Fitness. You can find me at @jldeen on GitHub, Twitter, and Instagram.
  • 3. Disclaimer The next 45 minutes will NOT make you an expert, but it will: - Get you thinking - Show you what’s possible - Give you some sample code for you to get started on your own time
  • 4. GOING DIGITAL 12 years average age of S&P 500 corporations by 2020 1 million/hour new devices coming online by 2020 60% computing in the public cloud by 2025
  • 5. 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
  • 6. 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
  • 9. Servers Services Cloud is a new way to think about a datacenter
  • 10.
  • 11. DevOps: The Three Stage Conversation ProcessPeople Products
  • 12. DevOps is the union of people, process, and products to enable continuous delivery of value to our end users. -Donovan Brown http://bit.ly/WhatIs-DevOps
  • 13. Key DevOps Practices Infrastructure as Code Continuous Integration Continuous Deployment Automated Testing Release Management Performance Monitoring Availability Monitoring Load Testing & Auto Scale Automated Recovery (Rollback & Roll Forward)
  • 14. DevOps Benefits IT Performance Metrics 2015 2016 2017 Deployment Frequency 30x more frequent 200x more frequent 46x more frequent Lead Time for Changes 200x faster 2,555x faster 440x faster Mean Time to Recover (MTTR) 168x faster 24x faster 96x faster Change Failure Rate 3x lower (1/3 as likely) 5x lower (1/5 as likely) Source: https://puppetlabs.com
  • 15.
  • 17. In 2014, Microsoft CEO Satya Nadella directed all Microsoft engineers to "open source internally" - anyone at the company can see anyone else's code and use it as needed.
  • 18. Demo
  • 19. What did we just do? Build Package Deploy Kubernetes Pipeline Docker Image Repository
  • 20. Developers Enable ‘write-once, run-anywhere’ apps Enables microservice architectures Great for dev/test of apps and services Production realism Growing Developer Community Operations Portability, Portability, Portability Standardized development, QA, and prod environments Abstract differences in OS distributions and underlying infrastructure Higher compute density Easily scale-up and scale-down in response to changing business needs DevOps
  • 21. Namespaces (what a process can see)  PID  Mount  Network  UTS  IPC  User  Cgroup What is a Container? Cgroups (what a process can use)  Memory  CPU  Blkio  Cpuacct  Cpuset  Devices  Net_prio Not a real thing. An application delivery mechanism with process isolation based on several Linux kernel features.
  • 22.  Open Source Container Runtime  Mac, Linux, Windows Support  Command Line Tool  “Dockerfile” format  The Docker image format with layered filesystem What is
  • 25. Virtualization Containerization Type 1 Hardware Hypervisor 1 VM VM VM Hardware Type 2 Host OS Hypervisor 2 VM VM VM Virtual machine Guest OS Dependencies Application Hardware Host OS Docker Engine Dependency 1 Dependency 2 C C C C C Container App dependencies Application XYZ Virtualization versus containerization
  • 26. The container advantage Fast iteration Agile delivery Immutability Cost savings Elastic bursting Efficient deployment For ITFor developers
  • 28. Features include:  Automatic bin packing  Self-healing  Horizontal scaling  Service discovery  Load balancing  Automated rollouts and rollbacks  Secret and configuration management What is Kubernetes? Open source container orchestrator that automates deployment, scaling, and management of applications.  Designed by Google  Based on their system used to run BILLIONS of containers per week  Over 2,300 contributors  Graduated from CNCF
  • 29. Who is using Kubernetes?
  • 30.
  • 31.
  • 34. Easy to use:  Fastest path to Kubernetes on Azure  Up and running with 3 simple commands  I argue there are 2.5 commands Why AKS? Uses open APIs – 100% upstream Kubernetes Easy to manage:  Automated upgrades and patching  Easily scale the cluster up and down  Self-healing control plane
  • 35. Getting Started with AKS $ 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.8.1 aks-mycluster-36851231-1 Ready 4m v1.8.1 aks-mycluster-36851231-2 Ready 4m v1.8.1
  • 36. Managing an AKS Cluster $ az aks list –o table Name Location ResourceGroup KubernetesRelease ProvisioningState ------------------ ---------- -------------- ------------------- ------------ ------- myCluster westus2 myResourceGroup 1.7.7 Succeeded $ az aks upgrade -g myResourceGroup -n myCluster –-kubernetes-version 1.8.1 Running .. $ kubectl get nodes NAME STATUS AGE VERSION aks-mycluster-36851231-0 Ready 12m v1.8.1 aks-mycluster-36851231-1 Ready 8m v1.8.1 aks-mycluster-36851231-2 Ready 3m v1.8.1 $ az aks scale -g myResourceGroup -n myCluster --agent-count 10 Running ..
  • 39. Release automation tools Simplifying the Kubernetes experience Streamlined Kubernetes development The package manager for Kubernetes Event-driven scripting for Kubernetes Visualization dashboard for Brigade Azure Container Service (AKS) Azure Container Instances (ACI) Azure Container Registry Open Service Broker API (OSBA) Release Automation Tools
  • 40. Helm The best way to find, share, and use software built for Kubernetes Manage complexity Charts can describe complex apps; provide repeatable app installs, and serve as a single point of authority Easy updates Take the pain out of updates with in- place upgrades and custom hooks Simple sharing Charts are easy to version, share, and host on public or private servers Rollbacks Use helm rollback to roll back to an older version of a release with ease Azure Container Service (AKS) Azure Container Instances (ACI) Azure Container Registry Open Service Broker API (OSBA) Release Automation Tools
  • 41. Helm Helm Charts helps you define, install, and upgrade even the most complex Kubernetes application custom services Chart.yml db load balancer ci … Azure Container Service (AKS) Azure Container Instances (ACI) Azure Container Registry Open Service Broker API (OSBA) Release Automation Tools
  • 42. Simple app development and deployment – into any Kubernetes cluster Simplified development Using two simple commands, developers can now begin hacking on container-based applications without requiring Docker or even installing Kubernetes themselves Language support Draft detects which language your app is written in, and then uses packs to generate a Dockerfile and Helm Chart with the best practices for that language Azure Container Service (AKS) Azure Container Instances (ACI) Azure Container Registry Open Service Broker API (OSBA) Release Automation Tools
  • 43. Demo
  • 44.  Build small containers  Application architecture  Use Namespaces  Use helm charts  RBAC  Implement Health checks  Set requests and limits  Be mindful of your services  Map external services  Don’t rely on load balancers 5 Kubernetes Best Practices
  • 45. THANKS! Resources aka.ms/devops/jenkinsworld2018 Any questions? You can find me at: @jldeen · jessica.deen@microsoft.com

Editor's Notes

  1. Why is this transformation important? Let’s take a look at the next few years before us… In 2020, 1 million new devices are expected to come online every hour. The connectivity between people and data is creating billions of new relationships that are driven not only by data but by algorithms that keep customers engaged and buying.* In 2020, the average age of a S&P 500 corporation is expected to be 12 years old. Compare that to the S&P 500 in 1960 when the average age was 60 years old.** By the year 2025, at least 60 percent of computing will be cloud-based, due to “everything-as-a-service” shifting fundamental changes in the IT industry.*** For digital transformation, mobility is the universal catalyst and cloud is the great enabler. How are you planning for digital transformation? Do you have the right people and the right technology in place to build your digital vision? How can you use technology to shape your future? *http://www.gartner.com/newsroom/id/3142917 **http://upstart.bizjournals.com/resources/author/2015/06/04/fortune-500-must-disrupt-or-die-writes-r-ray-wang.html?page=all ***http://www.emersonnetworkpower.com/en-US/Latest-Thinking/Data-Center-2025/Documents/002401_DataCenter2025Report_HR_INTERACTIVE.PDF
  2. Here’s what we hear from dev Want to be able to move fast Things to run smooth on their machine and production – dev / prod parity Don’t want to be blocked on IT / ops team
  3. IT - wants to minimize risk don’t really understand applications or what it takes to be a dev Unable to do both infrastructure stuff and handle the application operations
  4. There have been various computer-driven revolutions in the past: the widespread introduction of the personal computer (PC) was one, the invention of the graphical browser was another, and the Internet yet another. There have also been computer eras where one type of computer has dominated, having straightforward implications for whether the computers were shared or personal, and for whether they were specialized commodities or not (see diagram below). But the ways computers have altered our lives, all aspects of our lives, is more comprehensive than, at first blush, recollections of these technological revolutions or eras might suggest. Computers affect how we undertake the most prosaic of activities – from buying food to paying our bills – and they do so in ways we might not have imagined when the first personal computers arrived on our desks. They have also created wholly new experiences, for example, allowing us to inhabit virtual worlds with people from many different parts of the globe. In between these extremes, from the prosaic to the wholly new, computers have taken over from older technologies in ways that looked merely like substitution at first but which have ended up creating radical change. Computers have played a massive role in changing the way we live over the last couple of decades. They are no longer possessions of the privileged but are rapidly becoming inexpensive, everyday commodities. They have evolved from being isolated machines to globally interconnected devices. Not only has access to computers vastly increased, but the ways we interact with them and materials used for computer devices have changed too. All of this means that computers can now be interwoven with almost every aspect of our lives. As we move towards 2020, so the extent of these changes will increase. By 2020, it may not be possible to realize all of our goals, ambitions and aspirations without using a computer or computing in one way or another. This binding of computing to our daily activities will in turn affect our values, goals and aspirations.
  5. Traditional model - Empathize, land the case for change based on change in business context Take empathizing tone (don’t want to make this sound negative). We want them to realize that what customers have done may have worked in the past but they need to recognize the need for change as the business is changing rapidly. Most companies are running custom apps that are stitched together, they have purpose-built hardware to think about, and have specialized teams, and everything has been carefully customized (over many years in some cases!). Now as an enterprise, you did all this for all the right reasons, but you might consider that it might be holding our customers (and their business) back in many ways given that the business context has changed fundamentally. In this new age of apps, the old way of doing this is causing friction because IT isn’t moving as fast as business wants it to. This is manifested in developers not getting the speed and freedom they need to create the best end-user experiences. That leads to lost productivity on their side, which results in ‘Shadow IT’. In 2015, 42% of the technology budget resides outside IT; this will grow to 50% by 2020 (Gartner). So this is real.   And we all know that while Shadow IT behaviors provide immediate gratification, it comes with risk. Slide 8: Cloud model (Mark) – Empathize, ask customers to be change agents, land cloud principles. Now let’s look at the cloud. Everyone knows that the cloud offers agility and innovation. It’s proving itself to be the way forward for the modern enterprise and we’ll talk more about that in a bit. But for some of our IT customers, the cloud might seem a little daunting. They might be asking, “Is this something I want to lead the charge on? How does it help my career?” The tension some of them experience is because you’re not sure if things are consistent with what you’re doing on-premises and it seems like it will be hard to manage. There’s also a tension between developers who want speed and freedom (represented by business demands), and the IT folks who have to worry about things like security and compliance.   Bridge to our POV while bringing them along. Implore them to be change agents in their orgs. But make no mistake about it – the cloud is the natural way forward for the rapidly evolving enterprise. Let’s all embrace it. In this context, we’re already seeing some leading indicators around “bi-modal“ IT among you: 45% of CIOs have a second, fast, mode of service delivery that complements their rock solid operations” (Gartner Symposium, Oct 2014). So there’s already some great progress that a lot of you seem to be driving. This is do-able. And we want our customers to be change agents in driving cloud adoption in your orgs.   Our POV We believe that cloud is a model/architecture, not a location. (Cloud-first principles as in the slide) Turns out that Microsoft has been on its own cloud-first journey for many years and we have fully operationalized cloud-first in our hyper-scale datacenters. We’d like to share some of that next to help customers shortcut their journey.
  6. There have been various computer-driven revolutions in the past: the widespread introduction of the personal computer (PC) was one, the invention of the graphical browser was another, and the Internet yet another. There have also been computer eras where one type of computer has dominated, having straightforward implications for whether the computers were shared or personal, and for whether they were specialized commodities or not (see diagram below). But the ways computers have altered our lives, all aspects of our lives, is more comprehensive than, at first blush, recollections of these technological revolutions or eras might suggest. Computers affect how we undertake the most prosaic of activities – from buying food to paying our bills – and they do so in ways we might not have imagined when the first personal computers arrived on our desks. They have also created wholly new experiences, for example, allowing us to inhabit virtual worlds with people from many different parts of the globe. In between these extremes, from the prosaic to the wholly new, computers have taken over from older technologies in ways that looked merely like substitution at first but which have ended up creating radical change. Computers have played a massive role in changing the way we live over the last couple of decades. They are no longer possessions of the privileged but are rapidly becoming inexpensive, everyday commodities. They have evolved from being isolated machines to globally interconnected devices. Not only has access to computers vastly increased, but the ways we interact with them and materials used for computer devices have changed too. All of this means that computers can now be interwoven with almost every aspect of our lives. As we move towards 2020, so the extent of these changes will increase. By 2020, it may not be possible to realize all of our goals, ambitions and aspirations without using a computer or computing in one way or another. This binding of computing to our daily activities will in turn affect our values, goals and aspirations.
  7. Some may wonder why these gaps in year-over-year performance are widening or narrowing. It is important to note that all these measures are relative: They compare the difference between the high and low performers. Between 2016 to 2017, the gap for frequency of code deployments narrowed: High performers are still shipping code as the business demands, while low performers went from shipping between once per month and once every six months in 2016, to shipping between once per week and once per month in 2017. Low performers in 2017 have also reduced their lead time for changes: from between one month and six months in 2016 to between one week and one month. This change does not mean that high performers are no longer performing as well. It simply means that low performers are doing better with throughput than they were, on average, and we applaud them for this improvement. 2015 Report had 4,976 respondents with companies of ALL sizes and verticals.
  8. Context, motivation and vision come from the top, but there are still barriers to overcome all the way down. Another example: in a recent company meeting, Satya said that improving our engineering systems is more important than adding new features. (Can we get the exact quote?)
  9. Setup Jenkins Server with one command? – Jenkins Values File Codefresh Demo Don’t forget VSTS Mac, Linux, Windows Demo
  10. Add in graphic from Codefresh layer example -
  11. Add in graphic from Codefresh layer example -
  12. Setup Jenkins Server with one command? – Jenkins Values File Codefresh Demo Don’t forget VSTS Mac, Linux, Windows Demo