SlideShare una empresa de Scribd logo
1 de 55
DevOps with Azure,
Kubernetes, and Helm
Jessica Deen ⎸Cloud DevOps Advocate ⎸Microsoft
Dan Garfield ⎸Full Stack Engineer ⎸Codefresh
• Linux, Open Source,
Containers, IT/Ops
• CrossFit
• HUGE Disney and Star Wars
fan
• League of Extraordinary Cloud
DevOps Advocates
Adopting Kubernetes by cobbling together lots of
tools and scripts is costly and time consuming
● Build servers
● Staging servers
● Build automation
● Webhooks
● Docker registry
● Kubectl
● Helm
● CI Tests
● Integration Tests
● UI Tests
● Performance Tests
● Security Scans
● Deployment tools
● Secrets management
● Configuration testing
● Traceability Dashboards
Why Codefresh?
Codefresh is a DevOps Platform
Built for Kubernetes
Kubernetes
CI/CD Pipelines
Self-Service
Test
Environments
Docker & Helm
Registry
Release
Management
Codefresh pipelines have built-in steps for working
with containers
● Deep integration w/ K8s
and Helm
● Supports any language
● Complete DevOps
platform
Create an account at
codefresh.io
Start streamlining your engineering!
Agenda
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
Security
threats
Datacenter
efficiency
Supporting
innovation
Servers Services
Cloud is a new way to think about a datacenter
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
Plan
1 Monitor + Learn
ReleaseDevelop + Test
2
Development Production
4
3
•
•
•
•
•
•
•
•
•
•
•
•
•
•
http://www.itproguy.com/devops-practices/
What is a container?
Containers = operating system virtualization Traditional virtual machines = hardware virtualization
Windows Server containers: maximum speed and density Hyper-V containers: isolation plus performance
OS
Kernel
Applications
Container Container Container
Hardware
Hardware
Container Container Container
Hyper-V
Container
Kernel
Container
Kernel
Container
Kernel
Hardware
OS
Application
VM VM VM
App
OS
App
OS
App
OS
What is a container?
Not a real thing. An application delivery mechanism with
process isolation based on several Linux kernel features.
(what a process can see) (what a process can use)
What is ?
• An open source container runtime
• Mac, Windows & Linux support
• Command line tool
• “Dockerfile” file format for building container
images
• The Docker image format with layered filesystem
Dockerfile: hello-world
Docker Layered File System
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
The elements of orchestration
Scheduling Affinity/anti-
affinity
Health
monitoring
Failover
Scaling Networking Service
discovery
Coordinated
app upgrades
Kubernetes: the de-facto orchestrator
Portable
Public, private, hybrid,
multi-cloud
Extensible
Modular, pluggable,
hookable, composable
Self-healing
Auto-placement, auto-restart,
auto-replication, auto-scaling
Kubernetes: empowering you to do more
Deploy your
applications quickly
and predictably
Scale your
applications on
the fly
Roll out
new features
seamlessly
Limit hardware
usage to required
resources only
What is Kubernetes?
Kubernetes - Agility
Kubernetes - Agility
Kubernetes - Scalability
Kubernetes - Scalability
Kubernetes - Scalability
Kubernetes - Reliability
Where can I get/run Kubernetes
Why AKS?
Getting Started with AKS
Managing an AKS cluster
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
Architecture
Key concepts: Helm, Tiller, Charts
• Helm has two major components:
• Helm client
• Tiller server
• Helm client is the CLI for end users
• Written in Go, uses gRPC to interact with the server
• Sends charts and values to Tiller for install, upgrade,
etc.
Architecture
Tiller server
• In-cluster server that interacts with the client
and interfaces with the Kubernetes API
server
Chart
• Collection of Kubernetes resources
Installing Helm
Helm.sh
Get a Codefresh Demo!
Schedule a 1:1 at
Codefresh.io
Connect with me!
Email: jessica.deen@microsoft.com
Twitter/GitHub/Instagram: @jldeen
Blog: jessicadeen.com
LoECDA Website: loecda.com

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Power of Azure Devops
Power of Azure DevopsPower of Azure Devops
Power of Azure Devops
 
Helm - Application deployment management for Kubernetes
Helm - Application deployment management for KubernetesHelm - Application deployment management for Kubernetes
Helm - Application deployment management for Kubernetes
 
OpenShift Enterprise
OpenShift EnterpriseOpenShift Enterprise
OpenShift Enterprise
 
Helm – The package manager for Kubernetes
Helm – The package manager for KubernetesHelm – The package manager for Kubernetes
Helm – The package manager for Kubernetes
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
An Architectural Deep Dive With Kubernetes And Containers Powerpoint Presenta...
An Architectural Deep Dive With Kubernetes And Containers Powerpoint Presenta...An Architectural Deep Dive With Kubernetes And Containers Powerpoint Presenta...
An Architectural Deep Dive With Kubernetes And Containers Powerpoint Presenta...
 
Building and deploying to an AKS cluster using Terraform and Azure DevOps wit...
Building and deploying to an AKS cluster using Terraform and Azure DevOps wit...Building and deploying to an AKS cluster using Terraform and Azure DevOps wit...
Building and deploying to an AKS cluster using Terraform and Azure DevOps wit...
 
CD using ArgoCD(KnolX).pdf
CD using ArgoCD(KnolX).pdfCD using ArgoCD(KnolX).pdf
CD using ArgoCD(KnolX).pdf
 
Helm intro
Helm introHelm intro
Helm intro
 
Azure Pipelines
Azure PipelinesAzure Pipelines
Azure Pipelines
 
Containers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatContainers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red Hat
 
Kubernetes CI/CD with Helm
Kubernetes CI/CD with HelmKubernetes CI/CD with Helm
Kubernetes CI/CD with Helm
 
Introduction of kubernetes rancher
Introduction of kubernetes rancherIntroduction of kubernetes rancher
Introduction of kubernetes rancher
 
GitOps 101 Presentation.pdf
GitOps 101 Presentation.pdfGitOps 101 Presentation.pdf
GitOps 101 Presentation.pdf
 
Gitops Hands On
Gitops Hands OnGitops Hands On
Gitops Hands On
 
Introduction to Helm
Introduction to HelmIntroduction to Helm
Introduction to Helm
 
Azure container instances
Azure container instancesAzure container instances
Azure container instances
 
Control Kubernetes Ingress and Egress Together with NGINX
Control Kubernetes Ingress and Egress Together with NGINXControl Kubernetes Ingress and Egress Together with NGINX
Control Kubernetes Ingress and Egress Together with NGINX
 
Introduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainIntroduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker Captain
 
Azure DevOps CI/CD For Beginners
Azure DevOps CI/CD  For BeginnersAzure DevOps CI/CD  For Beginners
Azure DevOps CI/CD For Beginners
 

Similar a DevOps with Azure, Kubernetes, and Helm Webinar

Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
dotCloud
 
Kubernetes: від знайомства до використання у CI/CD
Kubernetes: від знайомства до використання у CI/CDKubernetes: від знайомства до використання у CI/CD
Kubernetes: від знайомства до використання у CI/CD
Stfalcon Meetups
 

Similar a DevOps with Azure, Kubernetes, and Helm Webinar (20)

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
 
Kubernetes for .NET Developers
Kubernetes for .NET DevelopersKubernetes for .NET Developers
Kubernetes for .NET Developers
 
Kubernetes on on on on on on on on on on on on on on Azure Deck.pptx
Kubernetes on on on on on on on on on on on on on on Azure Deck.pptxKubernetes on on on on on on on on on on on on on on Azure Deck.pptx
Kubernetes on on on on on on on on on on on on on on Azure Deck.pptx
 
Using Azure DevOps to continuously build, test, and deploy containerized appl...
Using Azure DevOps to continuously build, test, and deploy containerized appl...Using Azure DevOps to continuously build, test, and deploy containerized appl...
Using Azure DevOps to continuously build, test, and deploy containerized appl...
 
Docker
DockerDocker
Docker
 
DevOps as a Service - Kuberiter
DevOps as a Service - KuberiterDevOps as a Service - Kuberiter
DevOps as a Service - Kuberiter
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
 
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
04_Azure Kubernetes Service: Basic Practices for Developers_GAB201904_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
 
The state of containers for your DevOps journey
The state of containers for your DevOps journeyThe state of containers for your DevOps journey
The state of containers for your DevOps journey
 
Adf with docker
Adf with dockerAdf with docker
Adf with docker
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Microsoft, Linux, Open Source, DevOps
Microsoft, Linux, Open Source, DevOpsMicrosoft, Linux, Open Source, DevOps
Microsoft, Linux, Open Source, DevOps
 
Docker ee an architecture and operations overview
Docker ee an architecture and operations overviewDocker ee an architecture and operations overview
Docker ee an architecture and operations overview
 
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
Develop and deploy Kubernetes  applications with Docker - IBM Index 2018Develop and deploy Kubernetes  applications with Docker - IBM Index 2018
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
 
Intro to docker and kubernetes
Intro to docker and kubernetesIntro to docker and kubernetes
Intro to docker and kubernetes
 
Kubernetes VS. App Service: When the orchestrator challenges the platform
Kubernetes VS. App Service: When the orchestrator challenges the platformKubernetes VS. App Service: When the orchestrator challenges the platform
Kubernetes VS. App Service: When the orchestrator challenges the platform
 
Net Pipeline on Windows Kubernetes
Net Pipeline on Windows KubernetesNet Pipeline on Windows Kubernetes
Net Pipeline on Windows Kubernetes
 
Kubernetes: від знайомства до використання у CI/CD
Kubernetes: від знайомства до використання у CI/CDKubernetes: від знайомства до використання у CI/CD
Kubernetes: від знайомства до використання у CI/CD
 
OpenStack Summit
OpenStack SummitOpenStack Summit
OpenStack Summit
 
Intro to Docker at the 2016 Evans Developer relations conference
Intro to Docker at the 2016 Evans Developer relations conferenceIntro to Docker at the 2016 Evans Developer relations conference
Intro to Docker at the 2016 Evans Developer relations conference
 

Más de Codefresh

Más de Codefresh (20)

Detect, debug, deploy with Codefresh and Lightstep
Detect, debug, deploy with Codefresh and LightstepDetect, debug, deploy with Codefresh and Lightstep
Detect, debug, deploy with Codefresh and Lightstep
 
CICD Pipelines for Microservices: Lessons from the Trenches
CICD Pipelines for Microservices: Lessons from the TrenchesCICD Pipelines for Microservices: Lessons from the Trenches
CICD Pipelines for Microservices: Lessons from the Trenches
 
Simplify Your Code with Helmfile
Simplify Your Code with HelmfileSimplify Your Code with Helmfile
Simplify Your Code with Helmfile
 
Making the Most of Helm 3 with Codefresh
Making the Most of Helm 3 with CodefreshMaking the Most of Helm 3 with Codefresh
Making the Most of Helm 3 with Codefresh
 
5 Simple Tips for Troubleshooting Your Kubernetes Pods
5 Simple Tips for Troubleshooting Your Kubernetes Pods5 Simple Tips for Troubleshooting Your Kubernetes Pods
5 Simple Tips for Troubleshooting Your Kubernetes Pods
 
Best Practices for Microservice CI/CD: Lessons from Expedia and Codefresh
Best Practices for Microservice CI/CD: Lessons from Expedia and CodefreshBest Practices for Microservice CI/CD: Lessons from Expedia and Codefresh
Best Practices for Microservice CI/CD: Lessons from Expedia and Codefresh
 
Hybrid CI/CD with Kubernetes & Codefresh
 Hybrid CI/CD with Kubernetes & Codefresh Hybrid CI/CD with Kubernetes & Codefresh
Hybrid CI/CD with Kubernetes & Codefresh
 
VM vs Docker-Based Pipelines
VM vs Docker-Based PipelinesVM vs Docker-Based Pipelines
VM vs Docker-Based Pipelines
 
Why You Should be Using Multi-stage Docker Builds in 2019
Why You Should be Using Multi-stage Docker Builds in 2019Why You Should be Using Multi-stage Docker Builds in 2019
Why You Should be Using Multi-stage Docker Builds in 2019
 
Deploy Secure Cloud-Native Apps Fast
Deploy Secure Cloud-Native Apps Fast Deploy Secure Cloud-Native Apps Fast
Deploy Secure Cloud-Native Apps Fast
 
CICD Pipelines for Microservices Best Practices
CICD Pipelines for Microservices Best Practices CICD Pipelines for Microservices Best Practices
CICD Pipelines for Microservices Best Practices
 
Codefresh CICD New Features Launch! May 2019
Codefresh CICD New Features Launch! May 2019Codefresh CICD New Features Launch! May 2019
Codefresh CICD New Features Launch! May 2019
 
Terraform GitOps on Codefresh
Terraform GitOps on CodefreshTerraform GitOps on Codefresh
Terraform GitOps on Codefresh
 
Adding Container Image Scanning to Your Codefresh Pipelines with Anchore
Adding Container Image Scanning to Your Codefresh Pipelines with AnchoreAdding Container Image Scanning to Your Codefresh Pipelines with Anchore
Adding Container Image Scanning to Your Codefresh Pipelines with Anchore
 
Image scanning using Clair
Image scanning using Clair Image scanning using Clair
Image scanning using Clair
 
Updating Kubernetes With Helm Charts: Build, Test, Deploy with Codefresh and...
 Updating Kubernetes With Helm Charts: Build, Test, Deploy with Codefresh and... Updating Kubernetes With Helm Charts: Build, Test, Deploy with Codefresh and...
Updating Kubernetes With Helm Charts: Build, Test, Deploy with Codefresh and...
 
Docker based-Pipelines with Codefresh
Docker based-Pipelines with CodefreshDocker based-Pipelines with Codefresh
Docker based-Pipelines with Codefresh
 
Automated Serverless Pipelines with #GitOps on Codefresh
Automated Serverless Pipelines with #GitOps on CodefreshAutomated Serverless Pipelines with #GitOps on Codefresh
Automated Serverless Pipelines with #GitOps on Codefresh
 
Discovering and Fixing Dependency Vulnerabilities for Kubernetes apps with Sn...
Discovering and Fixing Dependency Vulnerabilities for Kubernetes apps with Sn...Discovering and Fixing Dependency Vulnerabilities for Kubernetes apps with Sn...
Discovering and Fixing Dependency Vulnerabilities for Kubernetes apps with Sn...
 
Multi-cloud CI/CD with failover powered by K8s, Istio, Helm, and Codefresh
Multi-cloud CI/CD with failover powered by K8s, Istio, Helm, and Codefresh Multi-cloud CI/CD with failover powered by K8s, Istio, Helm, and Codefresh
Multi-cloud CI/CD with failover powered by K8s, Istio, Helm, and Codefresh
 

Último

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Último (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 

DevOps with Azure, Kubernetes, and Helm Webinar

  • 1. DevOps with Azure, Kubernetes, and Helm Jessica Deen ⎸Cloud DevOps Advocate ⎸Microsoft Dan Garfield ⎸Full Stack Engineer ⎸Codefresh
  • 2. • Linux, Open Source, Containers, IT/Ops • CrossFit • HUGE Disney and Star Wars fan • League of Extraordinary Cloud DevOps Advocates
  • 3.
  • 4.
  • 5. Adopting Kubernetes by cobbling together lots of tools and scripts is costly and time consuming ● Build servers ● Staging servers ● Build automation ● Webhooks ● Docker registry ● Kubectl ● Helm ● CI Tests ● Integration Tests ● UI Tests ● Performance Tests ● Security Scans ● Deployment tools ● Secrets management ● Configuration testing ● Traceability Dashboards Why Codefresh?
  • 6. Codefresh is a DevOps Platform Built for Kubernetes Kubernetes CI/CD Pipelines Self-Service Test Environments Docker & Helm Registry Release Management
  • 7. Codefresh pipelines have built-in steps for working with containers ● Deep integration w/ K8s and Helm ● Supports any language ● Complete DevOps platform Create an account at codefresh.io Start streamlining your engineering!
  • 9.
  • 10. 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
  • 11. 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
  • 13. Servers Services Cloud is a new way to think about a datacenter
  • 14.
  • 15. 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
  • 16. Plan 1 Monitor + Learn ReleaseDevelop + Test 2 Development Production 4 3
  • 18. What is a container? Containers = operating system virtualization Traditional virtual machines = hardware virtualization Windows Server containers: maximum speed and density Hyper-V containers: isolation plus performance OS Kernel Applications Container Container Container Hardware Hardware Container Container Container Hyper-V Container Kernel Container Kernel Container Kernel Hardware OS Application VM VM VM App OS App OS App OS
  • 19. What is a container? Not a real thing. An application delivery mechanism with process isolation based on several Linux kernel features. (what a process can see) (what a process can use)
  • 20. What is ? • An open source container runtime • Mac, Windows & Linux support • Command line tool • “Dockerfile” file format for building container images • The Docker image format with layered filesystem
  • 23. 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
  • 24. The container advantage Fast iteration Agile delivery Immutability Cost savings Elastic bursting Efficient deployment For ITFor developers
  • 25.
  • 26. The elements of orchestration Scheduling Affinity/anti- affinity Health monitoring Failover Scaling Networking Service discovery Coordinated app upgrades
  • 27. Kubernetes: the de-facto orchestrator Portable Public, private, hybrid, multi-cloud Extensible Modular, pluggable, hookable, composable Self-healing Auto-placement, auto-restart, auto-replication, auto-scaling
  • 28. Kubernetes: empowering you to do more Deploy your applications quickly and predictably Scale your applications on the fly Roll out new features seamlessly Limit hardware usage to required resources only
  • 29.
  • 37. Where can I get/run Kubernetes
  • 38.
  • 39.
  • 42. Managing an AKS cluster
  • 43.
  • 44.
  • 45. 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
  • 46. 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
  • 47. 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
  • 48.
  • 49. Architecture Key concepts: Helm, Tiller, Charts • Helm has two major components: • Helm client • Tiller server • Helm client is the CLI for end users • Written in Go, uses gRPC to interact with the server • Sends charts and values to Tiller for install, upgrade, etc.
  • 50. Architecture Tiller server • In-cluster server that interacts with the client and interfaces with the Kubernetes API server Chart • Collection of Kubernetes resources
  • 51.
  • 53.
  • 54. Get a Codefresh Demo! Schedule a 1:1 at Codefresh.io
  • 55. Connect with me! Email: jessica.deen@microsoft.com Twitter/GitHub/Instagram: @jldeen Blog: jessicadeen.com LoECDA Website: loecda.com

Notas del editor

  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. 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.
  5. People = Culture Fundamental attributes of successful cultures: Shared mission and incentives: infrastructure as code, apps as services, DevOps/all as teams You need to consider your hardware as a commodity, (don't give your servers names) , servers are like farm animals, it is just harder if you let theids name them Build deep instrumentation into services, push complexity up the stack Rally around agile, shared metrics, CI, service owners on call, etc. Changing the culture: any change takes time, changing culture is no exception and you can't do it alone, exploit compelling events to change culture: downtimes, cloud adoption, devops buzz PROCESS Definition and design, compliance, and continuous improvement PEOPLE Responsibilities, management, skills development, and discipline Products Tools and infrastructure
  6. 2014 Report collected in December 2013 had over 9,200 survey respondents across 110 countries with companies of ALL sizes and verticals. 2015 Report had 4,976 respondents with companies of ALL sizes and verticals.
  7. What is a container really? Operating system virtualization / process.
  8. Demo Notes Scenario: I've introduced a compliance violation to the image and will correct that compliance violation. I am going to setup a Codefresh CI pipeline and configure a quick unit test and use the build image to scan my built image. - Show adding repository - Add shared configuration - Convert UI -> YAML - Replace ${{BuildingDockerImage}} - Run build of master - Create new compliance-fix branch - Add twistlock user code to Docker image && \ adduser -u 1000 -S twistlock -G docker USER twistlock - Build locally - Test locally - Commit & Push - Wait for Codefresh build - Merge That completes my demo